Structural Unification of the Logic Objects

  IJCTT-book-cover
 
         
 
© 2021 by IJCTT Journal
Volume-69 Issue-10
Year of Publication : 2021
Authors : Macaire Ngomo
DOI :  10.14445/22312803/IJCTT-V69I10P102

How to Cite?

Macaire Ngomo, "Structural Unification of the Logic Objects," International Journal of Computer Trends and Technology, vol. 69, no. 10, pp. 12-22, 2021. Crossref, https://doi.org/10.14445/22312803/IJCTT-V69I10P102

Abstract
This paper is devoted to the structural unification of Logic Objects. The basic idea of the OO-Prolog language is the definition of a model in which objects are constructed by unification and undone by backtracking. In OO- Prolog, the resolution is based on a logical deduction of all consequences of the knowledge base via unification. In contrast, Prolog's unification mechanism is limited to syntactic processing and cannot consider the OO-Prolog language's objects. For the object layer of OO-Prolog to react homogeneously with the rest of the Prolog language, it is necessary to have a unification mechanism that considers Logic Objects. In this study, we propose building a unification scheme that considers the semantics of objects. This provides the user with a tool for comparing objects (from a structural point of view) and sharing data between objects. The algorithm we propose is limited to the case where the two objects to be unified belong to the same class. However, extensions of the algorithm to more general cases are proposed.

Keywords
Logic programming, Prolog, OO-Prolog, object programming, logic objects, unification, structural unification of logic objects.

Reference

[1] [Ait Kaci 91] Ait Kaci H., Warren’s abstract machine: a tutorial reconstruction, MIT Press, 1991.
[2] [Battani 73] G. Battani and H. Meloni, Interpreteur du langage de programmation Prolog, Groupe d'Intelligence Artificielle, Université d'Aix-Marseille, (1973).
[3] [Boizumault 88] Boizumault, P. Prolog l'implantation, Masson (1988), 303.
[4] [Bratko01] Ivan Bratko: Prolog Programming for the Artificial Intelligence. 3rd Ed., Addison-Wesley, Harlow (UK), (2001).
[5] [Cervoni 94] L. Cervoni “Méthodologies et Techniques de résolution de Problèmes avec Contraintes. Application en Programmation Logique avec Objets : CooXi.Thèse de Doctorat Nouveau Régime, Université de Rouen, juillet (1994).
[6] [Clocksin-03] William F. Clocksin, Christopher S. Mellish : Programming in Prolog. 5th Ed., Springer-Verlag, Berlin, (2003).
[7] [Cohen 88] Cohen J., A View of the Origins and Development of Prolog, Communications of the ACM, 31(1) (1988) 26-36.
[8] [Colmerauer 71] Colmerauer Alain, Fernand Didier, Robert Pasero, Philippe Roussel, Jean Trudel, Répondre à, publication interne, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, mai 1971. Cette publication consiste en un listing avec des commentaires à la main.
[9] [Colmerauer 72] Colmerauer Alain, Henry Kanoui, Robert Pasero et Philippe Roussel, Un système de communication en français, rapport préliminaire de fin de contrat IRIA, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, octobre (1972).
[10] [Colmerauer 73] A. Colmerauer, P. Roussel and R. Pasero, Un système de communication Homme-Machine en Français, Groupe d'Intelligence Artificielle, Univ. d'Aix-Marseille, (1973).
[11] [Colmerauer75] Colmerauer Alain, Les grammaires de métamorphose GIA, publication interne, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, novembre 1975. Version anglaise, Metamorphosisgrammars, Natural Language Communication with Computers, Lectures Notes in Computer Science 63, édité par L. Bolc, Springer Verlag, Berlin Heidelberg, New York, pages 133 à 189, 1978, ISBN 3-540-08911-X.
[12] [Colmerauer 82] A. Colmerauer Prolog II : Manuel de Référence et Modèle Théorique, Groupe d'Intelligence Artificielle, Université d'Aix-Marseille, France, (1982).
[13] [Colmerauer 89] A. Colmerauer. Une introduction à Prolog III. Journée de Synthèse AFECT, Etat de 1' Art et Perspectives en Programmation Language, INRIA, (1989) 129-155.
[14] [Colmerauer 92] Alain Colmerauer et Philippe Roussel: La naissance de Prolog, juillet (1992).
[15] [Colmerauer 93] A. Colmerauer, The Birth of Prolog. In The Second ACM-SIGPLAN History of Programming Languages Conference pages 37-52. ACM SIGPLAN Notices, March (1993).
[16] [Davis 60] Martin Davis and Hilary Putnam, A Computing Procedure for Quantification Theory, Journal of the ACM, 7(3) (1960) 201–215 (DOI 10.1145/321033.321034).
[17] [Debarbieri89] Christian Debarbieri. Mise au point en Prolog, Une vérification de la résolution. Congrès AFCET-RFIA'89, Paris 1989.
[18] [Debarbieri90] Christian Debarbieri: Étude et Réalisation d'un Système d'Aide à la Mise au Point en Programmation Logique. Thèse de doctorat de l’Université de Saint-Étienne et de l’École nationale supérieure des mines de Saint-Étienne, France, (1990).
[19] [Delahaye 86] J.P. Delahaye. Outils logiques pour l'intelligence artificielle. Editions Eyrolles. (1986).
[20] [Delahaye 88] J.-P. Delahaye, Outils logiques pour l'intelligence artificielle, Eyrolles, (1988).
[21] [Delobel 91] Claude Delobel, Michael Kifer, et al..Deductive and Object-oriented Databases: Proceedings of The Second International Conference, Dood'91, Munich, Germany, December 16-18, (1991).
[22] [Deransart 85] P. Deransart, G.Richard, C. Moss. Spécifications formelles de Prolog Standard. Programmation Logique, actes du séminaire (1985), CNET.
[23] [Deransart 86] P. Deransart, "Quelques idées pour une spéfication de la sémantique de Prolog". Rapport de Recherche INRIA n° xx, Février (1986).
[24] [Deransart 87] Pierre Deransart& Gérard Ferrand, An OperationalFormalDefinition of Prolog, Rapport de Recherche INRIA-Roquencourtn° 763, Décembre (1987).
[25] [Deransart89a] Pierre Deransart& Gérard Ferrand. A methodological view of logic programming with negation. Rapport de Recherche No 1011, INRIA-Roquencourt, Avril1989.
[26] [Deransart 89b] Pierre Deransart& Gérard Ferrand. Proofs Methods and Declarative Diagnosis in Logic Programming. ICLP'89, June 19- 23 Lisbonne.
[27] [Deransart 91] P. Deransart, Ferrand G., A Formal Operational Definition of Prolog: A Specification Method and Its Application, Rapport de recherche INRIA, revised manuscript, (1991).
[28] [Deransart 92] P. Deransart, G. Ferrand, A Formal Operational Definition of Prolog: A Specification Method and its Application, New Generation Computing, 10 (1992) 121-171.
[29] [Deransart 96] Deransart, Pierre, Ed-Dbali, AbdelAli, Cervoni, Laurent, Prolog: The Standard: Reference Manual, Springer Verlag, Avril (1996), ISBN: 3-540-59304-7.
[30] [Ferrand 92] G. Ferrand, P. Deransart, Prolog method of partial correctness and weak completeness for normal logic programs, MIT Press, JICSLP'92, Washington, Nov. 9-13 1992.
[31] [Geyres 89] Stéphane Geyres. Une approche industrielle de la validation et de la vérification des systèmes à base de connaissances. Génie Logiciel et Système Expert, n 16. Ed EC2, septembre (1989).
[32] [Gilmore 60a] P. C. Gilmore. A proof method for quantification theory: Its justification and realization. IBM Journal of research and development, 4(1960) 28–35.
[33] [Gilmore 60b] P. C. Gilmore. A program for the production from axioms of proofs for theorems derivable within the first-order predicate calculus. English, with English, French, German, Russian, and Spanish summaries. Information processing, Proceedings of the International Conference on Information Processing, Unesco, Paris 15–20 June 1959, Unesco, Paris, R. Oldenbourg, Munich, Butterworths, London, (1960) 265–273.
[34] [Green 69] C. Green. Theorem-proving by resolution as a basis for questions-answering systems. In B. Meltzer and D. Michie, editors, Machine Intelligence 4, pages 183-205, Edinburgh University Press, Edinburgh, (1969).
[35] [Haton 91] Haton, P. Le Raisonnement en Intelligence Artificielle. InterEditions, (1990).
[36] [Hayes 73] P. J. Computation and Deduction, Proc. MFCS Conf., Czechoslovak Academy of Sciences, (1973) 105-118.
[37] [Herbrand31] J. Herbrand. Sur le problème fondamental de la logique mathématique. Comptes rendues des séances de la société des sciences et des lettres de varsovie. Cl III, 24 (1931).
[38] [Herbrand 67] J. Herbrand, Investigations in Proof Theory, in From Frege to Gödel : A Source Book in Mathematical Logic, 1879-1931, van Heijenoort, J. (ed.), Harvard University Press, Cambridge, Mass. (1967) 525-581.
[39] [Hewitt. 69] Carl Hewitt. PLANNER: A Language for Proving Theorems in Robots. IJCAI 1969: 295-302
[40] [Hewitt. 70] Carl Hewitt. PLANNER: A Language for Manipulating Models and Proving Theorems in a Robot, Massachusetts Institute of Technology, Project MAC, Artificial Intelligence, Memo No 168, 1970-08-01.
[41] [Hewitt. 72] Carl Hewitt. Description and Theoretical Analysis (Using Schemata) of Planner, A Language for Proving Theorems and Manipulating Models in a Robot AI Memo No. 251, MIT Project MAC, (1972).
[42] [Hewitt. 09] Carl Hewitt. Middle History of Logic Programming: Resolution, Planner, Prolog and the Japanese Fifth Generation Project ArXiv 2009.
[43] [Huet 86] G. Huet, Deduction and Computation, Rapport de Recherche INRIA, N° 513, Avril (1986).
[44] [ISO 93] ISO (1993). Draft Standard for the Programming Language Prolog, ISO/IEC CD 13211-1: 1993 (E).
[45] [Jaffar 88] J. Jaffar and J.-L. Lassez. From unification to constraints. In K. Furukawa, H. Tanaka, and T. Fujisaki, editors, Logic Programming '87: Proc. 6th Conf., Tokyo, Japan, (1987). Springer-Verlag, Berlin, 1988. (LNCS, 315).
[46] [Kahn 81] K. M. Kahn. UNIFORM: a language-based upon unification which unifies (much of) LISP, PROLOG, and ACT 1. In IJCAI'81, (1981) 933-939.
[47] [Kanoui, 1973] Kanoui Henry, Application de la démonstration automatique aux manipulations algébriques et à l'intégration formelle sur ordinateur, thèse de 3ème cycle, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, octobre (1973).
[48] [Kornfeld 83] Kornfeld W. A., Equality for Prolog, Proc. of IJCAI'83, (1983) 514-519.
[49] [Kowalski 70] Kowalski, R. A. Kowalski and D. Kuchener, Resolution with selection function, Artificial Intelligence, 2 (3) (1970) 227-260.
[50] [Kowalski 71] Kowalski Robert A. et D. Kuehner, Linear resolution with selection function, memo 78, University of Edinburgh, School of Artificial Intelligence, 1971. Aussidans Artificial Intelligence 2, 3, pages 227 à 260.
[51] [Kowalski 74a] Kowalski, R. Predicate Logic as a Programming Language, Information Processing 74, Stockholm, North-Holland, 1974, 1974, 569-574.
[52] [Kowalski 74b] Kowalski Robert A. and Maarten van Emden, The semantic of predicate logic as the programming language, memo 78, University of Edinburgh, School of Artificial Intelligence, 1974. Aussi dans JACM 22, 1976, pages 733 à 742. (sémantique moderne par point fixe de la programmation avec clauses de Horn)
[53] [Kowalski 79a] Kowalski, R. Algorithm = Logic + Control, Comm. ACM 22, 7 (1979), 424-436.
[54] [Kowalski 79b] Kowalski, R. Logic for problem solving. NorthHolland, Amsterdam, (1979).
[55] [Kowalski 88] Kowalski Robert A., The early history of logic programming, CACM, 31(1) (1988) 38-43.
[56] [Lloyd 88] [Lloyd 87] John W. Lloyd: Foundations of Logic Programming, 2nd Edition. Springer (1987), ISBN 3-540-18199-7.
[57] [Lloyd 88] John W. Lloyd: Directions for Meta-Programming. FGCS (1988) 609-617.
[58] [Malenfant 90] Malenfant, J. Conception et Implantation d'un langage de programmation intégrant trois paradigmes: la programmation logique, la programmation par objets et la programmation répartie. Thèse de PhD, Univ. de Montréal, Mars (1990).
[59] [McCabe 92] F. G. McCabe. Logic & Objects. International Series in Computer Science. Prentice-Hall, (1992).
[60] [Meseguer 91] J. Meseguer. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 96(1):73 155, 1992. Also Technical Report SRI CSL 91 05, SRI International, Feb. 1991.
[61] [Meseguer 92] J. Meseguer. Multiparadigm logic programming. In Third Intl. Conf. on Algebraic and Logic Programming, pages 158 200, Volterra, Italy, Sept. (1992).
[62] [Meseguer 93] J. Meseguer and X. Qian. A logicd semantics for object-oriented databases. In A CM SIGMOD Conference on Management of Data, (1993) 89 98, New Yok}, ACM.
[63] [Ngomo 94a] Ngomo M. & Pécuchet J-P. Contribution à l’étude de l’association des paradigmes de programmation logique et programmation par objets. Poster RJC-IA’94, (1994) 314 Marseille, France.
[64] [Ngomo 94b] Ngomo M. & Pécuchet J-P. Contribution à l’étude de l’association des paradigmes de programmation logique et programmation par objets. Actes du 2ème Colloque Africain sur la Recherche en Informatique, CARI’94, (1994) 879-893, Ouagadougou, Burkina Faso.
[65] [Ngomo 95a] Ngomo M. , Pécuchet J-P. & Drissi-Talbi A. Une approche déclarative et non-déterministe de la programmation logique par objets mutables. Actes des 4èmes Journées Francophones de Programmation Logique et Journées d’étude Programmation par contraintes et applications industrielles, Prototype JFPLC'95, (1995) 391-396.
[66] [Ngomo 95c] Ngomo M., Pécuchet J-P., Drissi-Talbi A. Intégration des paradigmes de programmation logique et de programmation par objets : une approche déclarative et non-déterministe. Actes du 2ème Congrès bienal de l’Association Française des Sciences et Technologies de l’Information et des Systèmes, AFCET - Technologie Objet – 95, (1995) 85-94, France.
[67] [Ngomo 96] Ngomo M. Intégration de la programmation logique et de la programmation par objets : étude, conception et implantation. Thèse de Doctorat d’Informatique, Université de Rouen - INSA de Rouen, Décembre (1996).
[68] [O'Keefe-90] Richard A. O'Keefe: The Craft of Prolog. The MIT Press, Cambridge (MA), (1990).
[69] [Pasero 73] PaseroRobert , Représentation du français en logique du premier ordre en vue de dialoguer avec un ordinateur, thèse de 3ème cycle, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, mai (1973).
[70] [Prawitz 60] Dag Prawitz, An improved proof procedure., First published: August 26(2) (1960) 102-139. https://doi.org/10.1111/j.1755-2567.1960.tb00558.
[71] [Robinson 65] Robinson, J.A. A Machine-Oriented Logic Based On the Resolution Principle. J. ACM 12, 1, (1965) 23-41. (sur le principe de résolution).
[72] [Robinson 80a] J.A. Robinson, E.E. Sibert, Loglisp an alternative to Prolog, Research Report 80-7, University of Syracuse, (1980).
[73] [Robinson 80b] J.A. Robinson, E.E. Sibert, Logic Programming in Lisp, Research Report 80-8, University of Syracuse, (1980).
[74] [Roussel 72] Roussel Philippe, Définition et traitement de l'égalité formelle en démonstration automatique, thèse de 3ième cycle, Groupe Intelligence Artificielle, Faculté des SciencesdeLuminy, Université Aix-Marseille II, France, mai (1972).
[75] [Roussel 75] Prolog, manuel de référence et d'utilisation, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, septembre (1975).
[76] [Savory 06] Jacques Savoy : Introduction à la programmation logique (Prolog), (2006).
[77] [Sethi 96] Ravi Sethi : Programming Languages : Concepts & Constructs. Addison-Wesley, Reading (MA), 1996. (G6-1554).
[78] [Shapiro 86] L. Sterling andE. Shapiro. The Art of Prolog. Advanced programming techniques. The MIT Press, Cambridge, Massachusetts, (1986).
[79] [Sterling 84] L. Sterling. Expert System= Knowledge + MetaInterpreters. Technical Report No CS84-17. Weizmann institute of Science, 7 6100 Rehovot, Israel.
[80] [Sterling 86a] Leon Sterling. Incremental Flavor-mixing of Metainterpreters for Expert system construction. Proceedings of Symposium on logic programming, Salk lake city, Utah, 20-27, 1986.
[81] [Sterling 86b] Leon Sterling, Ehud Shapiro: The Art of Prolog: Advanced Programming Techniques. The MIT Press, Cambridge (MA), (1986). (G6-139).
[82] [Sterling 87] L. Sterling & A. Lakhotia. Composing Prolog Metainterpreters. Case Western Reserve University, Cleveland Ohio 44106 USA. (1987).
[83] [Sterling 90] Sterling, L. et Shapiro, E. L'Art de Prolog. MASSON (1990).
[84] [Thaye 88] Thaye, A. &co. Approches Logiques de l'Intelligence Artificielle: de la logique classique à la programmation logique. Dunod Informatique, (1988).
[85] [Thaye 89] Thaye, A. &co. Approches Logiques de l'Intelligence Artificielle: de la logique modale à la logique des bases de données. DunodInformatique, (1989).
[86] [Ueda 85] Ueda, K. Guarded Horn Clauses, Actes Logic Programming'85 LNCS 221 (1985) 168 179.
[87] [Ueda 86] K. Ueda, Guarded Horn Clauses, Ph.D. Thesis, University of Tokyo, (1986).
[88] [Warren 77a] D.R. Warren. Implementing Prolog: compiling predicates logic programs. D.A.I research port n 39/40, university of Edinbough, (1977).
[89] [Warren 77b] Warren David H. D., Luis M. Pereira et Fernando Pereira, Prolog the language and its implementation, Proceedings of the ACM, Symposium on Artificial Intelligence and Programming Languages, Rochester, N.Y., aout (1977).
[90] [Warren 83] D.R. Warren. An abstract Prolog instruction set. Technical note 309, SRI international, Menlo Park, (Octobre 1983), 30.