Logic Programming


Logic is an important part of logic programming and the contributions of logicians have been very important for the development of logic programming.

There are a number of logicians whose research has had a large impact on logic programming, such as:

  • Gottlob FregeGottlob Frege, who worked on the standard formulation of first-order logic.
  • Alfred Tarski, who clarified the semantic difference between truth and proof in 1934.
  • Jacques Herbrand for clausal form logic.
  • John Alan Robinson whose discovery of resolution in 1963 meant that only one inference rule was required when using clausal form, which was a major step for automated theorem-proving.
  • Robert A. Kowalski formulates the crucial programming-language interpretation of clausal form logic in 1972.
  • Alain Colmerauer, Philippe Roussel and others at the University of Aix-Marseille implement the first Prolog system in 1973.
  • Keith L. Clark whose research linking negation and finite-failure in 1977 contributed to the support of default reasoning in Prolog.

As the development of logic programming languages such as Prolog have progressed, many non-logical primitives have been added to the language which are beneficial to programmers, however, the language's logical purity is affected.