Operational and Goal-Independent Denotational Semantics for Prolog with Cut

Abstract In this paper we propose an operational and a denotational semantics for Prolog. We deal with the control rules of Prolog and the cut operator. Our denotational semantics provides a goal-independent semantics. This means that the behaviour of a goal in a program is defined as the evaluation of the goal in the denotation (semantics) of the program. We show how our denotational semantics can be specialised into a computed answer semantics and into a call pattern semantics. Our work provides a basis for a precise abstract interpretation of Prolog programs.

[1]  Maurizio Gabbrielli,et al.  Goal independency and call patterns in the analysis of logic programs , 1994, SAC '94.

[2]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[3]  Maurizio Gabbrielli,et al.  The s-Semantics Approach: Theory and Applications , 1994, J. Log. Program..

[4]  Maurizio Gabbrielli,et al.  Fixpoint Semantics for Partial Computed Answer Substitutions and Call Patterns , 1992, ALP.

[5]  Michele Bugliesi,et al.  A New Fixpoint Semantics for Prolog , 1993, GULP.

[6]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[7]  Giorgio Levi,et al.  Abstract Interpretation of Prolog Programs , 1999, AMAST.

[8]  Giorgio Levi,et al.  Accurate Analysis of Prolog with cut , 1996, APPIA-GULP-PRODE.

[9]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[10]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[11]  Egon Börger,et al.  A Logical Operational Semantics of Full Prolog Part III: Built-in Predicates for Files, Terms, Arithmetic and Input-Output , 1990, IWBS Report.

[12]  Roberto Giacobazzi,et al.  Compositional analysis of modular logic programs , 1993, POPL '93.

[13]  Jan Maluszy¿ski Comparative Metric Semantics for Commit in Or-Parallel Logic Programming , 1997 .

[14]  A. deBruin,et al.  Continuation semantics for PROLOG with cut , 1989 .

[15]  Neil D. Jones,et al.  Stepwise Development of Operational and Denotational Semantics for Prolog , 1984, International Conference on Spoken Language Processing.

[16]  Roberto Barbuti,et al.  Modelling Prolog control , 1992, POPL '92.

[17]  Brian J. Ross,et al.  An Algebraic Semantics of Prolog Program Termination , 1991, ICLP.

[18]  Melvin Fitting A Deterministic Prolog Fixpoint Semantics , 1985, J. Log. Program..

[19]  Giorgio Levi,et al.  Analysis of Pure PROLOG Programs , 1995, GULP-PRODE.

[20]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[21]  Saumya K. Debray,et al.  Denotational and Operational Semantics for Prolog , 1988, J. Log. Program..

[22]  Pascal Van Hentenryck,et al.  An Abstract Interpretation Framework which Accurately Handles Prolog Search-Rule and the Cut , 1994, ILPS.