| Debray, S.K. and P. Mishra (1988). Denotational and Operational Semantics for Prolog. Journal of Logic Programming 5, 61-91. |
....semantics for Prolog with the intention of providing a semantic basis for program analysis. The semantics of Prolog is usually specified by encoding its (sequential) control within different frameworks such as dynamic algebras [6] deterministic transition systems [12] or denotational semantics [17, 3, 13]. However, semantics based) analyses of Prolog are usually achieved by abstracting the more simple but less precise semantics of pure logic programs. Unfortunately, it is not straightforward to encode Prolog control directly in terms of pure logic programs. Instead, we propose to model Prolog ....
S. K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. In M. Wirsing, editor, Formal Description of Programming Concepts III, pages 245--269. North-Holland, Amsterdam, 1987.
....ned functions needs to be added. Let us compare our work with some other related approaches. Launchbury [16] Sestoft [21] and Sansom and Peyton Jones [19] gave similar descriptions for purely lazy functional languages where logic programming features and concurrency are not covered. 15] and [8] contain operational and denotational descriptions of Prolog with the main emphasis on covering the backtracking strategy and the cut operator. Although the modeling of backtracking by the use of a goal sequence has some similarities with our description, laziness, sharing, and concurrency are ....
S.K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. Journal of Logic Programming (5), pages 61-91, 1988.
....we could only compute the cost of each single derivation in the search tree, since some computation steps may be shared by more than one derivation. Thus, the definition of a deterministic version of the small step semantics becomes essential (see [2] As for logic programming, 16] and [8] contain operational and denotational descriptions of Prolog with the main emphasis on specifying the backtracking strategy and the cut operator. However, laziness and sharing are not covered. The same holds for Borger s descriptions of Prolog s operational semantics (e.g. 6,7] which consist ....
S.K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. Journal of Logic Programming (5), pages 61--91, 1988.
....language features. Nevertheless, we want to compare our work with some other related approaches. Launchbury [17] Sestoft [22] and Sansom and Peyton Jones [20] gave similar descriptions for purely lazy functional languages where logic programming features and concurrency are not covered. 16] and [9] contain operational and denotational descriptions of Prolog with the main emphasis on covering the backtracking strategy and the cut operator. Although the modeling of backtracking by the use of a goal sequence has some similarities with our description, laziness, sharing, and concurrency are ....
S.K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. Journal of Logic Programming (5), pages 61--91, 1988.
....used in real implementations, and [15] does not model search strategies and concurrency (but allows partial applications in case patterns) Sestoft [23] proposes similar descriptions for purely lazy functional languages where logic programming features and concurrency are not covered. 17] and [7] contain operational and denotational descriptions of Prolog with the main emphasis on covering the backtracking strategy and the cut operator. Although our modeling of search strategies by the use of goal sequences has some similarities with their description, laziness, sharing, and concurrency ....
S.K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. Journal of Logic Programming (5), pages 61--91, 1988.
.... 2 O(P; Q) if j i then Q j ;P 2 Q Modelling the operational behaviour of a logic program as a sequence of answers rather than as a set (as e.g. in [12, 5] explicitly takes the order in which solutions are found into account, and allows for multiple occurrences of the same answers (e.g. [3, 22, 11, 4]) Example 3. If P represents the program in Fig. 1 and Q the query path(a; X) then we have that O(P; Q) fX=bg; fX=cg; fX=bg) Note that O(P; Q) may be an in nite sequence, modelling the case where the Prolog evaluation mechanism constructs an in nite number of derivations and returns an ....
....of SLD derivations is de ned. The semantics of a program is goal independent and various properties of SLDderivations are studied. The main focus is on compositionality of the semantics, which does not deal with programs containing cuts. A semantics that is perhaps more related to our work is [11]. It de nes a denotational semantics for Prolog programs that contain cuts. The meaning of a program is de ned by a number of semantic functions on the syntactic constructs of a program that can be used to compute a goal independent denotation of the program. The work is motivated mainly by the ....
S. K. Debray and P. Mishra. Denotational and operational semantics for Prolog. Journal of Logic Programming, 5(1):61-91, 1988.
....with equivalence classes of derivations, since we want to allow derivations to be equivalent up to variable renaming. 7 The derivation containing just one resolution step is an exception that has to be treated specially in every kind of derivation. 15 [ 1] 1] 2,3] 1] 2,3] [4,5]] 1] 7,8] 1] 7,8] 10,11] Figure 2.7: The six derivations of the kind induced by TrivInt. The numbers are machine states, as given in figure 2.5. We introduced TrivInt by showing the sequence of states passed through during execution because machine states are usually understood ....
....are commonly used to specify the semantics of pure Prolog, but not of full Prolog, because of the so called non logical features of the language. We now argue that these features do not present a problem. First of all, abstract interpreters presented for pure Prolog (such as those given in [4, 10, 3]) already have states that we would call derivations; a new choicepoint is pushed each time a new goal is resolved, and each choicepoint corresponds to a resolution step, so this list of choicepoints is a derivation. The first language extension we consider is the cut operator. The cut prunes ....
[Article contains additional citation context not shown here]
Saumya K. Debray and Prateek Mishra. Denotational and Operational Semantics for Prolog. Journal of Logic Programming, 5:61--91, 1988.
....is given by a transition relation between states of the computation. An environment is a finite set of bindings t 1 x 1 , t n x n such that the x i s are pairwise di#erent variables. Environments are di#erent from substitutions, since it is not required that t i ## x i (cf. [7]) We work with environments rather than with substitutions, since in this way we can avoid some problems related to standardizing apart variables. All variables that have ever been used in the computation have a binding in the environment. A frame consists of a query Q and an idempotent ....
S. K. Debray and P. Mishra. Denotational and operational semantics for Prolog. J. of Logic Programming, 5(1):61--91, 1988.
....the evaluation of goals as a transition relation between states of a computation. States are defined in the following way: An environment is a finite set of bindings t 1 x 1 , t n x n such that the x i s are pairwise di#erent variables. It is not required that t i ## x i (cf. [4]) A frame consists of a query G and an idempotent environment #. Idempotent means that if t i ## x i then x i does not occur in t 1 , t n . Remember that a query is a list of goals. A frame stack consists of a (possibly empty) sequence #G 1 , # 1 ; G n , # n # of frames. The ....
S. K. Debray and P. Mishra. Denotational and operational semantics for Prolog. J. of Logic Programming, 5(1):61--91, 1988.
....section. 11.12 Bibliographic Remarks The problem of formalizing the meaning of cut has been studied in a number of publications starting from Jones and Mycroft [JM84] where various semantics for Prolog with cut were defined. This work was pursued by Arbab and Berry [AB87] Debray and Mishra [DM88] and, more recently, by Lilly and Bryant [LB92] The approach presented here is due to Apt and Teusink [AT95] The WIN program appeared first in Gelfond and Lifschitz [GL88] Termination of the programs TRANS and WIN is considered in Apt and Pedreschi [AP93] and various other aspects of their ....
S. Debray and P. Mishra. Denotational and operational semantics for Prolog. Journal of Logic Programming, 5(1):61--91, 1988.
....incomplete. Many authors therefore abandon the classical, logical semantics and propose other semantics. The usual depth first search employed in actual Prolog systems is modelled by the denotational semantics approaches of Jones and Mycroft [12] Nicholson and Foo [18] Debray and Mishra [8], de Vink [7] or Baudinet [4] Among the first to specify backtracking and cut as an elegant use of continuations was also D. Schmidt [21] The language constructs covered in these approaches include the cut operator, but further advanced control constructs like catch throw or database predicates ....
.... ) Parent( X) Parent(G) C (#) #Has# # C # #Has# Parent(G) if su#x(Has ,G) Parent(G) C (#) #Hasnt# # Return C # #Hasnt# if su#x(Hasnt ,G) Parent(G) # Return C (#) #X# Return # Return C (#) #X# Pending(G) Return # G Observe that we do not need a special cut marker [12,8,4,7] or cut parent [5] because in our approach the cut parent is literally the parent of the cut (starting the current goal) and the parent of any goal can in our approach be found by the simple syntactic criterion from above, the su#x criterion. Incidentally, note that, due to the intricacies of ....
[Article contains additional citation context not shown here]
S. Debray and P. Mishra. Denotational and operational semantics for Prolog. Journal of Logic Programming, 5(1):61--91, 1988.
....for the process based execution of logic programs (not Prolog programs) is given in [8] However, this model describes how to compute a single solution to a goal and not all solutions in parallel. For Prolog, many works were devoted to the definition of the semantics in a formal, abstract way [3, 9, 13, 10, 12]. Nevertheless, such semantic definitions embody the essence of sequential execution, thus being unpractical both to reason on parallel execution and to be the basis for a parallel computational model. The models in [23, 16] are given by using CCS and calculus [21] respectively, but, although ....
S. K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. In M. Wirsing, editor, Formal Description of Programming Concepts III, pages 245--269. North-Holland, Amsterdam, 1987.
....However, this model describes how to compute a single solution to a goal and not all solutions in parallel, thus it is more appropriate for modelling non determinsm than for expressing parallelism. For Prolog, many works were devoted to the definition of the semantics in a formal, abstract way [3, 9, 13, 10, 12]. Nevertheless, such semantic definitions embody the essence of sequential execution, thus being unpractical both to reason on parallel execution and to be the basis for a parallel computational model. The models in [23, 16] are given by using CCS and calculus [21] respectively, but, although ....
S. K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. In M. Wirsing, editor, Formal Description of Programming Concepts III, pages 245--269. North-Holland, Amsterdam, 1987.
.... compiler is also done in Munich with the Isabelle System ( Pus96] In contrast to our approach, which was to model the EAapproach in DL, and to verify the correctness of transformations described in [BR95] as faithfully as possible, they started from an operational Prolog semantics de ned in [DM88], which is already based on stacks, not on search trees, and used ( BR95] only as a guidance for transformation steps. Therefore their rst two transformation steps have no counterpart in our veri cation. Some comparison can be done for our second interpreter vs. their third interpreter. The two ....
Saumya K. Debray and Prateek Mishra. Denotational and operational semantics for prolog. Journal of Logic Programming, 5:61 - 91, 1988.
....this semantics; more detailed descriptions can be found in [7] and [25] Pettorossi and Proietti [26, 28] also proposed an operational semantics for Prolog, but it does not handle the cut. The direct style semantics proposed by Jones and Mycroft [17] as well as the one of Debray and Mishra [12] do handle the cut. But we believe that the semantics of Nicholson and Foo is more elegant because the search stack and the resolvent are not handled by explicit datastructures. This leaves open all kinds of actual representations of the search stack and the resolvent. As a matter of fact, it is ....
S. K. Debray and P. Mishra. Denotational and operational semantics for Prolog. Journal of Logic Programming, 5, 1988.
....Programmentwicklung In our paper we present the formalization of the correctness proofs in the Isabelle system [Pau94] In contrast to the KIV formalization we do not use the framework of evolving algebras. Our development starts from a slightly different operational semantics for Prolog [DM88]. The operational semantics and all the refinement steps towards the WAM considered so far are formalized in higher order logic. The reasons for refraining from embedding the formalism of evolving algebras are discussed in section 4. The rest of this paper is structured as follows. Section 2 ....
....the model theory of first order logic. Since this approach ignores the behavioral aspects of Prolog like sequential depth first search and the cut control facility, S. Debray and P. Mishra developed a denotational as well as an equivalent operational semantics expressing the properties of interest [DM88]. Hereafter we will give an operational semantics by the definition of an interpreter, which is almost identical to the one described in [DM88] with just some slight modifications. In our approach we chose a different renaming function, according to the formalization of Borger and Rosenzweig ....
[Article contains additional citation context not shown here]
Saumya K. Debray and Prateek Mishra. Denotational and Operational Semantics for Prolog. J. Logic Programming, (5):61--91, 1988.
....should reAEect as much as possible the program execution, relying on an (existing) operational semantics to specify a trace seems natural. Pettorossi and Proietti [11] proposed an operational semantics for Prolog, but it does not take the cut into account. The one proposed by Debray and Mishra [4] does handle the cut, but is quite unpractical. Nicholson and Foo dene in [10] a continuation based semantics for Prolog which captures very elegantly the cut behavior. In order to dene an operational semantics for Prolog, Brisset and Ridoux reformulated it in [2] We chose to use the Prolog part ....
S. K. Debray and P. Mishra. Denotational and operational semantics for Prolog. Journ. of Logic Programming, 5, 1988.
No context found.
Debray, S.K. and P. Mishra (1988). Denotational and Operational Semantics for Prolog. Journal of Logic Programming 5, 61-91.
No context found.
S. Debray, P. Mishra, Denotational and operational semantics for prolog, J. Logic Programming 5 (1) (1988) 61--91.
No context found.
S. K. Debray and P. Mishra. Denotational and operational semantics for Prolog. Journal of Logic Programming, 5(1):61-91, 1988.
No context found.
S. K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. In M. Wirsing, editor, Formal Description of Programming Concepts III, pages 245--269. North-Holland, Amsterdam, 1987.
No context found.
S.K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. Journal of Logic Programming (5), pages 61-91, 1988.
No context found.
S. Debray and P. Mishra, `Denotational and operational semantics for prolog', Journal of Logic Programming, 5(1), 61--91 (1988).
No context found.
S. K. Debray and P. Mishra. Denotational and Operational Semantics for Prolog. In M. Wirsing, editor, Formal Description of Programming Concepts III, 245--269. North-Holland, Amsterdam, 1987.
No context found.
Debray, S.K. and Mishra, P. (1987). Denotational and Operational Semantics for Prolog. In: (Wirsing, M., ed.) Formal Description of Programming Concepts III, North{Holland, 245-273. 14
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC