Results 1 
8 of
8
Characterizations of Classes of Programs by ThreeValued 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 threevalued 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. 357371. 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 builtin predicates like ..."
Abstract

Cited by 18 (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 builtin 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 firstorder theory that contains induction principles corresponding to the definition of the predicates in the program plus appropriate axioms for builtin 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 builtin predicates. Keywords: Verification of logic programs; pure Prolog; lefttermination; induction. 1
Firstorder 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 firsto ..."
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 firstorder 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 depthfirst 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 depthfirst lefttoright 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 depthfirst lefttoright 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 nonfloundering 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 depthfirst lefttoright evaluation strategy of Prolog interpreters. We propose a semantics for Prolog programs based on a fourvalued 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 depthfirst lefttoright evaluation strategy of Prolog interpreters. We propose a semantics for Prolog programs based on a fourvalued 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 modeltheoretic and operational semantics. 1
The Witness Properties and the Semantics of the Prolog Cut
, 1999
"... : The semantics of the Prolog "cut" construct is explored in the context of some desirable properties of logic programming systems, referred to as the witness properties. The witness properties concern the operational consistency of responses to queries. A generalization of Prolog with negation as f ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
: The semantics of the Prolog "cut" construct is explored in the context of some desirable properties of logic programming systems, referred to as the witness properties. The witness properties concern the operational consistency of responses to queries. A generalization of Prolog with negation as failure and cut is described, and shown not to have the witness properties. A restriction of the system is then described, which preserves the choice and firstsolution behaviour of cut but allows the system to have the witness properties. A static analysis system is described which allows programs to be computed in a more efficient manner under the restricted system. The restricted system is then given an abstract semantics, which depends essentially on the witness properties. Finally, it is shown how the abstract semantics can be used to simplify proofs of properties of programs. Parts of this paper appeared previously in a different form in the Proceedings of the 1995 International Logic ...
On the Spreadsheet Presentation of Proof Obligations
"... . A compact and structured format for presenting proof obligations is described. The format places the formulas and proof obligations in the form of a spreadsheet, where rows are formulas, columns are obligations, and cells record whether and how a formula appears in an obligation. This spreadsheet ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. A compact and structured format for presenting proof obligations is described. The format places the formulas and proof obligations in the form of a spreadsheet, where rows are formulas, columns are obligations, and cells record whether and how a formula appears in an obligation. This spreadsheet presentation frees the proof system from some interfacerelated restrictions, and allows users to follow a more natural style of problem solving. It can be applied to either sequent or tableau logics, and can be used by most theorem proving systems. An initial implementation is discussed, some recommendations are made for future effort, and a graphical user interface design is proposed based on the spreadsheet model. 1 Introduction When we want to prove a theorem using a proof assistant, we the users are faced with the task of processing a large amount of complex information. The single, small theorem we wanted to prove may expand, during the course of the proof, into many "proof obligation...