Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Arnoldi, M., “Integration of the Grid File System in the Programming Language Prolog,” Diploma Thesis, Federal Institute of Technology, Zurich, Switzerland, August 1985.
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.
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.
Clocksin, W.F., and Mellish, C.S., Programming in Logic, 2nd ed., Springer- Verlag, Berlin, 1984, p. 250.
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.
Davis, R., “Diagnostic Reasoning Based on Structure and BehaviorD” Artificial Intelligence, Vol. 24, December 1984, pp. 347–410.
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.
Hammond, P., “Representation of DHSS Regulations as a Logic Program,” Technical Report 82/26, Department of Computing, Imperial College, London, 1983.
Hammond, P., and Sergot, M., “A Prolog Shell for Logic Based Expert Systems, ” Proc. 3rd BCS Expert System Conf., 1983, pp. 95 - 104.
ICOT, “Outline of Research and Development Plans for Fifth Generation Computer Systems,” Project Report, Institute for New Generation Computer Technology, Tokyo, May 1982.
Kowalski, R.A., “Predicate Logic as Programming Language,” Proc. IFIP 74, North-Holland, 1974, pp. 569–574.
Kowalski, R.A., “Algorithm = Logic + Control,” Commun. ACM, Vol. 22, No. 7, 1979, pp. 424-436.
Kowalski, R.A., “Logic Programming,” Proc. IFlP 83, R.E.A. Mason, ed., North-Holland, Amsterdam, 1983, pp. 133–145.
Lloyd, J.W., Foundations of Logic Programming, Springer-Verlag, Berlin, 1984.
Merry, M., “APEX3: An Expert System Shell for Fault Diagnosis,” The GEC Journal of Research, Vol. 1, No. 1, 1983, pp. 39–47.
Muller, C., “A Prolog Front End to the Grid File,” Diploma Thesis, Institute for Informatics, Federal Institute of Technology, Zurich, 1984.
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.
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.
Robinson, J.A., “A Machine-Oriented Logic Based on the Resolution Principle,”C J. ACM, Vol. 12, 1965, pp. 23-41.
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.
Roussel, P., “Prolog: Manuel de Reference et d’Utilization,” Groupe de Recherche en Intelligence Artificielle, Université d’Aîx-Marseille, 1975.
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.
Shapiro,E.Y., “A Subset of Concurrent Prolog and Its Interpreter,” I COT, Technical Report TR-003, Tokyo, 1983.
Sugaya, H., “Some Improvements to the Unification Algorithm of ETH-Prolog,” Technical Memo, Brown Boveri Research Center, 1985.
Sugaya, H., “Prolog-Modula-2 Interface,” Technical Memo, Brown Boveri Research Center, 1985.
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.
Wirth, N., “Modula-2,” Technical Report 36, Institute for Informatics, Federal Institute of Technology, Zurich, 1980.
Zadeh, L.A., “Fuzzy Sets,” Information and Control, Vol. 8, 1965, pp. 338–353.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1986 Plenum Press, New York
About this chapter
Cite this chapter
Kriz, J., Sugaya, H. (1986). Logic Programming. In: Güth, R. (eds) Computer Systems for Process Control. Springer, Boston, MA. https://doi.org/10.1007/978-1-4613-2237-5_14
Download citation
DOI: https://doi.org/10.1007/978-1-4613-2237-5_14
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4612-9311-8
Online ISBN: 978-1-4613-2237-5
eBook Packages: Springer Book Archive