Negation and control in Prolog
Negation and control in Prolog
Operational and denotational semantics of prolog
Journal of Logic Programming
Denotational and operational semantics for Prolog
Journal of Logic Programming
A denotational semantics for Prolog
ACM Transactions on Programming Languages and Systems (TOPLAS)
Simple operational and denotational semantics for Prolog with cut
Theoretical Computer Science - Special issue on the Second French-Soviet Workshop on Methods of Compilation and Program Construction, Nice, France, Feb. 1988
Termination proofs for logic programs
Termination proofs for logic programs
Unfolding and fixpoint semantics of concurrent constraint logic programs
Theoretical Computer Science - Selected papers of the Second International Conference on algebraic and logic programming, Nancy, France, October 1–3, 1990
Proving termination properties of Prolog programs: a semantic approach
Journal of Logic Programming
Strong termination of logic programs
Journal of Logic Programming
Reasoning about termination of pure Prolog programs
Information and Computation
Information and Computation
A logical semantics for depth-first Prolog with ground negation
Theoretical Computer Science
A semantics for modular general logic programs
Theoretical Computer Science
The Semantics of Predicate Logic as a Programming Language
Journal of the ACM (JACM)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
A Theory of Objects
Continuation Semantics for PROLOG with Cut
TAPSOFT '89/CAAP '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 1: Advanced Seminar on Foundations of Innovative Software Development I and Colloquium on Trees in Algebra and Programming
TermiLog: A System for Checking Termination of Queries to Logic Programs
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Toward the Concept of Backtracking Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
Automated termination analysis for logic programs with cut*
Theory and Practice of Logic Programming
Hi-index | 0.00 |
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 first-solution behaviour of cut but allows the system to have the witness properties. The notion of cut in the restricted system is more restricted than the Prolog hard cut, but retains the useful first-solution behaviour of hard cut, not retained by other proposed cuts such as the ‘soft cut’. It is argued that the restricted system achieves a good compromise between the power and utility of the Prolog cut and the need for internal consistency in logic programming systems. The restricted system is given an abstract semantics, which depends on the witness properties; this semantics suggests that the restricted system has a deeper connection to logic than simply permitting some computations which are logical. Parts of this paper appeared previously in a different form in the Proceedings of the 1995 International Logic Programming Symposium (Andrews, 1995).