Results 1 
6 of
6
A languagebased approach to functionally correct imperative programming
 IN PROCEEDINGS OF THE 10TH INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP05
, 2005
"... In this paper a languagebased approach to functionally correct imperative programming is proposed. The approach is based on a programming language called RSP1, which combines dependent types, general recursion, and imperative features in a typesafe way, while preserving decidability of type checki ..."
Abstract

Cited by 33 (8 self)
 Add to MetaCart
In this paper a languagebased approach to functionally correct imperative programming is proposed. The approach is based on a programming language called RSP1, which combines dependent types, general recursion, and imperative features in a typesafe way, while preserving decidability of type checking. The methodology used is that of internal verification, where programs manipulate programmersupplied proofs explicitly as data. The fundamental technical idea of RSP1 is to identify problematic operations as impure, and keep them out of dependent types. The resulting language is powerful enough to verify statically nontrivial properties of imperative and functional programs. The paper presents the ideas through the examples of statically verified merge sort, statically verified imperative binary search trees, and statically verified directed acyclic graphs. This paper is an extended version of [30].
Proofproducing Congruence Closure
 16th International Conference on Rewriting Techniques and Applications
, 2005
"... www.lsi.upc.es/{~roberto,~oliveras} Abstract. Many applications of congruence closure nowadays require the ability of recovering, among the thousands of input equations, the small subset that caused the equivalence of a given pair of terms. For this purpose, here we introduce an incremental congruen ..."
Abstract

Cited by 30 (2 self)
 Add to MetaCart
www.lsi.upc.es/{~roberto,~oliveras} Abstract. Many applications of congruence closure nowadays require the ability of recovering, among the thousands of input equations, the small subset that caused the equivalence of a given pair of terms. For this purpose, here we introduce an incremental congruence closure algorithm that has an additional Explain operation. First, two variations of unionfind data structures with Explain are introduced. Then, these are applied inside a congruence closure algorithm with Explain, whereakstep proof can be recovered in almost optimal time (quasilinear in k), without increasing the overall O(n log n)runtime of the fastest known congruence closure algorithms. This nontrivial (ground) equational reasoning result has been quite intensively sought after (see, e.g., [SD99, dMRS04, KS04]), and moreover has important applications to verification.
Verifying and reflecting quantifier elimination for Presburger arithmetic
 LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING
, 2005
"... We present an implementation and verification in higherorder logic of Cooper’s quantifier elimination for Presburger arithmetic. Reflection, i.e. the direct execution in ML, yields a speedup of a factor of 200 over an LCFstyle implementation and performs as well as a decision procedure handcode ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
We present an implementation and verification in higherorder logic of Cooper’s quantifier elimination for Presburger arithmetic. Reflection, i.e. the direct execution in ML, yields a speedup of a factor of 200 over an LCFstyle implementation and performs as well as a decision procedure handcoded in ML.
Verifying mixed realinteger quantifier elimination
 IJCAR 2006, LNCS 4130
, 2006
"... We present a formally verified quantifier elimination procedure for the first order theory over linear mixed realinteger arithmetics in higherorder logic based on a work by Weispfenning. To this end we provide two verified quantifier elimination procedures: for Presburger arithmitics and for lin ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
We present a formally verified quantifier elimination procedure for the first order theory over linear mixed realinteger arithmetics in higherorder logic based on a work by Weispfenning. To this end we provide two verified quantifier elimination procedures: for Presburger arithmitics and for linear real arithmetics.
Proof synthesis and reflection for linear arithmetic. Submitted
, 2006
"... This article presents detailed implementations of quantifier elimination for both integer and real linear arithmetic for theorem provers. The underlying algorithms are those by Cooper (for Z) and by Ferrante and Rackoff (for R). Both algorithms are realized in two entirely different ways: once in ta ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
This article presents detailed implementations of quantifier elimination for both integer and real linear arithmetic for theorem provers. The underlying algorithms are those by Cooper (for Z) and by Ferrante and Rackoff (for R). Both algorithms are realized in two entirely different ways: once in tactic style, i.e. by a proofproducing functional program, and once by reflection, i.e. by computations inside the logic rather than in the metalanguage. Both formalizations are highly generic because they make only minimal assumptions w.r.t. the underlying logical system and theorem prover. An implementation in Isabelle/HOL shows that the reflective approach is between one and two orders of magnitude faster. 1
Generic proof synthesis for presburger arithmetic
, 2003
"... We develop in complete detail an extension of Cooper’s decision procedure for Presburger arithmetic that returns a proof of the equivalence of the input formula to a quantifierfree formula. For closed input formulae this is a proof of their validity or unsatisfiability. The algorithm is formulated ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
We develop in complete detail an extension of Cooper’s decision procedure for Presburger arithmetic that returns a proof of the equivalence of the input formula to a quantifierfree formula. For closed input formulae this is a proof of their validity or unsatisfiability. The algorithm is formulated as a functional program that makes only very minimal assumptions w.r.t. the underlying logical system and is therefore easily adaptable to specific theorem provers. 1 Presburger arithmetic Presburger arithmetic is firstorder logic over the integers with + and <. Presburger [3] first showed its decidability. We extend Cooper’s decision procedure [1] such that a successful run returns a proof of the input formula. The atomic PAformulae are defined by Atom: