Uniform Proofs as a Foundation for Logic Programming

Abstract Miller, D., G. Nadathur, F. Pfenning and A. Scedrov, Uniform proofs as a foundation for logic programming, Annals of Pure and Applied Logic 51 (1991) 125–157. A proof-theoretic characterization of logical languages that form suitable bases for Prolog-like programming languages is provided. This characterization is based on the principle that the declarative meaning of a logic program, provided by provability in a logical system, should coincide with its operational meaning, provided by interpreting logical connectives as simple and fixed search instructions. The operational semantics is formalized by the identification of a class of cut-free sequent proofs called uniform proofs. A uniform proof is one that can be found by a goal-directed search that respects the interpretation of the logical connectives as search instructions. The concept of a uniform proof is used to define the notion of an abstract logic programming language, and it is shown that first-order and higher-order Horn clauses with classical provability are examples of such a language. Horn clauses are then generalized to hereditary Harrop formulas and it is shown that first-order and higher-order versions of this new class of formulas are also abstract logic programming languages if the inference rules are those of either intuitionistic or minimal logic. The programming language significance of the various generalizations to first-order Horn clauses is briefly discussed.

[1]  M. H. van Emden First-order Predicate Logic as a Common Basis for Relational and Functional Programming (Abstract) , 1987, LICS.

[2]  Gopalan Nadathur,et al.  Higher-order Horn clauses , 1990, JACM.

[3]  Dale A. Miller,et al.  AN OVERVIEW OF PROLOG , 1988 .

[4]  Victor W. Marek Book review: The Art of Prolog Advanced Programming Techniques by L. Sterling and E. Shapiro (The MIT Press) , 1988, SGAR.

[5]  Dale Miller,et al.  Lexical Scoping as Universal Quantification , 1989, ICLP.

[6]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[7]  M. Fitting Intuitionistic logic, model theory and forcing , 1969 .

[8]  W. V. Quine,et al.  Natural deduction , 2021, An Introduction to Proof Theory.

[9]  Leon Sterling,et al.  The Art of Prolog - Advanced Programming Techniques , 1986 .

[10]  T. Thacher Robinson Review: Ronald Harrop, Concerning Formulas of the Types $A \rightarrow B \mathbf{v} C, A \rightarrow (Ex) B(x)$ in Intuitionistic Formal Systems , 1962 .

[11]  Dale Miller,et al.  A Logical Analysis of Modules in Logic Programming , 1989, J. Log. Program..

[12]  Jean H. Gallier,et al.  Hornlog: A Graph-Based Interpreter for General Horn Clauses , 1987, J. Log. Program..

[13]  Dale Miller,et al.  Uses of Higher-Order Unification for Implementing Program Transformers , 1988, ICLP/SLP.

[14]  A. Troelstra Metamathematical investigation of intuitionistic arithmetic and analysis , 1973 .

[15]  Gopalan Nadathur,et al.  Some Uses of Higher-Order Logic in Computational Linguistics , 1986, ACL.

[16]  Ronald Harrop,et al.  Concerning formulas of the types A→B ν C,A →(Ex)B(x) in intuitionistic formal systems , 1960, Journal of Symbolic Logic.

[17]  G. Nadathur A higher-order logic as the basis for logic programming , 1987 .

[18]  Melvin Fitting,et al.  A Kripke-Kleene Semantics for Logic Programs , 1985, J. Log. Program..

[19]  Robert A. Kowalski,et al.  The Semantics of Predicate Logic as a Programming Language , 1976, JACM.

[20]  Gopalan Nadathur,et al.  A Logic Programming Approach to Manipulating Formulas and Programs , 1987, SLP.

[21]  Frank Pfenning,et al.  Partial polymorphic type inference and higher-order unification , 1988, LISP and Functional Programming.

[22]  Krzysztof R. Apt,et al.  Contributions to the Theory of Logic Programming , 1982, JACM.

[23]  Gopalan Nadathur,et al.  Hereditary Harrop Formulas and Uniform Proof Systems , 1987, Logic in Computer Science.

[24]  Dov M. Gabbay,et al.  N-Prolog: An Extension of Prolog with Hypothetical Implications I , 1984, J. Log. Program..

[25]  Lawrence C. Paulson,et al.  Natural Deduction as Higher-Order Resolution , 1986, J. Log. Program..

[26]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[27]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[28]  Gerhard Gentzen,et al.  Investigations into Logical Deduction , 1970 .

[29]  Gérard P. Huet,et al.  A Unification Algorithm for Typed lambda-Calculus , 1975, Theor. Comput. Sci..

[30]  Amy P. Felty,et al.  Specifying Theorem Provers in a Higher-Order Logic Programming Language , 1988, CADE.