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

Cited by 20 (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 14 (13 self)
 Add to MetaCart
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 local ..."
Abstract

Cited by 10 (7 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 semiautomatic way. Our strategy may or may not terminate, depending on t...
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 9 (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 8 (7 self)
 Add to MetaCart
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
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 8 (1 self)
 Add to MetaCart
this paper is for a generic functional language and requires no prior knowledge of PVS.
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 5 (5 self)
 Add to MetaCart
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 5 (1 self)
 Add to MetaCart
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
Program Derivation = Rules + Strategies
 Computational Logic: Logic Programming and Beyond (Essays in honour of Bob Kowalski, Part I), Lecture Notes in Computer Science 2407
, 2001
"... In a seminal paper [38] Prof. Robert Kowalski advocated the paradigm Algorithm = Logic + Control which was intended to characterize program executions. Here we want to illustrate the corresponding paradigm Program Derivation = Rules + Strategies which is intended to characterize program derivations, ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
In a seminal paper [38] Prof. Robert Kowalski advocated the paradigm Algorithm = Logic + Control which was intended to characterize program executions. Here we want to illustrate the corresponding paradigm Program Derivation = Rules + Strategies which is intended to characterize program derivations, rather than executions. During program execution, the Logic component guarantees that the computed results are correct, that is, they are true facts in the intended model of the given program, while the Control component ensures that those facts are derived in an efficient way. Likewise, during program derivation, the Rules component guarantees that the derived programs are correct and the Strategies component ensures that the derived programs are efficient.