Results 1  10
of
59
Kleene Algebra with Domain
, 2003
"... We propose Kleene algebra with domain (KAD), an extension of Kleene algebra with two equational axioms for a domain and a codomain operation, respectively. KAD considerably augments the expressibility of Kleene algebra, in particular for the specification and analysis of state transition systems. We ..."
Abstract

Cited by 53 (32 self)
 Add to MetaCart
We propose Kleene algebra with domain (KAD), an extension of Kleene algebra with two equational axioms for a domain and a codomain operation, respectively. KAD considerably augments the expressibility of Kleene algebra, in particular for the specification and analysis of state transition systems. We develop the basic calculus, discuss some related theories and present the most important models of KAD. We demonstrate applicability by two examples: First, an algebraic reconstruction of Noethericity and wellfoundedness. Second, an algebraic reconstruction of propositional Hoare logic.
Certification of compiler optimizations using Kleene algebra with tests
 STUCKEY (EDS.), PROC. RST INTERNAT. CONF. COMPUTATIONAL LOGIC (CL2000), LECTURE NOTES IN ARTI CIAL INTELLIGENCE
, 2000
"... We use Kleene algebra with tests to verify a wide assortment ofcommon compiler optimizations, including dead code elimination, common subexpression elimination, copy propagation, loop hoisting, induction variable elimination, instruction scheduling, algebraic simplification, loop unrolling, elimin ..."
Abstract

Cited by 45 (13 self)
 Add to MetaCart
(Show Context)
We use Kleene algebra with tests to verify a wide assortment ofcommon compiler optimizations, including dead code elimination, common subexpression elimination, copy propagation, loop hoisting, induction variable elimination, instruction scheduling, algebraic simplification, loop unrolling, elimination of redundant instructions, array bounds check elimination, and introduction of sentinels. In each of these cases, we give a formal equational proof of the correctness of the optimizing transformation.
Automata on guarded strings and applications
 Matématica Contemporânea
, 2001
"... Guarded strings are like ordinary strings over a finite alphabet P, except that atoms of the free Boolean algebra on a set of atomic tests B alternate with the symbols of P. The regular sets of guarded strings play the same role in Kleene algebra with tests as the regular sets of ordinary strings do ..."
Abstract

Cited by 29 (7 self)
 Add to MetaCart
(Show Context)
Guarded strings are like ordinary strings over a finite alphabet P, except that atoms of the free Boolean algebra on a set of atomic tests B alternate with the symbols of P. The regular sets of guarded strings play the same role in Kleene algebra with tests as the regular sets of ordinary strings do in Kleene algebra. In this paper we develop the elementary theory of finite automata on guarded strings, a generalization of the theory of finite automata on ordinary strings. We give several basic constructions, including determinization, state minimization, and an analog of Kleene’s theorem. We then use these results to verify a conjecture on the complexity of a complete Gentzenstyle sequent calculus for partial correctness. We also show that a basic result of the theory of Boolean decision diagrams (BDDs), namely that minimal ordered BDDs are unique, is a special case of the MyhillNerode theorem for a class of automata on guarded strings. 1
On the coalgebraic theory of Kleene algebra with tests
, 2008
"... We develop a coalgebraic theory of Kleene algebra with tests (KAT) along the lines of Rutten (1998) for Kleene algebra (KA) and Chen and Pucella (2003) for a limited version of KAT, resolving some technical issues raised by Chen and Pucella. Our treatment includes a simple definition of the Brzozows ..."
Abstract

Cited by 27 (3 self)
 Add to MetaCart
(Show Context)
We develop a coalgebraic theory of Kleene algebra with tests (KAT) along the lines of Rutten (1998) for Kleene algebra (KA) and Chen and Pucella (2003) for a limited version of KAT, resolving some technical issues raised by Chen and Pucella. Our treatment includes a simple definition of the Brzozowski derivative for KAT expressions and an automatatheoretic interpretation involving automata on guarded strings. We also give a complexity analysis, showing that an efficient implementation of coinductive equivalence proofs in this setting is tantamount to a standard automatatheoretic construction. It follows that coinductive equivalence proofs can be generated automatically in PSPACE. This matches the bound of Worthington (2008) for the automatic generation of equational proofs in KAT. 1
Automated reasoning in Kleene algebra
 CADE 2007, LNCS 4603
, 2007
"... Abstract. It has often been claimed that model checking, special purpose automated deduction or interactive theorem proving are needed for formal program development. We demonstrate that offtheshelf automated proof and counterexample search is an interesting alternative if combined with the right ..."
Abstract

Cited by 26 (11 self)
 Add to MetaCart
(Show Context)
Abstract. It has often been claimed that model checking, special purpose automated deduction or interactive theorem proving are needed for formal program development. We demonstrate that offtheshelf automated proof and counterexample search is an interesting alternative if combined with the right domain model. We implement variants of Kleene algebras axiomatically in Prover9/Mace4 and perform proof experiments about Hoare, dynamic, temporal logics, concurrency control and termination analysis. They confirm that a simple automated analysis of some important program properties is possible. Particular benefits of this novel approach include “soft ” model checking in a firstorder setting, crosstheory reasoning between standard formalisms and full automation of some (co)inductive arguments. Kleene algebras might therefore provide lightweight formal methods with heavyweight automation. 1
Kleene algebra with tests and program schematology
, 2001
"... The theory of flowchart schemes has a rich history going back to Ianov [6]; see Manna [22] for an elementary exposition. A central question in the theory of program schemes is scheme equivalence. Manna presents several examples of equivalence proofs that work by simplifying the schemes using various ..."
Abstract

Cited by 23 (8 self)
 Add to MetaCart
(Show Context)
The theory of flowchart schemes has a rich history going back to Ianov [6]; see Manna [22] for an elementary exposition. A central question in the theory of program schemes is scheme equivalence. Manna presents several examples of equivalence proofs that work by simplifying the schemes using various combinatorial transformation rules. In this paper we present a purely algebraic approach to this problem using Kleene algebra with tests (KAT). Instead of transforming schemes directly using combinatorial graph manipulation, we regard them as a certain kind of automaton on abstract traces. We prove a generalization of Kleene’s theorem and use it to construct equivalent expressions in the language of KAT. We can then give a purely equational proof of the equivalence of the resulting expressions. We prove soundness of the method and give a detailed example of its use. 1
An Efficient Coq Tactic for Deciding Kleene Algebras
, 2009
"... We present a reflexive tactic for deciding the equational theory of Kleene algebras in the Coq proof assistant. This tactic relies on a careful implementation of efficient finite automata algorithms, so that it solves casual equations almost instantaneously. The corresponding decision procedure was ..."
Abstract

Cited by 17 (5 self)
 Add to MetaCart
(Show Context)
We present a reflexive tactic for deciding the equational theory of Kleene algebras in the Coq proof assistant. This tactic relies on a careful implementation of efficient finite automata algorithms, so that it solves casual equations almost instantaneously. The corresponding decision procedure was proved correct and complete; correctness is established w.r.t. any model (including binary relations), by formalising Kozen’s initiality theorem.
Equational verification of cache blocking in lu decomposition using kleene algebra with tests
, 2002
"... In a recent paper of Mateev et al. (2001), a new technique for program analysis called fractal symbolic analysis was introduced and applied to verify the correctness of a series of sourcelevel transformations for cache blocking in LU decomposition with partial pivoting. It was argued in that paper ..."
Abstract

Cited by 16 (7 self)
 Add to MetaCart
(Show Context)
In a recent paper of Mateev et al. (2001), a new technique for program analysis called fractal symbolic analysis was introduced and applied to verify the correctness of a series of sourcelevel transformations for cache blocking in LU decomposition with partial pivoting. It was argued in that paper that traditional techniques are inadequate because the transformations break definitionuse dependencies. We show how the task can be accomplished purely equationally using Kleene algebra with tests. 1
From Kleene Algebra to Refinement Algebra
, 2002
"... KAT (Kleene Algebra with Tests) have proved to be useful for reasoning about programs in a partial correctness framework. We describe DRA (demonic Refinement Algebra), a variation of KAT for total correctness and illustrate its modeling and reasoning power with a number of applications and examples. ..."
Abstract

Cited by 16 (0 self)
 Add to MetaCart
KAT (Kleene Algebra with Tests) have proved to be useful for reasoning about programs in a partial correctness framework. We describe DRA (demonic Refinement Algebra), a variation of KAT for total correctness and illustrate its modeling and reasoning power with a number of applications and examples.
Newtonian Program Analysis
, 2010
"... This article presents a novel generic technique for solving dataflow equations in interprocedural dataflow analysis. The technique is obtained by generalizing Newton’s method for computing a zero of a differentiable function to ωcontinuous semirings. Complete semilattices, the common program analy ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
This article presents a novel generic technique for solving dataflow equations in interprocedural dataflow analysis. The technique is obtained by generalizing Newton’s method for computing a zero of a differentiable function to ωcontinuous semirings. Complete semilattices, the common program analysis framework, are a special class of ωcontinuous semirings. We show that our generalized method always converges to the solution, and requires at most as many iterations as current methods based on Kleene’s fixedpoint theorem. We also show that, contrary to Kleene’s method, Newton’s method always terminates for arbitrary idempotent and commutative semirings. More precisely, in the latter setting the number of iterations required to solve a system of n equations is at most n.