## S-Semantics Approach: Theory and Applications (1994)

Citations: | 119 - 27 self |

### BibTeX

@MISC{Bossi94s-semanticsapproach:,

author = {A. Bossi and M. Gabbrielli and G. Levi and M. Martelli},

title = {S-Semantics Approach: Theory and Applications},

year = {1994}

}

### Years of Citing Articles

### OpenURL

### Abstract

The paper is a general overview of an approach to the semantics of logic programs whose aim is finding notions of models which really capture the operational semantics, and are therefore useful for defining program equivalences and for semantics-based program analysis. The approach leads to the introduction of extended interpretations which are more expressive than Herbrand interpretations. The semantics in terms of extended interpretations can be obtained as a result of both an operational (top-down) and a fixpoint (bottom-up) construction. It can also be characterized from the model-theoretic viewpoint, by defining a set of extended models which contains standard Herbrand models. We discuss the original construction modeling computed answer substitutions, its compositional version and various semantics modeling more concrete observables. We then show how the approach can be applied to several extensions of positive logic programs. We finally consider some applications, mainly in the area of semantics-based program transformation and analysis.

### Citations

1930 |
Foundations of Logic Programming
- Lloyd
- 1987
(Show Context)
Citation Context ...m transformation, semantics-based analysis and metaprogramming. 1.6 Preliminaries The reader is assumed to be familiar with the terminology of and the basic results in the semantics of logic programs =-=[88, 3]-=-. Let L be the first order language defined by the signature S consisting of a set C of data constructors, a finite set P of predicate symbols, a denumerable set V of variable symbols. Let L 0 be the ... |

1564 | The Stable Model Semantics for Logic Programming
- Gelfond, Lifschitz
- 1988
(Show Context)
Citation Context ... same construction was independently proposed in [25]. 5 A negative clause [75] is a normal clause of the form A : \Gamma:B 1 ; : : : ; :Bn . It is also strongly related to the stable model semantics =-=[64]-=- of P , as shown by the following very important theorem. Theorem 6.20 [43] Every Herbrand model of the completion of F k (P ) is a stable model of P . As we will show in the next section the semantic... |

812 | Semantics of constraint logic programs
- Jaffar, Maher, et al.
- 1998
(Show Context)
Citation Context ...6 Extending the s-semantics to other logic languages 6.1 Constraint logic programs The s-semantics extends quite naturally to the Constraint Logic Programming paradigm as defined by Jaffar and Lassez =-=[71]-=-, where constraints are interpreted over an algebraic structure A. A constraint c is solvable iff there exists a valuations# (solution) mapping variables to elements of the domain of A, such that c# i... |

743 | The semantics of predicate logic as a programming language
- Emdem, Kowalski
- 1976
(Show Context)
Citation Context ...edure similar to the denotational and the operational semantics of conventional programming languages. This is exactly what van Emden and Kowalski did for definite Horn clauses in their seminal paper =-=[109]-=-, where the proof procedure was SLD-resolution and the model was the least Herbrand model. The semantics is then a mathematical object which is defined in model-theoretic terms and which can be comput... |

631 |
Towards a theory of declarative knowledge
- APT, BLAIR, et al.
- 1988
(Show Context)
Citation Context ... The first attempt to extend the s-semantics to negation is described in [108]. It is a bottom-up semantics for stratified normal programs which generalizes to the non-ground case the construction of =-=[4]. Th-=-e resulting denotation has several similarities with the s-semantics, namely the fixpoint characterization and the use of sets of clauses (with constraints) as ��-interpretations. However, there i... |

498 |
Algorithmic Program Debugging
- Shapiro
- 1983
(Show Context)
Citation Context ...pplications [8]. 7.3 Declarative debugging The application of the s-semantics approach to semantics-based (declarative) debugging [16] has the following features when compared to the existing methods =-=[103, 49, 87]-=-. ffl The s-semantics, when taken as specification of the intended semantics, allows us to obtain a more accurate diagnosis than the one that can be obtained using the least Herbrand model or the c-se... |

436 |
Logic programming
- Apt
- 1990
(Show Context)
Citation Context ...m transformation, semantics-based analysis and metaprogramming. 1.6 Preliminaries The reader is assumed to be familiar with the terminology of and the basic results in the semantics of logic programs =-=[88, 3]-=-. Let L be the first order language defined by the signature S consisting of a set C of data constructors, a finite set P of predicate symbols, a denumerable set V of variable symbols. Let L 0 be the ... |

396 | A Kripke/Kleene Semantics for logic programs
- Fitting
- 1985
(Show Context)
Citation Context ...iscussed in section 6.1). The two elements of the pair specify the positive and negative components of the ��-interpretation. The function H now maps ��-interpretations onto partial A-interpre=-=tations [50, 51]-=-. The denotation O CN (P ) of a normal CLP program P has two equivalent top-down and bottom-up characterizations and is correct w.r.t. the answer constraints observable. Finally, H(O CN (P )) is Kunen... |

247 |
Partial evaluation in logic programming
- Lloyd, Shepherdson
- 1991
(Show Context)
Citation Context ... a derivation p( ~ X) fl ;P;R D 1 ; : : : ; Dm # ;P ;R B 1 ; : : : ; Bn ; and P red(B 1 ; : : : ; Bn ) `\Omega ; c = p( ~ X)fl# : \GammaB 1 ; : : : ; Bng Note that O\Omega (P ) is a set of resultants =-=[89, 3]-=- obtained from goals of the form p( ~ X) in P and is strongly related to partial evaluation [78] 2 . The set of clauses Id\Omega in the previous definition is used to delay the evaluation of open atom... |

241 |
Negation in logic programming
- Kunen
- 1987
(Show Context)
Citation Context ...ion O CN (P ) of a normal CLP program P has two equivalent top-down and bottom-up characterizations and is correct w.r.t. the answer constraints observable. Finally, H(O CN (P )) is Kunen's semantics =-=[80], nam-=-ely \Phi P " !, where \Phi P is Fitting's map on partial A-interpretations [50]. It is worth noting that a similar bottom-up characterization can be obtained by the non-ground extension of \Phi P... |

227 |
Unfold/Fold Transformations of Logic Programs
- Tamaki, Sato
- 1984
(Show Context)
Citation Context ...swers semantics is considered. In fact the answer substitution X=[a; b] would be missed in the transformed program. As a matter of fact, all the program transformation techniques, such as unfold/fold =-=[107]-=- and partial evaluation [78], are defined so as to preserve some observational equivalences. In most of these techniques, the relevant observables are computed answers (and sometimes finite failures).... |

205 |
Abduction compared with negation as failure
- Eshghi, Kowalski
- 1989
(Show Context)
Citation Context ... of O\Omega (P ), we can analyze program components and then combine the results to obtain the analysis of the whole program [32]. Let us finally mention that O\Omega is strongly related to abduction =-=[44]-=-. If\Omega is the set of abducible predicates, the abductive consequences of any goal G can be found by executing G in O\Omega (P ). 5 Other observables 5.1 Finite failures There exist other useful ob... |

199 |
A Practical Framework for the Abstract Interpretation of Logic Programs
- Bruynooghe
- 1991
(Show Context)
Citation Context ...s that the real issue is goal dependency vs. goal independency rather than top-down vs. bottom-up. Another relevant feature of the analysis method is its ability to determine call pattern information =-=[24, 73, 94]-=-, i.e. information about the procedure calls (atoms selected in an SLD-derivation). The ability to determine call patterns is also usually associated to goal dependent top-down methods. Again, the s-s... |

192 |
Concurrent Constraint Programming Languages
- Saraswat
- 1989
(Show Context)
Citation Context ...responding equivalence notions can profitably be used to prove interesting properties of optimization procedures. The approach has finally been applied to concurrent constraint programs as defined in =-=[101]-=-, leading to the definition of equivalent top-down and bottom-up semantics, defined as sets of unit clauses [45, 57], which are trees of ask and tell constraints. The denotation correctly models compu... |

187 | Toward a foundation of disjunctive logic programming - Minker - 1989 |

143 | A Denotational Semantics of Inheritance and its Correctness
- Cook, Palsberg
(Show Context)
Citation Context ...of a component is obtained by defining a new component that performs some special operations and possibly calls the original one. An intuitive justification for such an interpretation can be found in =-=[35]-=-. See also [26] for a survey on inheritance mechanisms in logic programming. Differential programs [18] are program components, i.e. logic programs annotated by three sets of exported predicate symbol... |

132 |
Constructive Negation Based on the Completed Database
- CHAN
- 1988
(Show Context)
Citation Context ...to constructive negation. 6.4 Constructive negation The inference rule for negation which is the most adequate to be handled by the s-semantics approach is clearly constructive negation introduced in =-=[27, 28]-=-, because it allows the negative literals to compute answers. The first attempt to extend the s-semantics to negation is described in [108]. It is a bottom-up semantics for stratified normal programs ... |

126 |
Deriving descriptions of possible values of program variables by means of abstract interpretation
- Janssens, Bruynooghe
- 1992
(Show Context)
Citation Context ...s that the real issue is goal dependency vs. goal independency rather than top-down vs. bottom-up. Another relevant feature of the analysis method is its ability to determine call pattern information =-=[24, 73, 94]-=-, i.e. information about the procedure calls (atoms selected in an SLD-derivation). The ability to determine call patterns is also usually associated to goal dependent top-down methods. Again, the s-s... |

121 | Negation and constraint logic programming
- Stuckey
- 1995
(Show Context)
Citation Context ...), while the non-stratified negation is still there in some clauses. The above approaches have been overriden by [23], which considers constructive negation in constraint logic programs as defined in =-=[105], fo-=-r which there exists a very strong completeness result w.r.t. 3-valued models of the completion.s��-interpretations are pairs of sets of (equivalence classes of) constrained atoms (similar to thos... |

116 |
Declarative modeling of the operational behavior of logic languages
- Falaschi, Levi, et al.
- 1989
(Show Context)
Citation Context ...capture various computational aspects in a goal-independent way. These aspects include observable properties such as -- computed answers, which are modeled by sets of non-ground atoms or unit clauses =-=[47]-=- (see section 3), -- call patterns, which are modeled by sets of binary clauses [61] (see section 5.3.2), -- resultants, which are modeled by sets of clauses [59] (see section 5.3). Goal-independence ... |

104 |
A semantics-based framework for the abstract interpretation of Prolog
- Jones, Sondergaard
- 1987
(Show Context)
Citation Context ... by using the \Omega\Gammae/478 tics. The result is a denotation consisting of clauses very similar to the one in [53]. ffl It is worth noting that the top-down operational or denotational frameworks =-=[24, 94, 104, 74] do indeed-=- contain a lot of information on the "internal " computation details. By choosing a semantics like the one of section 5.3, we can model the same observables and still get a goal independent ... |

93 |
Predicate logic as a computational formalism
- Clark
- 1979
(Show Context)
Citation Context ...ams, this semantics cannot be taken as the reference semantics. This is the reason why the need for a different formal semantics was recognized by many authors, giving rise to several new definitions =-=[30, 49, 113, 42]-=-. The need for better semantics was also recognized in the case of semantics-based abstract interpretation [94] and transformation [76]. 1.4 Compositionality In addition to the problem related to mode... |

91 |
Static analysis of logic programs for independent ANDparallelism
- Jacobs, Langen
- 1992
(Show Context)
Citation Context ... O o , by providing the abstract versions of the operators involved in the top-down and bottom-up definitions and by proving the correctness theorems. If the abstraction satisfies suitable properties =-=[70, 66]-=-, we have two equivalent methods for computing the goal independent abstract denotation O ff(o) (P ) of the program P . ffl The result of the analysis for a specific goal G can be determined by exploi... |

80 |
Equivalences of logic programs
- Maher
- 1988
(Show Context)
Citation Context ...of logical consequences or the least Herbrand model, and proof-theoretic properties, such as the set of derivable atoms. A systematic comparison of several program equivalences has been worked out in =-=[91]. In parti-=-cular, [91] shows the relations between equivalences based on purely logical properties and equivalences induced on programs by more "operational" aspects. For example, subsumption equivalen... |

78 |
Declarative Error Diagnosis
- Lloyd
- 1987
(Show Context)
Citation Context ...pplications [8]. 7.3 Declarative debugging The application of the s-semantics approach to semantics-based (declarative) debugging [16] has the following features when compared to the existing methods =-=[103, 49, 87]-=-. ffl The s-semantics, when taken as specification of the intended semantics, allows us to obtain a more accurate diagnosis than the one that can be obtained using the least Herbrand model or the c-se... |

75 | A General Framework for Semantics-Based Bottom-Up Abstract Interpretation of Logic Programs
- Barbuti, Giacobazzi, et al.
- 1993
(Show Context)
Citation Context ...es the semantic kernel considered in section 6.3. 7.2 Program analysis In the area of program analysis, the s-semantics has been used as a foundation of several frameworks for abstract interpretation =-=[13, 65, 77, 31]-=-. Abstract interpretation is inherently semantics sensitive and different semantic definition styles lead to different approaches to program analysis. In the case of logic programs (see [38] for a bro... |

75 |
Recursive query processing: The power of logic
- Vieille
- 1986
(Show Context)
Citation Context ... be extended to our definition. In particular, if we want a bottom-up definition equivalent to the top-down one, we have to consider "local" selection rules only. A local selection rule is d=-=efined in [112]-=- as a rule which always selects in a goal N one of the most recently introduced atoms in the derivation from the initial goal to N . Note that the PROLOG leftmost rule is local and that in general loc... |

72 | A compositional semantics for logic programs
- Bossi, Gabrielli, et al.
- 1994
(Show Context)
Citation Context ... any set A, A denotes the set of finite sequences of elements of A. :: will denote concatenation of sequences andsis the empty sequence. 2 The s-semantics approach The aim of the s-semantics approach =-=[82, 56, 52, 58]-=- is modeling the observable behaviors (possibly in a compositional way) for a variety of logic languages. The approach is based on the idea of choosing (equivalence classes of) sets of clauses as sema... |

72 |
Denotational abstract interpretation of logic programs
- Marriott, Søndergaard, et al.
- 1994
(Show Context)
Citation Context ...ntics. The bottom-up approach propagates the information as in the computation of the least fixpoint of the immediate consequences operator TP . The idea of bottom-up analysis was first introduced in =-=[93]-=-. The main difference between the top-down and the bottom-up approach is usually related to goal dependency. In particular, a top-down analysis starts with a specific goal, while the bottom-up approac... |

70 |
A generalization of the differential approach to recursive query evaluation
- Balbin, Ramamohanarao
- 1987
(Show Context)
Citation Context ...than sets. Such an extension was needed to investigate properties which make possible improvements in the performance of the bottom-up fixpoint evaluation. Algorithms such as the Seminaive evaluation =-=[9]-=- try to avoid repeating inferences by comparing the new facts computed at each iteration with previously generated facts to eliminate duplicates. To study properties of these algorithms and their spec... |

69 |
A Model-theoretic Reconstruction of the Operational Semantics of Logic Programs
- Falaschi, Levi, et al.
- 1993
(Show Context)
Citation Context ...1 and O 2 are infinite. Example 3.7 shows that the three semantics are different. Indeed, if we denote by j i the program equivalence induced by O i , i = 1; 2, the following (strict) inclusion holds =-=[47, 48]-=-. ' ` j 2 ` j 1 , i.e. ' is finer than j 2 , and j 2 is finer than j 1 . This shows that the success set semantics is not correct with respect to computed answers. Moreover the correctness cannot be a... |

64 |
Lloyd: Analysis of Meta-Programs
- Hill, W
- 1989
(Show Context)
Citation Context ... of P and the semantics of VP = vanilla [ PM . The problem is related to differences in the languages used at the metalevel and at the object level and was solved either by considering typed programs =-=[69]-=-, or by considering language independent programs only [37]. If we consider the ssemantics of P and VP , due to the property stated by theorem 3.11, the language problem disappears and we can easily p... |

64 |
The acceptability semantics for logic programs
- Kakas, Mancerella, et al.
- 1994
(Show Context)
Citation Context ...ion (the least fixpoint of suitable continuous immediate consequences operators on ��-interpretations). The link between the top-down and the bottom-up constructions is given by an unfolding opera=-=tor [82, 83]-=-. The equivalence proofs can be stated in terms of simple properties of the unfolding and the immediate consequences operators [41]. It is worth noting that the aim of the approach is not defining a n... |

64 |
The mathematics of metamathematic
- Rasiowa, Sikorski
- 1963
(Show Context)
Citation Context ... Note that ��-interpretations of definition 3.3 are not Herbrand interpretations, yet are interpretations defined on the Herbrand universe. These interpretations were called canonical realizations=-= in [100, 79]-=-. Theorem 3.4 shows that O actually models computed answer substitutions and that it is fully abstract, since P 1 ' P 2 implies O(P 1 ) = O(P 2 ). Theorem 3.4 [47] Let P 1 ; P 2 be positive programs. ... |

57 |
Prop revisited: propositional formula as abstract domain for groundness analysis
- Cortesi, FilYe, et al.
- 1991
(Show Context)
Citation Context ...ysis less precise. While this is needed to handle generic (possibly infinite) abstract domains, there exists [54] a wide class of compositionally tractable abstract domains (e.g Sharing [70] and Prop =-=[36]-=-) for which a finite description of the compositional abstract semantics can be obtained without a further level of abstraction. In fact, when considering compositionally tractable domains we are esse... |

57 | E.: Fully Abstract Compositional Semantics for Logic Programs - Gaifman, Shapiro - 1989 |

57 |
Partial evaluation as a means for inferencing data structures in an applicative language: A theory and implementation i the case of Prolog
- Komorowski
- 1982
(Show Context)
Citation Context ...n ) `\Omega ; c = p( ~ X)fl# : \GammaB 1 ; : : : ; Bng Note that O\Omega (P ) is a set of resultants [89, 3] obtained from goals of the form p( ~ X) in P and is strongly related to partial evaluation =-=[78]-=- 2 . The set of clauses Id\Omega in the previous definition is used to delay the evaluation of open atoms. This is a trick which allows us to obtain a denotation which is independent from the (fair) s... |

56 | Bottom-up abstract interpretation of logic programs
- Codish, Dams, et al.
- 1994
(Show Context)
Citation Context ...es the semantic kernel considered in section 6.3. 7.2 Program analysis In the area of program analysis, the s-semantics has been used as a foundation of several frameworks for abstract interpretation =-=[13, 65, 77, 31]-=-. Abstract interpretation is inherently semantics sensitive and different semantic definition styles lead to different approaches to program analysis. In the case of logic programs (see [38] for a bro... |

56 | Compositional Analysis of Modular Logic Programs
- Codish, Debray, et al.
- 1993
(Show Context)
Citation Context ...ic basis for modular program analysis, since by using suitable abstractions of O\Omega (P ), we can analyze program components and then combine the results to obtain the analysis of the whole program =-=[32]-=-. Let us finally mention that O\Omega is strongly related to abduction [44]. If\Omega is the set of abducible predicates, the abductive consequences of any goal G can be found by executing G in O\Omeg... |

55 |
A fixpoint semantics for disjunctive logic programs
- Minker, Rajasekar
- 1990
(Show Context)
Citation Context ...section 4), -- the semantic kernel for normal logic programs [43, 75], whose domains are sets of negative normal clauses (see section 6.3), -- the model state semantics for disjunctive logic programs =-=[98, 90]-=-, whose domains are sets of positive disjunctive ground clauses (see section 6.2). The overall approach is called in this paper the s-semantics approach after the s-semantics [47], which was the first... |

48 |
Error diagnosis in logic programming: An adaptation of E. Y. Shapiro’s method
- Ferrand
- 1987
(Show Context)
Citation Context ...ams, this semantics cannot be taken as the reference semantics. This is the reason why the need for a different formal semantics was recognized by many authors, giving rise to several new definitions =-=[30, 49, 113, 42]-=-. The need for better semantics was also recognized in the case of semantics-based abstract interpretation [94] and transformation [76]. 1.4 Compositionality In addition to the problem related to mode... |

48 |
Unfold/fold transformation of stratified programs
- Seki
- 1991
(Show Context)
Citation Context ...antics only, thus failing to capture the safeness w.r.t. the more complex observable behavior. In some cases the observational equivalences related to computed answers [76, 89] and to finite failures =-=[102]-=- are considered. Usually proving that the transformation preserves the observational equivalence is rather complex (see, for example, the proofs of the partial evaluation theorems in [89]). The same g... |

39 |
Analysing logic programs using "Prop"-ositional logic programs and a magic wand, in
- Codish, Demoen
- 1993
(Show Context)
Citation Context ...An abstraction of the operator T \Pi P 0 of definition 3.13 can now be used to compute in a bottom-up way information on the call patterns of G in P . Recently, the approach was made goal independent =-=[33]-=-, by using the \Omega\Gammae/478 tics. The result is a denotation consisting of clauses very similar to the one in [53]. ffl It is worth noting that the top-down operational or denotational frameworks... |

38 |
Partial evaluation of prolog programs and its application to meta programming
- Takeuchi, Furukawa
- 1986
(Show Context)
Citation Context ...quivalences. In most of these techniques, the relevant observables are computed answers (and sometimes finite failures). There exists at least one technique, the partial evaluation of "open"=-= programs [111, 106, 86]-=-, whose aim is to preserve a [-compositional program equivalence 7 . Most of the transformation techniques are proved to be safe w.r.t. the declarative semantics only, thus failing to capture the safe... |

36 |
Logic programming as constructivism: A formalization and its application to databases
- Bry
- 1989
(Show Context)
Citation Context ...ormal program, as shown by the following theorem. Theorem 6.19 [75] Every model of the completion of F k (P ) is a model of the completion of P . 4 The same construction was independently proposed in =-=[25]-=-. 5 A negative clause [75] is a normal clause of the form A : \Gamma:B 1 ; : : : ; :Bn . It is also strongly related to the stable model semantics [64] of P , as shown by the following very important ... |

35 | Modeling Answer Constraints in Constraint Logic Programs
- Gabbrielli, Levi
- 1991
(Show Context)
Citation Context ...d the last goal has the form c2 where c is the answer constraint. The observable we consider is then the answer constraint. All the definitions and results on the answer constraint semantics are from =-=[55]-=-. The observational program equivalence ' based on answer constraints is the following. Definition 6.1 Let P 1 ; P 2 be CLP programs. P 1 ' P 2 iff for every goal G the following hold ffl if G ! 7\Gam... |

33 |
An extension of constructive negation and its application in coroutining
- Chan
- 1989
(Show Context)
Citation Context ...to constructive negation. 6.4 Constructive negation The inference rule for negation which is the most adequate to be handled by the s-semantics approach is clearly constructive negation introduced in =-=[27, 28]-=-, because it allows the negative literals to compute answers. The first attempt to extend the s-semantics to negation is described in [108]. It is a bottom-up semantics for stratified normal programs ... |

33 | Semantics-based dataflow analysis of logic programs
- Marriott, Søndergaard
- 1989
(Show Context)
Citation Context ...tics was recognized by many authors, giving rise to several new definitions [30, 49, 113, 42]. The need for better semantics was also recognized in the case of semantics-based abstract interpretation =-=[94]-=- and transformation [76]. 1.4 Compositionality In addition to the problem related to modeling the computed answers observational equivalences, there exists another problem with the least Herbrand mode... |

32 | A Generalized Semantics for Constraint Logic Programs
- Giacobazzi, Debray, et al.
- 1992
(Show Context)
Citation Context ...o the compositional semantics. The equivalent top-down and bottom-up semantics modeling the answer constraints have also an elegant algebraic characterization oriented towards abstract interpretation =-=[66]-=-, that will be discussed in section 7.2. The s-semantics of CLP and its compositional version have been applied to obtain the semantics of two new instances of the CLP scheme, namely CLP (H=E) and CLP... |

30 | Goal independency and call patterns in the analysis of logic programs
- Gabbrielli, Giacobazzi
- 1994
(Show Context)
Citation Context ...mputation than just the computed answers. Namely, we have to model an observable consisting of all the procedure calls. The problem of analyzing properties of the call patterns has been considered in =-=[53]-=-, where the concrete semantics is the call patterns semantics derived according to a local selection rule, as defined in [61, 59]. The resulting abstract semantics are goal independent, parametric w.r... |