Results 1  10
of
247
Automata and coinduction (an exercise in coalgebra
 LNCS
, 1998
"... The classical theory of deterministic automata is presented in terms of the notions of homomorphism and bisimulation, which are the cornerstones of the theory of (universal) coalgebra. This leads to a transparent and uniform presentation of automata theory and yields some new insights, amongst which ..."
Abstract

Cited by 86 (19 self)
 Add to MetaCart
(Show Context)
The classical theory of deterministic automata is presented in terms of the notions of homomorphism and bisimulation, which are the cornerstones of the theory of (universal) coalgebra. This leads to a transparent and uniform presentation of automata theory and yields some new insights, amongst which coinduction proof methods for language equality and language inclusion. At the same time, the present treatment of automata theory may serve as an introduction to coalgebra.
Action Logic and Pure Induction
 Logics in AI: European Workshop JELIA '90, LNCS 478
, 1991
"... In FloydHoare logic, programs are dynamic while assertions are static (hold at states). In action logic the two notions become one, with programs viewed as onthefly assertions whose truth is evaluated along intervals instead of at states. Action logic is an equational theory ACT conservatively ex ..."
Abstract

Cited by 67 (6 self)
 Add to MetaCart
(Show Context)
In FloydHoare logic, programs are dynamic while assertions are static (hold at states). In action logic the two notions become one, with programs viewed as onthefly assertions whose truth is evaluated along intervals instead of at states. Action logic is an equational theory ACT conservatively extending the equational theory REG of regular expressions with operations preimplication a!b (had a then b) and postimplication b/a (b ifever a). Unlike REG, ACT is finitely based, makes a reflexive transitive closure, and has an equivalent Hilbert system. The crucial axiom is that of pure induction, (a!a) = a!a. This work was supported by the National Science Foundation under grant number CCR8814921. 1 Introduction Many logics of action have been proposed, most of them in the past two decades. Here we define action logic, ACT, a new yet simple juxtaposition of old ideas, and show off some of its attractive aspects. The language of action logic is that of equational regular expressio...
On Hoare Logic and Kleene Algebra with Tests
"... We show that Kleene algebra with tests (KAT) subsumes propositional Hoare logic (PHL). Thus the specialized syntax and deductive apparatus of Hoare logic are inessential and can be replaced by simple equational reasoning. In addition, we show that all relationally valid inference rules are derivable ..."
Abstract

Cited by 59 (13 self)
 Add to MetaCart
(Show Context)
We show that Kleene algebra with tests (KAT) subsumes propositional Hoare logic (PHL). Thus the specialized syntax and deductive apparatus of Hoare logic are inessential and can be replaced by simple equational reasoning. In addition, we show that all relationally valid inference rules are derivable in KAT and that deciding the relational validity of such rules is PSPACEcomplete.
On Kleene Algebras and Closed Semirings
, 1990
"... Kleene algebras are an important class of algebraic structures that arise in diverse areas of computer science: program logic and semantics, relational algebra, automata theory, and the design and analysis of algorithms. The literature contains several inequivalent definitions of Kleene algebras and ..."
Abstract

Cited by 55 (6 self)
 Add to MetaCart
(Show Context)
Kleene algebras are an important class of algebraic structures that arise in diverse areas of computer science: program logic and semantics, relational algebra, automata theory, and the design and analysis of algorithms. The literature contains several inequivalent definitions of Kleene algebras and related algebraic structures [2, 14, 15, 5, 6, 1, 10, 7]. In this paper we establish some new relationships among these structures. Our main results are: There is a Kleene algebra in the sense of [6] that is not *continuous. The categories of *continuous Kleene algebras [5, 6], closed semirings [1, 10] and Salgebras [2] are strongly related by adjunctions. The axioms of Kleene algebra in the sense of [6] are not complete for the universal Horn theory of the regular events. This refutes a conjecture of Conway [2, p. 103]. Righthanded Kleene algebras are not necessarily lefthanded Kleene algebras. This verifies a weaker version of a conjecture of Pratt [15].
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
(Show Context)
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.
Kleene algebra with tests: Completeness and decidability
 In Proc. of 10th International Workshop on Computer Science Logic (CSL’96
, 1996
"... Abstract. Kleene algebras with tests provide a rigorous framework for equational speci cation and veri cation. They have been used successfully in basic safety analysis, sourcetosource program transformation, and concurrency control. We prove the completeness of the equational theory of Kleene alg ..."
Abstract

Cited by 37 (16 self)
 Add to MetaCart
(Show Context)
Abstract. Kleene algebras with tests provide a rigorous framework for equational speci cation and veri cation. They have been used successfully in basic safety analysis, sourcetosource program transformation, and concurrency control. We prove the completeness of the equational theory of Kleene algebra with tests and *continuous Kleene algebra with tests over languagetheoretic and relational models. We also show decidability. Cohen's reduction of Kleene algebra with hypotheses of the form r = 0 to Kleene algebra without hypotheses is simpli ed and extended to handle Kleene algebras with tests. 1
NetKAT: Semantic foundations for networks
 In POPL
, 2014
"... Recent years have seen growing interest in highlevel languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational principles. The lack of a semantic foundation ha ..."
Abstract

Cited by 34 (15 self)
 Add to MetaCart
(Show Context)
Recent years have seen growing interest in highlevel languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational principles. The lack of a semantic foundation has left language designers with little guidance in determining how to incorporate new features, and programmers without a means to reason precisely about their code. This paper presents NetKAT, a new network programming language that is based on a solid mathematical foundation and comes equipped with a sound and complete equational theory. We describe the design of NetKAT, including primitives for filtering, modifying, and transmitting packets; union and sequential composition operators; and a Kleene star operator that iterates programs. We show that NetKAT is an instance of a canonical and wellstudied mathematical structure called a Kleene algebra with tests (KAT) and prove that its equational theory is sound and complete with respect to its denotational semantics. Finally, we present practical applications of the equational theory including syntactic techniques for checking reachability, proving noninterference properties that ensure isolation between programs, and establishing the correctness of compilation algorithms.
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