Results 1  10
of
50
Large Experimental Program Verification in the Theorema System
 In Proceedings ISOLA 2004, Cyprus
, 2004
"... Abstract We describe practical experiments of program verification in the frame of the Theorema system. This includes both imperative programs (using Hoare logic), as well as functional programs (using fixpoint theory). For a certain class of imperative programs we are able to generate automatically ..."
Abstract

Cited by 10 (8 self)
 Add to MetaCart
Abstract We describe practical experiments of program verification in the frame of the Theorema system. This includes both imperative programs (using Hoare logic), as well as functional programs (using fixpoint theory). For a certain class of imperative programs we are able to generate automatically the loop invariants and then verification conditions, by using combinatorial and algebraic techniques. Verification conditions for functional recursive programs are derived and soundness theorem is proven. The verification conditions in both cases are generated as naturalstyle predicate logic formulae, which can be then proven by Theorema, by issuing naturalstyle proofs which are human–readable.
Symbolic Analysis for Boundary Problems: From Rewriting to Parametrized Gröbner Bases
"... We review our algebraic framework for linear boundary problems (concentrating on ordinary differential equations). Its starting point is an appropriate algebraization of the domain of functions, which we have named integrodifferential algebras. The algebraic treatment of boundary problems brings up ..."
Abstract

Cited by 9 (8 self)
 Add to MetaCart
We review our algebraic framework for linear boundary problems (concentrating on ordinary differential equations). Its starting point is an appropriate algebraization of the domain of functions, which we have named integrodifferential algebras. The algebraic treatment of boundary problems brings up two new algebraic structures whose symbolic representation and computational realization is based on canonical forms in certain commutative and noncommutative polynomial domains. The first of these, the ring of integrodifferential operators, is used for both stating and solving linear boundary problems. The other structure, called integrodifferential polynomials, is the key tool for describing extensions of integrodifferential algebras. We use the canonical simplifier for integrodifferential polynomials for generating an automated proof establishing a canonical simplifier for integrodifferential operators. Our approach is fully implemented in the TH∃OREM∀ system; some code fragments and sample computations are included.
Combining Logic and Algebraic Techniques for Program Verification in Theorema
 SECOND INTERNATIONAL SYMPOSIUM ON LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION
, 2007
"... We study and implement concrete methods for the verification of both imperative as well as functional programs in the frame of the Theorema system. The distinctive features of our approach consist in the automatic generation of loop invariants (by using combinatorial and algebraic techniques), and ..."
Abstract

Cited by 8 (8 self)
 Add to MetaCart
We study and implement concrete methods for the verification of both imperative as well as functional programs in the frame of the Theorema system. The distinctive features of our approach consist in the automatic generation of loop invariants (by using combinatorial and algebraic techniques), and the generation of verification conditions as first–order logical formulae which do not refer to a specific model of computation.
Biform theories in Chiron
 Towards Mechanized Mathematical Assistants, volume 4573 of Lecture Notes in Computer Science
, 2007
"... Abstract. An axiomatic theory represents mathematical knowledge declaratively as a set of axioms. An algorithmic theory represents mathematical knowledge procedurally as a set of algorithms. A biform theory is simultaneously an axiomatic theory and an algorithmic theory. It represents mathematical k ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
Abstract. An axiomatic theory represents mathematical knowledge declaratively as a set of axioms. An algorithmic theory represents mathematical knowledge procedurally as a set of algorithms. A biform theory is simultaneously an axiomatic theory and an algorithmic theory. It represents mathematical knowledge both declaratively and procedurally. Since the algorithms of algorithmic theories manipulate the syntax of expressions, biform theories—as well as algorithmic theories—are difficult to formalize in a traditional logic without the means to reason about syntax. Chiron is a derivative of vonNeumannBernaysGödel (nbg) set theory that is intended to be a practical, generalpurpose logic for mechanizing mathematics. It includes elements of type theory, a scheme for handling undefinedness, and a facility for reasoning about the syntax of expressions. It is an exceptionally wellsuited logic for formalizing biform theories. This paper defines the notion of a biform theory, gives an overview of Chiron, and illustrates how biform theories can be formalized in Chiron. 1
Matching with Regular Constraints
 SUTCLIFFE G., VORONKOV A., Eds., Proceedings of LPAR’05
, 2005
"... We describe a sound, terminating, and complete matching algorithm for terms built over flexible arity function symbols and context, function, sequence, and individual variables. Context and sequence variables allow matching to move in term trees to arbitrary depth and breadth, respectively. The ..."
Abstract

Cited by 7 (7 self)
 Add to MetaCart
We describe a sound, terminating, and complete matching algorithm for terms built over flexible arity function symbols and context, function, sequence, and individual variables. Context and sequence variables allow matching to move in term trees to arbitrary depth and breadth, respectively. The values of variables can be constrained by regular expressions which are not necessarily linear. We describe heuristics for optimization, and discuss applications.
Reasoning Algebraically About PSolvable Loops
 In Proc. of TACAS, volume 4963 of LNCS
, 2008
"... Abstract. We present a method for generating polynomial invariants for a subfamily of imperative loops operating on numbers, called the Psolvable loops. The method uses algorithmic combinatorics and algebraic techniques. The approach is shown to be complete for some special cases. By completeness w ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
Abstract. We present a method for generating polynomial invariants for a subfamily of imperative loops operating on numbers, called the Psolvable loops. The method uses algorithmic combinatorics and algebraic techniques. The approach is shown to be complete for some special cases. By completeness we mean that it generates a set of polynomial invariants from which, under additional assumptions, any polynomial invariant can be derived. These techniques are implemented in a new software package Aligator written in Mathematica and successfully tried on many programs implementing interesting algorithms working on numbers. 1
Conjecture Synthesis for Inductive Theories
 JOURNAL OF AUTOMATED REASONING
, 2010
"... We have developed a program for inductive theory formation, called IsaCoSy, which synthesises conjectures ‘bottomup’ from the available constants and free variables. The synthesis process is made tractable by only generating irreducible terms, which are then filtered through counterexample checkin ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
We have developed a program for inductive theory formation, called IsaCoSy, which synthesises conjectures ‘bottomup’ from the available constants and free variables. The synthesis process is made tractable by only generating irreducible terms, which are then filtered through counterexample checking and passed to the automatic inductive prover IsaPlanner. The main technical contribution is the presentation of a constraint mechanism for synthesis. As theorems are discovered, this generates additional constraints on the synthesis process. We evaluate IsaCoSy as a tool for automatically generating the background theories one would expect in a mature proof assistant, such as the Isabelle system. The results show that IsaCoSy produces most, and sometimes all, of the theorems in the Isabelle libraries. The number of additional uninteresting theorems are small enough to be easily pruned by hand.
Flat matching
 Journal of Symbolic Computation
"... We study matching in flat theories both from theoretical and practical points of view. A flat theory is defined by the axiom f(x, f(y), z). = f(x, y, z) that indicates that nested occurrences of the function symbol f can be flattened out. From the theoretical side, we design a procedure to solve a s ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
We study matching in flat theories both from theoretical and practical points of view. A flat theory is defined by the axiom f(x, f(y), z). = f(x, y, z) that indicates that nested occurrences of the function symbol f can be flattened out. From the theoretical side, we design a procedure to solve a system of flat matching equations and prove its soundness, completeness, and minimality. The minimal complete set of matchers for such a system can be infinite. The procedure enumerates this set and stops if it is finite. We identify a class of problems on which the procedure stops. From the practical point of view, we look into restrictions of the procedure that give an incomplete terminating algorithm. From this perspective, we give a set of rules that, in our opinion, describes the precise semantics for the flat matching algorithm implemented in the Mathematica system. 1.
Verification Environment in Theorema
 Articles in Refereed Conference Proceedings 1. N. Popov and
"... Abstract — We present a verification environment for imperative programs (using Hoare logic) and for functional programs (using fixpoint theory) in the frame of the Theorema system (www.theorema.org). In particular, we discuss some methods for finding the invariants of loops and specifications of au ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Abstract — We present a verification environment for imperative programs (using Hoare logic) and for functional programs (using fixpoint theory) in the frame of the Theorema system (www.theorema.org). In particular, we discuss some methods for finding the invariants of loops and specifications of auxiliary tail recursive functions. These methods use techniques from (polynomial) algebra and combinatorics, namely Groebner bases, variable elimination and symbolic summation (the Gosper algorithm, the technique of generating functions). The methods are demonstrated on several examples which have been treated automatically by our implementation. Index Terms — program analysis and verification, loop invariant generation, theorem proving, symbolic summation I.
A Calculus for Imperative Programs: Formalization and Implementation
"... Abstract—As an extension of our previous work on imperative program verification, we present a formalism for handling the total correctness of While loops in imperative programs, consisting in functional based definitions of the verification conditions for both partial correctness and for terminatio ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
Abstract—As an extension of our previous work on imperative program verification, we present a formalism for handling the total correctness of While loops in imperative programs, consisting in functional based definitions of the verification conditions for both partial correctness and for termination. A specific feature of our approach is the generation of verification conditions as first order formulae, including the termination condition which is expressed as an induction principle. Keywordsprogram analysis and verification, symbolic execution, theorem proving I.