Logic programming as constructivism: a formalization and its application to databases
- 29 March 1989
- proceedings article
- Published by Association for Computing Machinery (ACM)
Abstract
The features of logic programming that seem unconventional from the viewpoint of classical logic can be explained in terms of constructivistic logic. We motivate and propose a constructivistic proof theory of non-Horn logic programming. Then, we apply this formalization for establishing results of practical interest. First, we show that 'stratification' can be motivated in a simple and intuitive way. Relying on similar motivations, we introduce the larger classes of 'loosely stratified' and 'constructively consistent' programs. Second, we give a formal basis for introducing quantifiers into queries and logic programs by defining 'constructively domain independent' formulas. Third, we extend the Generalized Magic Sets procedure to loosely stratified and constructively consistent programs, by relying on a 'conditional fixpoint' procedure.Keywords
This publication has 17 references indexed in Scilit:
- From context-free to definite-clause grammars: a type-theoretic approachThe Journal of Logic Programming, 1997
- A kripke-kleene semantics for logic programs*The Journal of Logic Programming, 1985
- N-Prolog: An extension of prolog with hypothetical implication. II. Logical foundations, and negation as failureThe Journal of Logic Programming, 1985
- Horn clause queries and generalizationsThe Journal of Logic Programming, 1985
- Confluent Reductions: Abstract Properties and Applications to Term Rewriting SystemsJournal of the ACM, 1980
- Constructive MathematicsScientific American, 1979
- The Recursive Unsolvability of the Decision Problem for the Class of Definite FormulasJournal of the ACM, 1969
- A Computing Procedure for Quantification TheoryJournal of the ACM, 1960
- ÜBER EINE BISHER NOCH NICHT BENÜTZTE ERWEITERUNG DES FINITEN STANDPUNKTESDialectica, 1958
- Points and SpacesCanadian Journal of Mathematics, 1954