Results 1 -
6 of
6
Characterizations of Classes of Programs by Three-Valued Operators
, 1999
"... . Several important classes of normal logic programs, including the classes of acyclic, acceptable, and locally hierarchical programs, have the property that every program in the class has a unique twovalued supported model. In this paper, we call such classes unique supported model classes. We ..."
Abstract
-
Cited by 22 (21 self)
- Add to MetaCart
. Several important classes of normal logic programs, including the classes of acyclic, acceptable, and locally hierarchical programs, have the property that every program in the class has a unique twovalued supported model. In this paper, we call such classes unique supported model classes. We analyse and characterize these classes by means of operators on three-valued logics. Our studies will motivate the definition of a larger unique supported model class which we call the class of \Phi -accessible programs. Finally, we show that the class of \Phi -accessible programs is computationally adequate in that every partial recursive function can be implemented by such a program. Proceedings of the 5th International Conference on Logic Programmingand NonMonotonic Reasoning (LPNMR'99), El Paso, Texas, December, 1999. Springer Lecture Notes in Artificial Intelligence Vol. 1730, 1999, pp. 357-371. 1 Introduction A good deal of recent research in logic programming has been put in...
The theoretical foundations of LPTP (a logic program theorem prover)
- J. of Logic Programming
, 1998
"... This article contains the theoretical foundations of LPTP, a logic program theorem prover that has been implemented in Prolog by the author. LPTP is an interactive theorem prover in which one can prove correctness properties of pure Prolog programs that contain negation and built-in predicates like ..."
Abstract
-
Cited by 16 (2 self)
- Add to MetaCart
This article contains the theoretical foundations of LPTP, a logic program theorem prover that has been implemented in Prolog by the author. LPTP is an interactive theorem prover in which one can prove correctness properties of pure Prolog programs that contain negation and built-in predicates like is/2 and call/n + 1. The largest example program that has been verified using LPTP is 635 lines long including its specification. The full formal correctness proof is 13128 lines long (133 pages). The formal theory underlying LPTP is the inductive extension of pure Prolog programs. This is a first-order theory that contains induction principles corresponding to the definition of the predicates in the program plus appropriate axioms for built-in predicates. The inductive extension allows to express modes and types of predicates. These can then be used to prove termination and correctness properties of programs. The main result of this article is that the inductive extension is an adequate axiomatization of the operational semantics of pure Prolog with built-in predicates. Keywords: Verification of logic programs; pure Prolog; left-termination; induction. 1
First-order theories for pure Prolog programs with negation
- Archive for Mathematical Logic
, 1995
"... The standard theory of logic programming is not applicable to Prolog programs even not to pure code. Modifying the theory to take account of reality more is the motivation of this article. For this purpose we introduce the #-completion and the inductive extension of a logic program. Both are first-o ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
The standard theory of logic programming is not applicable to Prolog programs even not to pure code. Modifying the theory to take account of reality more is the motivation of this article. For this purpose we introduce the #-completion and the inductive extension of a logic program. Both are first-order theories in a language with operators for success, failure and termination of goals. The #-completion of a logic program is a sound and complete axiomatization of the Prolog depth-first search under certain natural conditions; the inductive extension of the #-completion is a suitable theory for proving termination and equivalence of pure Prolog programs with negation. 1
A Transformation of Propositional Prolog Programs into Classical Logic
- Archive for Mathematical Logic
, 1995
"... . We transform a propositional Prolog program P into a set of propositional formulas prl(P ) and show that Prolog, using its depth-first left-to-right search, is sound and complete with respect to prl(P ). This means that a goal succeeds in Prolog if and only if it follows from prl(P ) in classical ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
. We transform a propositional Prolog program P into a set of propositional formulas prl(P ) and show that Prolog, using its depth-first left-to-right search, is sound and complete with respect to prl(P ). This means that a goal succeeds in Prolog if and only if it follows from prl(P ) in classical propositional logic. The generalization of prl(P ) to predicate logic leads to a system for which Prolog is still sound but unfortunately not complete. If one changes, however, the definition of the termination operator, then one obtains a theory that allows to prove termination of arbitrary non-floundering goals under Prolog. 1
Gentzen systems for Logic Programming styles
, 1994
"... this paper. Also, discussions with Grisha Mints have been very helpful. I want to thank the participants in the Compulog project and the Amsterdam Logic Programming Colloquium, and especially Krzysztof Apt, for their comments, and Atocha Aliseda and Makoto Kanazawa for reading draft versions of this ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
this paper. Also, discussions with Grisha Mints have been very helpful. I want to thank the participants in the Compulog project and the Amsterdam Logic Programming Colloquium, and especially Krzysztof Apt, for their comments, and Atocha Aliseda and Makoto Kanazawa for reading draft versions of this paper. References
Towards a Logical Semantics for Pure Prolog
, 1998
"... The coincidence of the declarative and procedural interpretations of logic programs does not apply to Prolog programs, due to the depth-first left-to-right evaluation strategy of Prolog interpreters. We propose a semantics for Prolog programs based on a four-valued logic. The semantics is based on a ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The coincidence of the declarative and procedural interpretations of logic programs does not apply to Prolog programs, due to the depth-first left-to-right evaluation strategy of Prolog interpreters. We propose a semantics for Prolog programs based on a four-valued logic. The semantics is based on a new concept of completion analogous to Clark's and it enjoys the nice properties of the declarative semantics of logic programming: existence of the least Herbrand model, equivalence of the model-theoretic and operational semantics. 1

