1987Unpublished venueRequires access

Denotational and operational semantics for PROLOG.

Saumya Debray, Prateek Mishra

Open publisher page 12 citations

Abstract

: The semantics of Prolog programs is usually given in terms of the model theory of first order logic. However, this does not adequately characterize the computational behavior of Prolog programs. Prolog implementations typically use a sequential evaluation strategy based on the textual order of clauses and literals in a program, as well as non-logical features like "cut". In this work we develop a denotational semantics that captures the computational behavior of Prolog. We present a semantics for "cut-free" Prolog, which is then extended to Prolog with cut. For each case we develop a congruence proof that relates the semantics to a standard operational interpreter. As an application of our denotational semantics, we show the correctness of some standard "folk" theorems regarding transformations on Prolog programs. ############################# + A preliminary version of this paper appears in the Proceedings of the IFIP Conference on Formal Description of Programming Concepts, Ebberu...

About this research paper

What this paper is about

: The semantics of Prolog programs is usually given in terms of the model theory of first order logic. However, this does not adequately characterize the computational behavior of Prolog programs. Prolog implementations typically use a sequential evaluation strategy based on the textual order of clauses and literals in a program, as well as non-logical features like "cut". In this work we develop a denotational semantics that captures the computational behavior of Prolog. We present a semantics for "cut-free" Prolog, which is then extended to Prolog with cut. For each case we develop a congruence proof that relates the semantics to a standard operational interpreter. As an application of our denotational semantics, we show the correctness of some standard "folk" theorems regarding transformations on Prolog programs. ############################# + A preliminary version of this paper appears in the Proceedings of the IFIP Conference on Formal Description of Programming Concepts, Ebberu...

Why it matters

OpenAlex reports 12 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

: The semantics of Prolog programs is usually given in terms of the model theory of first order logic. However, this does not adequately characterize the computational behavior of Prolog programs. Prolog implementations typically use a sequential evaluation strategy based on the textual order of clauses and literals in a program, as well as non-logical features like "cut". In this work we develop a denotational semantics that captures the computational behavior of Prolog. We present a semantics for "cut-free" Prolog, which is then extended to Prolog with cut. For each case we develop a congruence proof that relates the semantics to a standard operational interpreter. As an application of our denotational semantics, we show the correctness of some standard "folk" theorems regarding transformations on Prolog programs. ############################# + A preliminary version of this paper appears in the Proceedings of the IFIP Conference on Formal Description of Programming Concepts, Ebberu...

Key concepts: Denotational semantics, Prolog, Denotational semantics of the Actor model, Programming language, Operational semantics, Action semantics, Computer science, Well-founded semantics

Related papers

Back to paper searchBrowse research topicsOriginal source
Denotational and operational semantics for PROLOG. — Research Paper | ScholarLens