Logic Programming

  • J. Kriz
  • H. Sugaya


Logic programming is based on formal mathematical concepts of first order predicate logic. A logic program is a static description of the problem in the form of normalized logic statements (Horn clauses). The execution of a logic program relies on automated theorem proving. In contrast to conventional procedural languages, in which the sequence of computation is specified explicitly by control structures, in logic programs information is provided only about “what” is to be solved, not “how” it is to be solved. Hence, logic programs represent executable specifications and are well suited for fast prototyping.

The concepts of logic programming have not yet been fully realized, because of the large requirements on memory and execution time of conventional computers. The programming language Prolog is based on logic programming, but employs various additional logical features in order to be a practical programming language. Recent advances in compilation and hardware design are continuously improving the feasibility of logic-based programming languages for industrial applications.

At the BBC Research Center, the system Modula--Prolog is being used for fast prototyping and knowledge engineering. Modula--Prolog permits the arbitrary combination of Modula-2 and Prolog programs and hence utilizes the advantages of both procedural and logic programming. Modula--Prolog has been applied to the development of knowledge-based expert systems for the configuration and diagnosis of technical systems.


Logic Program Logic Programming Conveyor Belt Analog Circuit Horn Clause 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arnoldi, M., “Integration of the Grid File System in the Programming Language Prolog,” Diploma Thesis, Federal Institute of Technology, Zurich, Switzerland, August 1985.Google Scholar
  2. 2.
    Biagioni, E.S., Hinrichs, K., Muller, C., and Nievergelt, J., “Interactive Deductive Data Management - the Smart Data Integration Package,” Proc. Gl- Kongress 1985, Wissensbasierte Systeme, Munich, October 1985, Informatik Fachberichte, Vol. 112, W. Brauer and B. Rudig, eds., Springer-Verlag, Berlin, 1985, pp. 208–220.Google Scholar
  3. 3.
    Boyer, R.S., and Moore, J.S., “The Sharing of Structure in Theorem-Proving Programs,” in Machine Intelligence, Vol. 7, B. Meitzer and D. Michie, eds., Edinburgh Univ. Press, 1972, pp. 101–116.Google Scholar
  4. 4.
    Clocksin, W.F., and Mellish, C.S., Programming in Logic, 2nd ed., Springer- Verlag, Berlin, 1984, p. 250.Google Scholar
  5. 5.
    Colmerauer, A., Kanoui, H., Roussel, P., and Pasero, R., “Un Systeme de Communication Homme-Machine en Français,” Groupe de Recherche en Intelligence Artificielle, Université d’Aix-Marseille, 1973.Google Scholar
  6. 6.
    Davis, R., “Diagnostic Reasoning Based on Structure and BehaviorD” Artificial Intelligence, Vol. 24, December 1984, pp. 347–410.CrossRefGoogle Scholar
  7. 7.
    Davis, R., Shrobe, H., Hamscher, W., Wieckert, K., Shirley, M., and Polit, S., “Diagnosis Based on Description of Structure and Function,” Proc. National Conf. on Artificial Intelligence, AAAI-82, 1982, pp. 137–142.Google Scholar
  8. 8.
    Hammond, P., “Representation of DHSS Regulations as a Logic Program,” Technical Report 82/26, Department of Computing, Imperial College, London, 1983.Google Scholar
  9. 9.
    Hammond, P., and Sergot, M., “A Prolog Shell for Logic Based Expert Systems, ” Proc. 3rd BCS Expert System Conf., 1983, pp. 95 - 104.Google Scholar
  10. 10.
    ICOT, “Outline of Research and Development Plans for Fifth Generation Computer Systems,” Project Report, Institute for New Generation Computer Technology, Tokyo, May 1982.Google Scholar
  11. 11.
    Kowalski, R.A., “Predicate Logic as Programming Language,” Proc. IFIP 74, North-Holland, 1974, pp. 569–574.Google Scholar
  12. 12.
    Kowalski, R.A., “Algorithm = Logic + Control,” Commun. ACM, Vol. 22, No. 7, 1979, pp. 424-436.Google Scholar
  13. 13.
    Kowalski, R.A., “Logic Programming,” Proc. IFlP 83, R.E.A. Mason, ed., North-Holland, Amsterdam, 1983, pp. 133–145.Google Scholar
  14. 14.
    Lloyd, J.W., Foundations of Logic Programming, Springer-Verlag, Berlin, 1984.MATHGoogle Scholar
  15. 15.
    Merry, M., “APEX3: An Expert System Shell for Fault Diagnosis,” The GEC Journal of Research, Vol. 1, No. 1, 1983, pp. 39–47.Google Scholar
  16. 16.
    Muller, C., “A Prolog Front End to the Grid File,” Diploma Thesis, Institute for Informatics, Federal Institute of Technology, Zurich, 1984.Google Scholar
  17. 17.
    Muller, C., “Modula-Prolog User Manual,” Report Brown Boveri Research Center, KLR 85-107 C. Also: Report 63, Institute for Informatics, Federal Institute of Technology, Zurich, 1985.Google Scholar
  18. 18.
    Nievergelt, J., Hinterberger, H., and Sevcik, K.C., “The Grid File: An Adaptable, Symmetric Multi-Key File Structure,”QC Technical Report 46, Institute for Informatics, Federal Institute of Technology, Zurich, 1981. Also: ACM Trans. Database Syst., Vol. 9, No. 1, 1984, pp. 38–71.Google Scholar
  19. 19.
    Robinson, J.A., “A Machine-Oriented Logic Based on the Resolution Principle,”C J. ACM, Vol. 12, 1965, pp. 23-41.MATHCrossRefGoogle Scholar
  20. 20.
    Robinson, J.A., “Computational Logic: The Unification Computation,”C in Machine Intelligence, Vol. 6, B. Meitzer and D. Michie, eds., Edinburgh Univ. Press, 1971, pp. 63–72.Google Scholar
  21. 21.
    Roussel, P., “Prolog: Manuel de Reference et d’Utilization,” Groupe de Recherche en Intelligence Artificielle, Université d’Aîx-Marseille, 1975.Google Scholar
  22. 22.
    Sergot, M., “A Query-the-User Facility for Logic Programming,” in integrated Interactive Computing Systems, P. Degano and E. Sandewall, eds., North-Holland, Amsterdam, 1983, pp. 27–41.Google Scholar
  23. 23.
    Shapiro,E.Y., “A Subset of Concurrent Prolog and Its Interpreter,” I COT, Technical Report TR-003, Tokyo, 1983.Google Scholar
  24. 24.
    Sugaya, H., “Some Improvements to the Unification Algorithm of ETH-Prolog,” Technical Memo, Brown Boveri Research Center, 1985.Google Scholar
  25. 25.
    Sugaya, H., “Prolog-Modula-2 Interface,” Technical Memo, Brown Boveri Research Center, 1985.Google Scholar
  26. 26.
    Takei, K., Chikayama, T., and Takagi, S., “ESP - Extended Self-Contained Prolog - An Object Oriented Logic Programming Language,” Technical Memo, TM-0075, Institute for New Generation Computing Technology, Tokyo, 1984.Google Scholar
  27. 27.
    Wirth, N., “Modula-2,” Technical Report 36, Institute for Informatics, Federal Institute of Technology, Zurich, 1980.Google Scholar
  28. 28.
    Zadeh, L.A., “Fuzzy Sets,” Information and Control, Vol. 8, 1965, pp. 338–353.MathSciNetMATHCrossRefGoogle Scholar

Copyright information

© Plenum Press, New York 1986

Authors and Affiliations

  • J. Kriz
    • 1
  • H. Sugaya
    • 1
  1. 1.Brown BoveriBadenSwitzerland

Personalised recommendations