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)
Comparative semantics for PROLOG with cut
Science of Computer Programming
An operational formal definition of PROLOG: a specification method and its application
New Generation Computing
Compositional operational semantics for Prolog programs
New Generation Computing
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A mathematical definition of full Prolog
Science of Computer Programming
Prolog: the standard: reference manual
Prolog: the standard: reference manual
From logic programming to Prolog
From logic programming to Prolog
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
Automated Complexity Analysis Based on the Dependency Pair Method
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
Automated termination analysis for logic programs with cut*
Theory and Practice of Logic Programming
Dependency triples for improving termination analysis of logic programs with cut
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
A dependency pair framework for innermost complexity analysis of term rewrite systems
CADE'11 Proceedings of the 23rd international conference on Automated deduction
Symbolic evaluation graphs and term rewriting: a general methodology for analyzing logic programs
Proceedings of the 14th symposium on Principles and practice of declarative programming
Hi-index | 0.00 |
We present a new operational semantics for Prolog which covers all constructs in the corresponding ISO standard (including "non-logical" concepts like cuts, meta-programming, "all solution" predicates, dynamic predicates, and exception handling). In contrast to the classical operational semantics for logic programming, our semantics is linear and not based on search trees. This has the advantage that it is particularly suitable for automated program analyses such as termination and complexity analysis. We prove that our new semantics is equivalent to the ISOProlog semantics, i.e., it computes the same answer substitutions and the derivations in both semantics have essentially the same length.