Results 1  10
of
33
Verification of Parameterized Systems Using Logic Program Transformations
, 1999
"... We show how the problem of verifying parameterized systems can be... ..."
Abstract

Cited by 25 (7 self)
 Add to MetaCart
We show how the problem of verifying parameterized systems can be...
Transformation Rules for Locally Stratified Constraint Logic Programs
, 2004
"... We propose a set of transformation rules for constraint logic programs with negation. We assume that every program is locally strati ed and, thus, it has a unique perfect model. We give sucient conditions which ensure that the proposed set of transformation rules preserves the perfect model of ..."
Abstract

Cited by 24 (21 self)
 Add to MetaCart
(Show Context)
We propose a set of transformation rules for constraint logic programs with negation. We assume that every program is locally strati ed and, thus, it has a unique perfect model. We give sucient conditions which ensure that the proposed set of transformation rules preserves the perfect model of the programs. Our rules extend in some respects the rules for logic programs and constraint logic programs already considered in the literature and, in particular, they include a rule for unfolding a clause with respect to a negative literal.
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 ..."
Abstract

Cited by 12 (9 self)
 Add to MetaCart
(Show Context)
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 semiautomatic way. Our strategy may or may not terminate, depending on t...
Static Analysis for Safe Destructive Updates (Extended Abstract)
 Logic Based Program Synthesis and Transformation (LOPSTR 2001), volume 2372 of LNCS
, 2001
"... this paper is for a generic functional language and requires no prior knowledge of PVS. ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
this paper is for a generic functional language and requires no prior knowledge of PVS.
Program Development Schemata as Derived Rules
, 2000
"... This paper makes several contributions towards a clarified view of schemabased program development. First, we propose that schemata can be understood, formalized, and used in a simple way: program development schemata are derived rules. We mean this in the standard sense of a derived rule of infere ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
This paper makes several contributions towards a clarified view of schemabased program development. First, we propose that schemata can be understood, formalized, and used in a simple way: program development schemata are derived rules. We mean this in the standard sense of a derived rule of inference in logic. A schema like Figure i can be formulated as a rule stating that the conclusion follows from the premises defining F, G, and the applicability conditions. By deriving the rule in an axiomatic theory, we validate a semantic statement about it: the conclusion of the rule holds in every model where both the axioms of the theory and the premises of the rule are true. Hence, by selecting a language to work in we control which development schemata are formalizable, and by selecting a theory we determine which schemata are derivable
R.: A coinduction rule for entailment of recursively defined properties
 In Stuckey, P.J., ed.: 14th CP. Volume 5202 of LNCS
, 2008
"... Abstract. Recursively defined properties are ubiquitous. We present a proof method for establishing entailment G  = H of such properties G and H over a set of common variables. The main contribution is a particular proof rule based intuitively upon the concept of coinduction. This rule allows the i ..."
Abstract

Cited by 9 (8 self)
 Add to MetaCart
(Show Context)
Abstract. Recursively defined properties are ubiquitous. We present a proof method for establishing entailment G  = H of such properties G and H over a set of common variables. The main contribution is a particular proof rule based intuitively upon the concept of coinduction. This rule allows the inductive step of assuming that an entailment holds during the proof the entailment. In general, the proof method is based on an unfolding (and no folding) algorithm that reduces recursive definitions to a point where only constraint solving is necessary. The constraintbased proof obligation is then discharged with available solvers. The algorithm executes the proof by a searchbased method which automatically discovers the opportunity of applying induction instead of the user having to specify some induction schema, and which does not require any base case. 1
Proving properties of constraint logic programs by eliminating existential variables
 In Proc. ICLP ’06, LNCS 4079
, 2006
"... Abstract. We propose a method for proving rst order properties of constraint logic programs which manipulate nite lists of real numbers. Constraints are linear equations and inequations over reals. Our method consists in converting any given rst order formula into a strati ed constraint logic progra ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
(Show Context)
Abstract. We propose a method for proving rst order properties of constraint logic programs which manipulate nite lists of real numbers. Constraints are linear equations and inequations over reals. Our method consists in converting any given rst order formula into a strati ed constraint logic program and then applying a suitable unfold/fold transformation strategy that preserves the perfect model. Our strategy is based on the elimination of existential variables, that is, variables which occur in the body of a clause and not in its head. Since, in general, the rst order properties of the class of programs we consider are undecidable, our strategy is necessarily incomplete. However, experiments show that it is powerful enough to prove several nontrivial program properties. 1
Inductive theorem proving by program specialisation: Generating proofs for Isabelle using Ecce (invited talk
 Proceedings LOPSTR’03, LNCS 3018
, 2004
"... Abstract. In this paper we discuss the similarities between program specialisation and inductive theorem proving, and then show how program specialisation can be used to perform inductive theorem proving. We then study this relationship in more detail for the particular problem of verifying infinite ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
(Show Context)
Abstract. In this paper we discuss the similarities between program specialisation and inductive theorem proving, and then show how program specialisation can be used to perform inductive theorem proving. We then study this relationship in more detail for the particular problem of verifying infinite state systems in order to establish a clear link between program specialisation and inductive theorem proving. Indeed, Ecce is a program specialisation system which can be used to automatically generate abstractions for the model checking of infinite state systems. We show that to verify the abstractions generated by Ecce we may employ the proof assistant Isabelle. Thereby Ecce is used to generate the specification, hypotheses and proof script in Isabelle’s theory format. Then, in many cases, Isabelle can automatically execute these proof scripts and thereby verify the soundness of Ecce’s abstraction. In this work we focus on the specification and verification of Petri nets. 1
The replacement operation for CCP programs
 IN PROCEEDINGS OF LOPSTR '99
, 2000
"... ..."
(Show Context)
Rules and Strategies for Contextual Specialization of Constraint Logic Programs
 Electronic Notes in Theoretical Computer Science 30(2
, 2000
"... We address the problem of specializing a constraint logic program w.r.t. a constrained atom which specifies the context of use of the program. We follow an approach based on transformation rules and strategies. We introduce a novel transformation rule, called contextual constraint replacement, to be ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
We address the problem of specializing a constraint logic program w.r.t. a constrained atom which specifies the context of use of the program. We follow an approach based on transformation rules and strategies. We introduce a novel transformation rule, called contextual constraint replacement, to be combined with variants of the traditional unfolding and folding rules. We present a general Partial Evaluation Strategy for automating the application of these rules, and two additional strategies: the Context Propagation Strategy which is instrumental for the application of our contextual constraint replacement rule, and the Invariant Promotion Strategy for taking advantage of invariance properties of the computation. We show through some examples the power of our method and we compare it with existing methods for partial deduction of constraint logic programs based on extensions of Lloyd and Shepherdson's approach.