Results 1 -
4 of
4
Perfect Model Checking via Unfold/Fold Transformations
- In Computational Logic, LNCS 1861
, 2000
"... 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 local ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
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...
Beyond Tamaki-Sato Style Unfold/Fold Transformations for Normal Logic Programs
- IN ASIAN, LNCS 1742
, 1999
"... Unfold/fold transformation systems for logic programs have been extensively investigated. Existing unfold/fold transformation systems for normal logic programs allow only Tamaki-Sato style folding using clauses from a previous program in the transformation sequence: i.e., they fold using a singl ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Unfold/fold transformation systems for logic programs have been extensively investigated. Existing unfold/fold transformation systems for normal logic programs allow only Tamaki-Sato style folding using clauses from a previous program in the transformation sequence: i.e., they fold using a single, non-recursive clause. In this paper we present a transformation system that permits folding in the presence of recursion, disjunction, as well as negation. We show that the transformations are correct with respect to various semantics of negation including the well-founded model and stable model semantics.
Constructing Programs From Metasystem Transition Proofs
- FIRST INTERNATIONAL WORKSHOP ON METACOMPUTATION IN RUSSIA (META 2008)
, 2008
"... It has previously been shown by Turchin in the context of supercompilation how metasystem transitions can be used in the proof of universally and existentially quantified conjectures. Positive supercompilation is a variant of Turchin’s supercompilation which was introduced in an attempt to study and ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
It has previously been shown by Turchin in the context of supercompilation how metasystem transitions can be used in the proof of universally and existentially quantified conjectures. Positive supercompilation is a variant of Turchin’s supercompilation which was introduced in an attempt to study and explain the essentials of Turchin’s supercompiler. In our own previous work, we have proposed a program transformation algorithm called distillation, which is more powerful than positive supercompilation, and have shown how this can be used to prove a wider range of universally and existentially quantified conjectures in our theorem prover Poitín. In this paper we show how a wide range of programs can be constructed fully automatically from first-order specifications through the use of metasystem transitions, and we prove that the constructed programs are totally correct with respect to their specifications. To our knowledge, this is the first technique which has been developed for the automatic construction of programs from their specifications using metasystem transitions.
Program Transformations for Automated Verification of Parameterized Concurrent Systems
, 1999
"... We show how the problem of verifying parameterized systems can be reduced to the problem of determining the equivalence of goals in a logic program. We further show how goal equivalences can be established using induction-based proofs. Such proofs rely on a powerful new theory of logic program trans ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We show how the problem of verifying parameterized systems can be reduced to the problem of determining the equivalence of goals in a logic program. We further show how goal equivalences can be established using induction-based proofs. Such proofs rely on a powerful new theory of logic program transformations (encompassing unfold, fold and goal replacement transformations). We present this theory of logic program transformations which in particular, allows a more general folding rule (as compared to the state of the art). We show how our more general transformations are useful for constructing verification proofs of parameterized systems. Moreover these verification proofs can be largely automated, and are applicable to a variety of network topologies, including uni- and bi-directional chains, rings, and trees of processes. Unfold transformations in our system correspond to algorithmic model-checking steps, fold and goal replacement correspond to deductve steps. All three types of transfo...

