| Roberto Barbuti, Michael Codish, Roberto Giacobazzi, and Giorgio Levi. Modelling Prolog control. Journal of Logic and Computation, 3(6):579-603, December 1993. |
....and is mainly developed towards proving termination of logic programs. Also [22] de nes an operational semantics by means of a sequence of answers and uses it to show that a number of transformation rules (unfold fold) preserve this semantics. It does not deal with programs containing cuts. In [2], Prolog control is explicitly modelled in a constraint logic language and a declarative and operational semantics is presented. It encodes the Prolog search rule, but does not deal with programs containing cuts. In [8] a semantics expressed in term of SLD derivations is de ned. The semantics ....
Roberto Barbuti, Michael Codish, Roberto Giacobazzi, and Giorgio Levi. Modelling Prolog control. Journal of Logic and Computation, 3(6):579-603, December 1993.
....completeness property with respect to the logical semantics. The standard declarative characterizations defined for pure logic programming are not well suited to model languages enriched with control operators. Other declarative semantics have been defined to model Prolog control: Barbuti et al. BCGL93] proposed to model Prolog s behaviour in a simple constraint logic language; Bossi et al. BBF93] presented a fixed point semantics which allows to capture both the left to right selection rule and the depth first search strategy underlying Prolog s evaluation mechanism. Both of these proposals ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog control. Journal of Logic and Computation, 3(6):579--603, 1993.
....of arithmetic and meta predicates to achieve great precision, and the overhead of the approach is small compared to a tradition mode type analysis. There are many directions for extending this work. First, termination analysis can be improved by introducing a priori knowledge about termination [1] or by introducing symbolic values in the abstract domain to replace the postfixpoint computation by a mathematical induction argument. Second, sure success information can be improved by using a more sophisticated type domain (e.g. 9] Finally, the mode analysis can be improved by generalizing ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog control. In POPL-92, pages 95--104. ACM Press, 1992.
....of depth first Prolog [Llo84, Vod85, DF87, Bor90, dBdV89, Bil90, Har90, And90, Bab91, McB91] most of the previous attempts to characterize depth first Prolog have been metatheoretic or denotational. Francez et al. FGKP85] build proof systems which reason about computations, and Barbuti et al. [BCGL93] build a transformational semantics relying on the encoding of the termination theory of a program. While these semantics have their good points (in particular, the Barbuti et al. paper models a wide range of control strategies) there is also a great deal of metatheoretic encoding going on in ....
Roberto Barbuti, Michael Codish, Roberto Giacobazzi, and Giorgio Levi. Modelling Prolog control. Journal of Logic and Computation, 3(6):579--603, 1993.
....is not only related to the analysis of cc programs. Indeed, the basic problem in the abstraction of synchronization for cc programs is shared by a number of di#erent semantic constructions, not necessarily related with the ask based synchronization of concurrent languages. As shown in [BCGL92], the semantics of (pure) Prolog programs (logic programs with depth first search) can be specified in terms of implicit ask mappings . A reduction with a clause can only be applied to a goal provided that there are no infinite branches on the left hand side of the proof tree for that goal, by ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog control. In<F4.877e+05> Proceedings of the Nineteenth Annual ACM Symposium on Principles of Programming<F5.303e+05> Languages, pages 95-- 104, New York, 1992. ACM Press.
....program computes the minimum element of a list of integers. As it is easy to check, the second clause is correct only because a cut is contained in Preprint submitted to Elsevier Preprint 17 February the first one. This means that if we do not take the cut into account we would conclude that min([2,1],2) belongs to the success set of the program, while it is not true. Note that meta logical features like the cut can even affect the abstract behaviour of a program. Consider for instance the following program: selectvarsinterm(X, X] var(X) selectvarsinterm(A, atom(A) ....
....clause F can never be a free variable nor an atom. This allows us to provide an optimised code which checks only whether F is a number. The contribution of this paper is to provide a general semantical framework that can be instantiated as a denotational semantics able to model the fact that min([2,1],2) does not belong to the success set of the first program and that F can never be a free variable nor an atom in the third clause of the second program. The general framework can precisely model several operational aspects of Prolog in a denotational setting. It is built upon a very concrete ....
[Article contains additional citation context not shown here]
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. Journal of Logic and Computation, 3:579--603, 1993.
No context found.
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages, pages 95--104. ACM Press, 1992.
No context found.
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages, pages 95--104, 1992.
No context found.
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. Journal of Logic and Computation, 3:579--603, 1993.
....same head predicate p) start their execution concurrently, but, in order to respect the depth first search rule, each P i is guarded by the termination of the executions of processes P j s, j i. The computational model is proved correct with respect to the semantics of Prolog, as given in [4, 5]. Our model, because of its algebraic specification, can be easily used to prove properties of the parallel execution of Prolog programs. Moreover, the model exploits the maximum degree of parallelism, by giving the Prolog solutions in parallel, without any order among them. However, this model, ....
....two 1 A discussion about the problems related to the handling of binding environments in OR parallel implementations is out of the scope of this paper. 2 semantics still specify a sequential Prolog control. A semantics definition which abstracts from the execution model is the one defined in [4, 5]. This semantics assigns a meaning to a program in term of a set of solutions abstracting from the order they are computed. This abstractness makes it unpractical as a reference semantics of Prolog implementations, but, on the other hand, it can be used as the reference semantics for the ....
[Article contains additional citation context not shown here]
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. Journal of Logic and Computation, 3:579--603, 1993.
....same head predicate p) start their execution concurrently, but, in order to respect the depth first search rule, each P i is guarded by the termination of the executions of processes P j s, j i. The computational model is proved correct with respect to the semantics of Prolog, as given in [4, 5]. Our model, because of its algebraic specification, can be easily used to prove properties of the parallel execution of Prolog programs. Moreover, the model exploits the maximum degree of parallelism, by giving the Prolog solutions in parallel, without any order among them. However, this model, ....
....two 1 A discussion about the problems related to the handling of binding environments in OR parallel implementations is out of the scope of this paper. 2 semantics still specify a sequential Prolog control. A semantics definition which abstracts from the execution model is the one defined in [4, 5]. This semantics assigns a meaning to a program in term of a set of solutions abstracting from the order they are computed. This abstractness makes it unpractical as a reference semantics of Prolog implementations, but, on the other hand, it can be used as the reference semantics for the ....
[Article contains additional citation context not shown here]
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog control. In Proceedings of the Nineteenth Annual ACM Symposium on Principles of Programming Languages, pages 95--104, January 1992.
....as messages. Process passing is a suitable mechanism to simulate exchange of tasks among processes and it makes clear and concise the model definition. We translate a Prolog program into a CHOCS process in such a way that the semantics of Prolog, given by the multiset of the solutions, as in [4, 5, 6], is preserved. In Section 3.2 a first model is defined, exploiting the parallel execution of the clauses of a same predicate: these are executed in parallel, and the responsibility of collecting the solutions is given to some scheduler . Then, other computational models are defined in Section ....
....which reflects the textual ordering of the clauses. Thus, we can define a Prolog program as an ordered sequence of clauses hC 1 ; C 2 ; C n i, where h and i are used to indicate sequences. For the sake of conciseness, we describe in an informal way the semantics of Prolog defined in [4, 5, 6]. In such papers the semantic definition is based on the same concept, although given by using different styles (top down and bottom up) and definition tools. Here we try to abstract from the technical points and to give the essence of the top down semantics of Prolog. A SLD Gamma tree for a ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. Journal of Logic and Computation, 3:579--603, 1993.
....as messages. Process passing is a suitable mechanism to simulate exchange of tasks among processes and it makes clear and concise the model definition. We translate a Prolog program into a CHOCS process in such a way that the semantics of Prolog, given by the multiset of the solutions, as in [4, 5, 6], is preserved. In Section 3.2 a first model is defined, exploiting the parallel execution of the clauses of a same predicate: these are executed in parallel, and the responsibility of collecting the solutions is given to some scheduler . Then, other computational models are defined in Section ....
....which reflects the textual ordering of the clauses. Thus, we can define a Prolog program as an ordered sequence of clauses hC 1 ; C 2 ; C n i, where h and i are used to indicate sequences. For the sake of conciseness, we describe in an informal way the semantics of Prolog defined in [4, 5, 6]. In such papers the semantic definition is based on the same concept, although given by using different styles (top down and bottom up) and definition tools. Here we try to abstract from the technical points and to give the essence of the top down semantics of Prolog. A SLD Gamma tree for a ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog control. In Proceedings of the Nineteenth Annual ACM Symposium on Principles of Programming Languages, pages 95--104, January 1992.
....depth first control of Prolog using the language. Section 3 6 discusses the interpretation of the termination conditions. Section 7 describes related work and concludes. The Appendix contains the proofs of the equivalence results presented in Section 4. This paper is an extended version of [5]. 2 Preliminaries In the following we assume familiarity with logic programming theory [1, 22] Let 6 and Var be denumerable sets of function symbols, and variables respectively; T(6) and T(6;Var) denote the corresponding ground and non ground term algebras respectively. Likewise, if 5 denotes a ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages, pages 95--104. ACM Press, 1992.
....to the user) together with a suitable use of cylindrification and diagonal elements make variable renaming no longer needed. Definition1. A (cylindric) constraint system 4 hC; false; true; Omega ; V; 9 x ; d xy i is an algebraic structure where: hC; ai is a simple constraint system, true = [1] and false = 0] Omega is the glb, V is a denumerable set of variables and 8x; y 2 V , 8c; d 2 C, the operator 9 x : C C satisfies 3 The entailment closed representation, when it is finite, is a domain independent strong normal form for constraints and it is very useful when there are ....
....is not only related to the analysis of cc programs. Indeed, the basic problem in the abstraction of synchronization for cc programs is shared by a number of different semantic constructions, not necessarily related with the ask based synchronization of concurrent languages. As shown in [1], the semantics of (pure) Prolog programs (logic programs with depth first search) can be specified in term of implicit ask mappings. A reduction with a clause can only be applied to a goal provided that there are no infinite branches on the left hand side of the proof tree for that goal, by ....
[Article contains additional citation context not shown here]
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages, pages 95--104. ACM Press, 1992.
....Another problem with [13] was that an abstract analysis built on that semantics was not necessarily finite even when defined on finite abstract domain. This important problem is solved in the present work (see section 9) Another approach strongly related to ours is the one described in [1], where a semantics for logic programs with Prolog control was obtained by compiling a Prolog program into an ask tell language, so that the semantics of the Prolog program can be viewed as the semantics of a concurrent logic program. The main problem with [1] is that the transformation uses ....
....to ours is the one described in [1] where a semantics for logic programs with Prolog control was obtained by compiling a Prolog program into an ask tell language, so that the semantics of the Prolog program can be viewed as the semantics of a concurrent logic program. The main problem with [1] is that the transformation uses constraints like the execution of this goal terminates , whose abstraction is not trivial. The problem related to the abstraction of these goals, in a finite abstract analysis framework, is the same as the problem of finding an (upward or downward) approximation ....
[Article contains additional citation context not shown here]
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. Journal of Logic and Computation, 3:579--603, 1993.
....of termination which can replace the corresponding operational condition in Definition 11. That is, we can express the Prolog oracle declaratively. We now turn to the problem of expressing the Prolog semantics in a TP like manner. 4. 2 An oracle declarative semantics for Prolog In [5] we stressed the fact that at each step in a Prolog computation, the set of clauses applicable to the left most atom in a goal depends on the whole goal under the current substitution. This behaves differently from pure logic program computations, where the set of applicable clauses depends only ....
....the same structure. Switching P and I in the TP definition corresponds to switch the construction of proof trees from bottom up to top down. The resulting immediate consequence operator corresponds to the unfolding semantics of the program [17] An alternative approach to solve this problem is in [5]. However that solution is rather complex and more difficult to abstract for the purposes of abstract interpretation. Definition17. oracle fixpoint semantics) Let P be a logic program, f an oracle for P and I a clausal interpretation. T f P (I ) 8 : h B)oe] fi fi fi fi fi ....
[Article contains additional citation context not shown here]
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages, pages 95--104. ACM Press, 1992.
.... 1 (617)253 1922, Fax: 1(617)253 3480, Email: miccianc theory.lcs.mit.edu Modelling control is attractive because it would allow new kinds of analyses and would improve the precision of existing ones. Several attempts to enhance traditional semantics with control related features have been made [2, 3, 5], and abstract interpretation frameworks that handle prolog search rule and cut have started to appear [6] However, none of [2, 3, 5] was shown to be actually usable for abstract interpretation, and [6] is not completely satisfactory from a theoretical point of view. In fact in [6] it is argued ....
....kinds of analyses and would improve the precision of existing ones. Several attempts to enhance traditional semantics with control related features have been made [2, 3, 5] and abstract interpretation frameworks that handle prolog search rule and cut have started to appear [6] However, none of [2, 3, 5] was shown to be actually usable for abstract interpretation, and [6] is not completely satisfactory from a theoretical point of view. In fact in [6] it is argued that there is no natural idea of collecting semantics for PROLOG, and the abstract semantics is defined by resorting to a notion of ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages, pages 95--104. ACM Press, 1992.
....a more recent version of [11] contains two equivalent (topdown and bottom up) semantics much in the style of O R R (P ) and more similar to the semantics in [17] Other extensions of the s semantics approach which are not related to the frontiers semantics defined in section 5. 3 are presented in [6, 10]. In [10] a compilative approach to model Prolog control is defined. Instead of collecting information concerning the control of the program in the semantics, the program itself is enhanced so that its standard meaning reflects the required control. A logic program P is transformed into a program ....
....version of [11] contains two equivalent (topdown and bottom up) semantics much in the style of O R R (P ) and more similar to the semantics in [17] Other extensions of the s semantics approach which are not related to the frontiers semantics defined in section 5. 3 are presented in [6, 10] In [10] a compilative approach to model Prolog control is defined. Instead of collecting information concerning the control of the program in the semantics, the program itself is enhanced so that its standard meaning reflects the required control. A logic program P is transformed into a program P ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. Journal of Logic and Computation, 3, 1993.
....be independent in the pure PROLOG case. The main problem to be solved in order to extend the generalized semantics approach to pure PROLOG programs is the definition of a semantics of pure PROLOG in the s semantics style. There are three candidate proposals: ffl the modeling control semantics [2, 3], where a pure PROLOG program is transformed into an ask tell constraint program, with the ask constraints expressing the termination properties. ffl the oracle semantics in [4] which is parametric w.r.t. an oracle which embodies the control strategy (and the oracle can be specialized to the ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. Journal of Logic and Computation, 3:579--603, 1993.
....be independent in the pure PROLOG case. The main problem to be solved in order to extend the generalized semantics approach to pure PROLOG programs is the definition of a semantics of pure PROLOG in the s semantics style. There are three candidate proposals: ffl the modeling control semantics [2, 3], where a pure PROLOG program is transformed into an ask tell constraint program, with the ask constraints expressing the termination properties. ffl the oracle semantics in [4] which is parametric w.r.t. an oracle which embodies the control strategy (and the oracle can be specialized to the ....
....pure PROLOG computed answers. The semantics is given according to the s semantics style and is oriented towards abstract interpretation. The construction of abstract interpretations in the style of those developed for logic programs was indeed the aim of several other semantics for pure PROLOG [2, 4, 6]. However none of those semantics was shown to be actually usable for abstract interpretation. Our bottom up definition is essentially a reconstruction of the semantics in [6] obtained by instantiating an adaptation of the generalized semantics scheme [26, 27] A nice feature is that we don t ....
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages, pages 95--104. ACM Press, 1992.
No context found.
Roberto Barbuti, Michael Codish, Roberto Giacobazzi, and Giorgio Levi. Modelling Prolog control. Journal of Logic and Computation, 3(6):579-603, December 1993.
No context found.
R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages. ACM, 1992.
No context found.
Barbuti, R., Codish, M., Giacobazzi, R. and Levi, G. (1993). Modelling Prolog Control. Journal of Logic and Computation 3(6), 579-603.
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