A linear operational semantics for termination and complexity analysis of ISO prolog

  • Authors:
  • Thomas Ströder;Fabian Emmes;Peter Schneider-Kamp;Jürgen Giesl;Carsten Fuhs

  • Affiliations:
  • LuFG Informatik 2, RWTH Aachen University, Germany;LuFG Informatik 2, RWTH Aachen University, Germany;IMADA, University of Southern Denmark, Denmark;LuFG Informatik 2, RWTH Aachen University, Germany;LuFG Informatik 2, RWTH Aachen University, Germany

  • Venue:
  • LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.