## Perfect Model Checking via Unfold/Fold Transformations (2000)

### Cached

### Download Links

- [web.comlab.ox.ac.uk]
- [www.iasi.rm.cnr.it]
- DBLP

### Other Repositories/Bibliography

Venue: | In Computational Logic, LNCS 1861 |

Citations: | 10 - 7 self |

### BibTeX

@INPROCEEDINGS{Pettorossi00perfectmodel,

author = {Alberto Pettorossi and Maurizio Proietti},

title = {Perfect Model Checking via Unfold/Fold Transformations},

booktitle = {In Computational Logic, LNCS 1861},

year = {2000},

pages = {613--628},

publisher = {Springer}

}

### OpenURL

### Abstract

We show how program transformation rules and strategies may be used for proving the satisfiability of first order formulas in some classes of models. In particular, we propose a technique for showing that a closed first order formula ' holds in the perfect model M(P ) of a logic program P with locally stratified negation. This property is denoted by M(P ) j= '. For this purpose we consider a new version of the unfold/fold transformation rules and we show that this version preserves the perfect model semantics. Our proof method, called unfold/fold proof method, shows M(P ) j= ' by: (i) introducing a new predicate symbol f and constructing a conjunction F (f ; ') of clauses such that M(P ) j= ' i M(P ^ F (f ; ')) j= f , and then (ii) transforming the program P ^F (f ; ') into a new program of the form Q^f , for some conjunction Q of clauses. We also present a strategy for applying our unfold/fold rules in a semi-automatic way. Our strategy may or may not terminate, depending on t...

### Citations

1921 |
Foundations of Logic Programming
- Lloyd
- 1987
(Show Context)
Citation Context ... for a survey on the semantics of negation in logic programming). Our proof method for showing that M(P ) j= ' holds, consists of two steps: Step 1: we use a variant of the Lloyd-Topor transformation =-=[18]-=- for transforming a statement of the form: fs' where f is a new predicate symbol, into a conjunction F (f; ') of clauses, possibly with negated atoms in their bodies, such that P ^F (f; ') is locally ... |

1177 | Temporal and modal logic
- Emerson
- 1990
(Show Context)
Citation Context ...s. Indeed, in [26] it has been shown that logic programming systems based on tabling are good for inductive theorem proving and they are able to verify CTL properties of nite-state transition system [=-=10]-=-. However, the unfold/fold proof method is more powerful than logic programming systems based on tabling, because during program transformation one has the possibility of using the folding rule. This ... |

978 |
Negation as Failure
- Clark
- 1978
(Show Context)
Citation Context ...uitable programs and formulas in those classes. Finally, in Section 7 we compare our transformational proof method to other theorem proving methods, such as, (i) methods based on the Clark completion =-=[6, 1-=-8], (ii) methods based on resolution augmented by the negation as (nite or innite) failure rule [1, 22], (iii) methods based on induction, and (iv) the proof by consistency method [14, 15, 19]. 2 Prel... |

605 | A transformation system for developing recursive programs
- Burstall, Darlington
- 1977
(Show Context)
Citation Context ... procedure for programs and formulas in the given classes. 1 Introduction One of the main motivations of this paper is to better understand the relationship between unfold/fold program transformation =-=[4, 27]-=- and theorem proving. It is usually recognized that folding steps during program transformation correspond to applications of inductive hypotheses during proofs by induction, and goal replacements cor... |

548 |
A Computational Logic
- Boyer, Moore
- 1979
(Show Context)
Citation Context ...ng to comp(P ) a set of formulas, or induction schemata, that formalize an induction principle over terms of the Herbrand universe. Thus, one may use standard techniques for inductive theorem proving =-=[3-=-]. The main dierence between this method and our unfold/fold proof method is that the latter does not require any induction schema. We leave for future research a formal comparison between the class o... |

296 |
Decidability of Second-Order Theories and Automata on Infinite Trees
- Rabin
- 1969
(Show Context)
Citation Context ... classes are non trivial by proving that both the equivalence problem of tree automata [11] and the decision problem for the clausal fragment of the weak monadic second order theory with n successors =-=[23]-=- can be reduced to the problem of deciding whether or not M(P ) j= ' holds for suitable programs and formulas in those classes. Finally, in Section 7 we compare our transformational proof method to ot... |

271 | Tabled evaluation with delaying for general logic programs
- Chen, Warren
- 1996
(Show Context)
Citation Context ...w.r.t. the perfect model semantics, however it is not an eective inference rule, because the set of consequences of the perfect model of a logic program is not recursively enumerable. SLG resolution [=-=-=-5] combines resolution and memoing (also called tabling) and it is more eective than the SLDNF or SLS resolution methods for dealing with innitely failed derivations. Indeed, in [26] it has been shown... |

250 | Logic programming and negation: a survey
- Apt, Bol
- 1994
(Show Context)
Citation Context ...es to the semantics of negation coincide. Indeed, a locally stratied program has a unique perfect model which is equal to its unique stable model, and also equal to its total well-founded model (see [=-=1]-=- for a survey on the semantics of negation in logic programming). Our proof method for showing that M(P ) j= ' holds, consists of two steps: Step 1: we use a variant of the Lloyd-Topor transformation ... |

226 |
Unfold/fold transformation of logic programs
- Tamaki, Sato
- 1984
(Show Context)
Citation Context ... procedure for programs and formulas in the given classes. 1 Introduction One of the main motivations of this paper is to better understand the relationship between unfold/fold program transformation =-=[4, 27]-=- and theorem proving. It is usually recognized that folding steps during program transformation correspond to applications of inductive hypotheses during proofs by induction, and goal replacements cor... |

126 | Efficient model checking using tabled resolution
- Ramakrishna, Ramakrishnan, et al.
- 1997
(Show Context)
Citation Context ...le. SLG resolution [5] combines resolution and memoing (also called tabling) and it is more eective than the SLDNF or SLS resolution methods for dealing with innitely failed derivations. Indeed, in [2=-=6-=-] it has been shown that logic programming systems based on tabling are good for inductive theorem proving and they are able to verify CTL properties of nite-state transition system [10]. However, the... |

93 | Model Checking in CLP - Delzanno, Podelski - 1999 |

82 |
Proofs by induction in equational theories with constructors. JCSS
- Huet, Hullot
- 1982
(Show Context)
Citation Context ...k completion [6, 18], (ii) methods based on resolution augmented by the negation as (nite or innite) failure rule [1, 22], (iii) methods based on induction, and (iv) the proof by consistency method [1=-=4, 15, -=-19]. 2 Preliminaries In presenting our proof method we consider locally stratied logic programs. Let us begin by recalling some basic denitions. For notions not dened here the reader may refer to [1, ... |

64 |
On proving inductive properties of abstract data types
- Musser
- 1980
(Show Context)
Citation Context ...tion [6, 18], (ii) the methods based on resolution augmented by the negation as (nite or innite) failure rule [1, 22], (iii) the methods based on induction, and (iv) the proof by consistency method [1=-=4, 15, 19]-=-. (i) The method based on the Clark completion amounts to prove that M(P ) j= ' by showing that comp(P) ` ', where comp(P) denotes the Clark completion of program P . (Equivalently, since the Lloyd-To... |

64 | On the declarative and procedural semantics of logic programs
- Przymusinski
- 1995
(Show Context)
Citation Context ...rograms are presented in [8, 16] and [20, 24], respectively. In this paper we extend these techniques by introducing a method for proving that a closed rst order formula ' holds in the perfect model [=-=2-=-2] of a locally stratied logic program P , written as M(P ) j= '. Perfect models are the usual intended semantics for logic programs with locally stratied negation, and for those programs all major ap... |

61 | Infinite state model checking by abstract interpretation and program specialisation - Leuschel, Massart - 1999 |

57 | Semantics of (disjunctive) logic programs based on partial evaluation
- Brass, Dix
- 1999
(Show Context)
Citation Context ...e method based on the Clark completion [7, 19], (ii) the methods based on resolution augmented by the negation as (nite or innite) failure rule [1, 23], (iii) the method based on partial evaluation [4=-=]-=-, (iv) the methods based on induction, and (v) the proof by consistency method [8, 15, 16, 20]. 16 (i) The method based on the Clark completion amounts to prove that M(P ) j= ' by showing that comp(P)... |

38 |
Automatic proofs by induction in theories without constructors
- Jouannaud, Kounalis
- 1989
(Show Context)
Citation Context ...k completion [6, 18], (ii) methods based on resolution augmented by the negation as (nite or innite) failure rule [1, 22], (iii) methods based on induction, and (iv) the proof by consistency method [1=-=4, 15, -=-19]. 2 Preliminaries In presenting our proof method we consider locally stratied logic programs. Let us begin by recalling some basic denitions. For notions not dened here the reader may refer to [1, ... |

38 |
Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs
- Proietti, Pettorossi
- 1995
(Show Context)
Citation Context ... transformation rules, we may use the so called UFS strategy which is an enhancement of a strategy introduced in the case of denite logic programs for deriving programs without existential variables [=-=21]-=-. When our UFS strategy terminates, it derives from P ^ F (f; ') either (i) a new program of the form Q ^ f , in which case M(P ) j= ', or (ii) a program where no clause has head predicate f , in whic... |

31 | Synthesis and transformation of logic programs using unfold/fold proofs
- Pettorossi, Proietti
- 1999
(Show Context)
Citation Context ...ng proofs by induction, and goal replacements correspond to lemma applications. Some transformational techniques for proving equivalences of functional and logic programs are presented in [8, 16] and =-=[20, 2-=-4], respectively. In this paper we extend these techniques by introducing a method for proving that a closed rst order formula ' holds in the perfect model [22] of a locally stratied logic program P ,... |

27 | Equivalences and Transformations of Regular Systems applications to
- Courcelle
- 1986
(Show Context)
Citation Context ...otheses during proofs by induction, and goal replacements correspond to lemma applications. Some transformational techniques for proving equivalences of functional and logic programs are presented in =-=[8, 1-=-6] and [20, 24], respectively. In this paper we extend these techniques by introducing a method for proving that a closed rst order formula ' holds in the perfect model [22] of a locally stratied logi... |

18 |
Tree Automata and Tree Grammars
- Engelfriet
- 1975
(Show Context)
Citation Context ...s of properties and programs for which a deterministic version of the UFS strategy terminates. We show that these classes are non trivial by proving that both the equivalence problem of tree automata =-=[11]-=- and the decision problem for the clausal fragment of the weak monadic second order theory with n successors [23] can be reduced to the problem of deciding whether or not M(P ) j= ' holds for suitable... |

14 |
Unfold/fold program transformation
- Kott
- 1985
(Show Context)
Citation Context ...otheses during proofs by induction, and goal replacements correspond to lemma applications. Some transformational techniques for proving equivalences of functional and logic programs are presented in =-=[8, 1-=-6] and [20, 24], respectively. In this paper we extend these techniques by introducing a method for proving that a closed rst order formula ' holds in the perfect model [22] of a locally stratied logi... |

8 |
Unfold/fold transformation of strati programs
- Seki
- 1991
(Show Context)
Citation Context ...rving transformation rules: denition introduction, positive and negative unfolding, folding, tautology, clause deletion, and goal replacement, which are extensions of the familiar rules presented in [=-=25, 2-=-7] (see Section 4 for the denitions of our rules). In this Semaphore Example we introduce the denitions: (i) hsx > y; up(sx; y); :up(sssx; 0) and (ii) k(n)sx > z; plus(y; n; z); up(sx; y); :up(sssx; 0... |

5 |
Transition system speci/cations with negative premises, Theoret
- Groote
- 1993
(Show Context)
Citation Context ...our unfold/fold transformation techniques for proving properties of those systems and thus, performing nite or innite model checking. The fact that transitions may be subject to negative conditions [13] is not a diculty in our approach because, as we already mentioned, we allow logic programs with stratied negation. The use of logic programming techniques for innite state model checking seems to ... |

4 |
Recursion induction principle revisited
- Boudol, Kott
- 1983
(Show Context)
Citation Context ...gram properties goes back to [16], where it was advocated as a method for proving the equivalence of functional terms. Some limitations and completeness results for this proof method are presented in =-=[2, 8-=-]. Our completeness result (Theorem 4) shows that the unfold, fold, clause deletion, and tautology rules are sucient to prove the equivalence between tree automata, while Courcelle in [8] proves a sim... |

4 | Proving safety properties of innite state systems by compilation into Presburger arithmetic - Fribourg, Olsn - 1997 |

4 | Proofs by program transformations
- Roychoudhury, Kumar, et al.
- 1999
(Show Context)
Citation Context ...ng proofs by induction, and goal replacements correspond to lemma applications. Some transformational techniques for proving equivalences of functional and logic programs are presented in [8, 16] and =-=[20, 2-=-4], respectively. In this paper we extend these techniques by introducing a method for proving that a closed rst order formula ' holds in the perfect model [22] of a locally stratied logic program P ,... |

3 |
Induction = I-axiomatization + rst-order consistency
- Comon, Nieuwenhuis
- 1999
(Show Context)
Citation Context ...) The unfold/fold proof method is related to methods for proof by consistency (also called inductionless induction method) of equational formulas by using term rewriting systems (see [14, 15, 19] and =-=[7]-=- for a brief survey). This relationship is based on the ability of the unfold/fold proof method of proving inductive properties without using an explicit induction schema. However, the proofs by consi... |