Abstract
This is an introductory paper to the domain of logic programming and Prolog. The basic notions of logic programming are introduced through simple examples. Substantial part of the paper describes important features of Prolog language, which make this language especially attractive for application in certain domains. This practical aspect of Prolog is supported by quotations from recent big projects for real as they have been presented at the first international conference The Practical Applications of Prolog held in April 1992.
Preview
Unable to display preview. Download preview PDF.
Annotated bibliography
Ait-Kaci, H.; Warren's Abstract Machine, A Tutorial Reconstruction, The MIT Press, Cambridge, Massachusetts 1991
Allred, D. et al.; AGATHA: Applying Prolog to Test and Diagnosis of Printed Circuit Boards. In: [Moss (1992)]
Armstrong, J.L. et al.; Use of Prolog for Developing a New Programming Language. In: [Moss (1992)]
Böhringer, B., Ciopris, C., Futó, I.; Wissensbasierte Systeme mit Prolog, Addison Wesley, Bonn 1988
Bratko, I.; Prolog Programming for Artificiall Inteligence, Second edition, Addison Wesley, 1990
Clement, T.P., Lau, K.K. (eds.); Logic Program Synthesis and Transformation, Worshops in Computing, Manchester 1991, Springer Verlag 1992
Clark,K.J., Gregory,S.; Parlog: Parallel Programming in Logic, TR DOC 84/4, Dept. of Computing, Imperial College of Science and Technology, University of London 1984
Clocksin, W.F., Mellish, C.S.; Programming in Prolog, third revised and extended edition, Springer-Verlag, Berlin, Heidelberg 1987 Good elementary introduction to programming in Prolog. It describes the (de facto) standard of the Prolog language. The book has become a standard reference source. Recommendable both to the students of various branches and/or specialists in Computer Science.
Colmerauer, A.; Les grammaires de metamorphose, Groupe d'Intelligence Artificielle, Université de Marseille-Luminy 1975 (English translation in: Natural Language Communication with Computers, Bolc, L. (editor), Springer Verlag, Berlin 1978)
Coelho, H., Cotta, J.C.; Prolog by example, Springer-Verlag, Berlin, Heidelberg 1988. A collection of Programs from various application domains. The reader should be careful, there are many unpleasant misprints in the text of the programs.
Coulston, E. et al.; An Example of Maintainable Program design in Prolog: Weeds in Sugar Cane. In: [Moss (1992)]
Covington, M.A., Nute, D., Vellino, A.; Prolog Programming in Depth, Scott, Foresman & Company, 1988. A good survey of the Prolog language and of its applications including Artificial Intelligence and Natural language processing.
Dahl, V.; Logic Based Metagrammars for natural language analysis, Tech. Rep. Department Comp. Sci. Simon Fraser University, Burnaby, Canada 1985
Deville, Y.; Logic Programming. Systematic Program Development. Addison-Wesley 1990. A systematic methodology for logic program development is proposed, covering the entire development process: from an informal specification to an efficient logic program.
De Kleer, J., Brown, J.S.; A Qualitative Physics Based on Confluences, Artificial Intelligence 24 (1984), 7–83, 1984
Doyle, J.; A truth-maintenance system, Artificial Intelligence 12(1979), 231–272
Eder,J.; Logic and databases, in this volume
Furukawa, K.; Logic Programming as the Integrator of the Fifth Generation Computer Systems Project, Communications of the ACM, March 1992, vol35, No.3, pp. 82–92
Gallaire, H., Minker, J. (editors); Logic and Data Bases, Plenum Press New York and London 1977. This is a classical collection of papers concerning Logic, Knowledge Representation and Data Bases. It contains several highly cited classical papers in the field and it is a standard reference source.
Gallier, J.H.; Logic for Computer Science, Foundations of Automatic Theorem Proving, John Wiley & Sons 1987. A deep and wide survey of Logic for a Computer Science student and/or specialist.
Genesereth, M.R., Nilsson, N.J.; Logical Foundations of Artificial Intelligence, Morgan Kaufmann Publishers, 1987. A rather complete introduction to logical foundations of Artifical Intelligence with emphasis on declarative representation of knowledge. Good reading, sometimes a bit short in argumentation.
Gibbins, P.; Logic with Prolog. Clarendon Press 1988. Textbook of logic based on Prolog excercises.
Grant, J., Minker, J.; The Impact of Logic Programming on Databases. Communications of the ACM, March 1992, vol35, No.3, pp. 66–81
Hogger, C.J.; Introduction to Logic Programming, Academic Press, London 1984. A concise (rather informal) survey of Foundations of Logic Programming, programming techniques in Prolog and implementation. The book is more formal and precise than Kowalski (1979) but it contains less material.
Hogger, C.J.; Essentials of Logic Programming, Clarendon Press, Oxford 1990. The book is of great help for an introductory course of logic programming. Theoretical issues as semantics of definite programs, their transformations and completions, problems of negation are well covered. Many excercises are given to support the text.
Jackson, P., Reichgelt, H. and van Hermelen, F. (editors); Logic-Based Knowledge Representation, The MIT Press, Cambridge Massachusetts 1989. A collection of papers concerning Logic and its role in Knowledge Representation and Problem Solving.
Jaffar,J., Lassez,J.-L.; Constraint Logic Programming, in: ACM POPL Conference, Munich 1987
Jaffar,J., Lassez,J.-L.; From Unification to Constraints, GULP '89 Conference 1989
Jaffar,J., Michaylov, S. Methodology of Implementation of a CLP System, Proc. 4th Int. Conf. on Logic Programming 1987
Kim, S.H.; Knowledge Systems through Prolog. Oxford University Press 1991. The book is based on the experience of teaching an undergraduate course at MIT. It can well be used even for selfstudy.
Knoll, R., Zagenberg, H.; How do Prolog Products fit Company Needs. In: [Moss (1992)]
Kowalski, R.; Logic for Problem Solving, North Holland Publishing Co. New York 1979 A classic book written by one of the founders of the discipline of Logic Programming. It emphasizes applications of Logic to Problem Solving especially the fragment of so called Horn Logic.
Kreutzer, W., McKenzie, B.; Programming for AI (Methods, Tools and Applications), Addison-Wesley 1991 LISP, PROLOG and SMALLTALK are introduced and compared. Their use is illustrated by a collection of actual cases.
Kriwaczek,F.; An introduction to Constraint Logic Programming, in this volume
Lažanský, J.; Practical Applications of Planning Tasks, in this volume.
Lazarev, G.I.; Why Prolog? Justifying Logic Programming for Practical Applications, Prentice Hall, Englewood Cliffs, New Jersey 1989 A short introduction to programming in Prolog with emphasis on declarative programming in software engineering.
Lloyd, J.W.; Foundations of Logic Programming, Springer-Verlag Berlin, Heidelberg (second edition) 1987 A concise and extensive survey of logical foundations of Logic Programming and Prolog. It is a standard reference source.
Lloyd,J.W.; Logic as a Foundation for Deductive Database Systems, Information Processing 89, Ritter, G.X. (editor), North Holland, pp. 323–324, 1989
Maier, D., Warren, D.S.; Computing with Logic, Benjamin Publishing Co. 1988 A well organized survey of Logic Programming with the emphasis on efficient implementation of languages of Logic Programming.
Malpas, J.; Prolog: A Relational Language and its applications, Prentice Hall, Englewood Cliffs, New Jersey 1987 A rather concise introduction to Prolog
Matsumoto, Y., Sugimura, R. A Parsing System Based on Logic Programming, in: IJCAI'87, pp. 671–674, 1987
McClay, W. J.; A Query Server for Diverse Sources of Data and Knowledge. In: [Moss (1992)]
Mc Cord, M.C., Modular Logic Grammars, Proc. 23rdAnn. Meeting of the Association of Comp. Ling. Chicago, pp. 104–117,1985
McCabe, F.G.; Logic and Objects, Prentice Hall International, Englewood Cliffs, New Jersey 1992
Menzies, T. et al.; An Expert System for Raising Pigs. In: [Moss (1992)]
Mizoguchi, F.(ed.); Prolog and its Applications. A Japanese Perspective. Chapman and Hall Computing (1991) Special attention is devoted to natural language processing and editing in Prolog. Cooperation with relational databases is considered.
Moore, R.C.; Semantical consideration on non-monotonic logic, Artificial Intelligence 28(1985), 75–94,1985
Moss, Ch., Bowen, K. (eds); The Proceedings of the First International Conference & Exhibition The Practical Application of PROLOG, 1st–3rd April 1992, London, Association for Logic Programming
Muggleton, S.; Inductive Logic Programming, New Generation Computing 8(1991), 295–318
Neumann, G.; Meta-Programming and Prolog, Addison-Wesley Publishing Company 1988 Tlie first book to describe the Meta-Programming techniques in Prolog. It includes many examples of Meta-interpreters of Prolog for various purposes
Newmarch, J.D.; Logic Programming: Prolog and Stream Parallel Languages. Prentice Hall of Australia 1990 Parallelism in logic programming, namely commited choice non-determinic approach.
Nilsson, U., Maluszynski, J.; Logic, Programming and Prolog. Wiley 1990 Theory of logic programming and declarative style. Special attention is given to recently considered extensions of LP as concurrent systems, equality handling and constraint solving. The book includes lot of excercises.
O'Keefe, R.; The Craft of Prolog, The MIT Press, Cambridge Massachusetts 1990 This is an exposition of the Prolog language for a second reading. It shows how to present both well readable and efficient Prolog programs following the statement “Elegance is not optional”.
Pereira, P.N.C., Shieber, S.M.; Prolog and Natural-Language Analysis, CSLI Lecture Notes 10, Center for the Study of Language and Information, Stanford Menlo Park, Palo Alto 1988 The book contains a compact, competent and well-readable introduction to Prolog. It includes examples and applications to Computational Linguistics.
Pfenning, F. (ed.); Types in Logic Programming, The MIT Press, Cambridge, Massachusetts 1992 Collection of original research papers on types in logic programming. It covers all of the major regular tree types, polymorphic types, subtypes and dependent types.
Reiter, R.; A logic for default reasoning, Artificial Intelligence 13(1980), 81–132,1980
Robinson, A. J.; Logic and Logic Programming. Communications of the ACM, March 1992, vol35, No.3, pp. 40–65
Rowe N.C.; Artificial Intelligence Through Prolog, Prentice Hall International, Englewood Cliffs, New Jersey 1988 Integrated presentation of most major topics in Artificial Intelligence (AI) with an emphasis on Logic Programming. The book includes in-depth discussion of Rule-based Systems, Implementation and Abstraction of Searchand Debugging of AI Programs.
Sanamrad, M.A., Bretan, I.; IBM SAA LanguageAccess: A large-Scale Commercial Product Implemented in Prolog. In: [Moss (1992)].
Shapiro, E.Y.; Algorithmic Program Debugging, The MIT Press, Cambridge, Massachusetts 1983 A pioneering work in the domaine of declarative program debugging. It presents now classical algorithms for debugging declarative programs and for automated correction.
Shapiro, E.Y.; Concurrent Prolog, The MIT Press, Cambridge, Massachusetts 1987
Štěpánková,O.; An Introduction to Qualitative Reasoning, in this volume
Stering, L., Shapiro, E.Y.; The Art of Prolog, The MIT Press, Cambridge, Mass. 1986 It is one of the best texts on Prolog programming. The book describes the programming techniques and their applications. Interesting examples of programs are included with a very limited number of misprints.
Stering, L. (ed.); The Practice of Prolog, The MIT Press, Cambridge Massachusetts 1990 The names of chapters: 1. Prototyping data-bases in Prolog,2. A Prolog bases VLSI editor, 3. Assisting register transfer level hardware design, 4. Developing a portable parallelizing pascal compiler in Prolog 5. A Prolog partial evaluation system, 6. Generating natural language explanation from plans, 7. A simple learning program, 8. Data analysis.
Tick, E.; Parallel Logic Programming, The MIT Press, Cambridge Massachusetts 1991 The book is unique in presenting symbolic parallel programming hand-in-hand with performance analysis of real empirical measurements. It provides the reader with tools for implementing and critically evaluating larger projects.
Thayse, A. (editor); From Standard Logic to Logic Programming, John Wiley & Sons 1988 A well-balanced and extensive survey of Logic and Logic Programming with applications to Artifical Intelligence.
Tokunada, T. Iwayama, M., Kawasaki,T.; LangLAB: A Natural Language Analysis System, Proc. Conf. COLING'88, Budapest pp. 655–661 1988
Ueda,K.; Guarded Horn Clauses, ICOT Tech. Rep. CS-103 1985
van Emden, M.H., Kowalski, R.A.; The Semantics of Predicate Logic as a Programming Language, Journal ACM 23 (1976), pp. 733–742.
van Hentenryck, P.; Constraint satisfaction in Logic Programming, The MIT Press, Cambridge Massachusetts 1989
Warren, D.S.; Momoing for Logic Programs. Communications of the ACM, March 1992, vol 35, No.3, pp. 93–110
Wood, M. et al.; XLSIOR: An Intelligent System for Reinsurance Recoveries Calculation. In: [Moss (1992)]
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Štěpánková, O., Štěpánek, P. (1992). Prolog: A step towards the future of programming. In: Mřrík, V., Štěpánková, O., Trappl, R. (eds) Advanced Topics in Artificial Intelligence. Lecture Notes in Computer Science, vol 617. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55681-8_30
Download citation
DOI: https://doi.org/10.1007/3-540-55681-8_30
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55681-7
Online ISBN: 978-3-540-47271-1
eBook Packages: Springer Book Archive