Reference. Action logic and pure induction
In Floyd-Hoare logic, programs are dynamic while assertions are static (hold at states). In action logic the two notions become one, with programs viewed as on-the-fly 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 if-ever 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.
Cite
Cited by (4)
Regular expression containment: Coinductive axiomatization and computational interpretation henglein_regular_2011
We present a new sound and complete axiomatization of regular expression containment. It consists of the conventional axiomatization of concatenation, alternation, empty set and (the singleton set containing) the empty string as an idempotent semiring, the fixed- point rule E* = 1 + E × E* for Kleene-star, and a general coinduction rule as the only additional rule. Our axiomatization gives rise to a natural computational interpretation of regular expressions as simple types that represent parse trees, and of containment proofs as coercions. This gives the axiom- atization a Curry-Howard-style constructive interpretation: Containment proofs do not only certify a language-theoretic contain- ment, but, under our computational interpretation, constructively transform a membership proof of a string in one regular expression into a membership proof of the same string in another regular expression. We show how to encode regular expression equivalence proofs in Salomaa’s, Kozen’s and Grabmayer’s axiomatizations into our containment system, which equips their axiomatizations with a computational interpretation and implies completeness of our axiomatization. To ensure its soundness, we require that the computational interpretation of the coinduction rule be a hereditarily total function. Hereditary totality can be considered the mother of syn- tactic side conditions: it “explains” their soundness, yet cannot be used as a conventional side condition in its own right since it turns out to be undecidable. We discuss application of regular expressions as types to bit coding of strings and hint at other applications to the wide-spread use of regular expressions for substring matching, where classical automata-theoretic techniques are a priori inapplicable. Neither regular expressions as types nor subtyping interpreted coercively are novel per se. Somewhat surprisingly, this seems to be the first investigation of a general proof-theoretic framework for the latter in the context of the former, however.
Type Logics in Grammar buszkowskiTypeLogicsGrammar2003
Kleene algebra with tests kozen1997kleene
We introduce Kleene algebra with tests, an equational system for manipulating programs. We give a purely equational proof, using Kleene algebra with tests and commutativity conditions, of the following classical result: every while program can be simulated by a while program with at most one while loop. The proof illustrates the use of Kleene algebra with tests and commutativity conditions in program equivalence proofs.
Towards Kleene Algebra with recursion leis_towards_1992
We extend Kozen’s theory KA of Kleene Algebra to axiomatize parts of the equational theory of context-free languages, using a least fixed-point operator μ instead of Kleene’s iteration operator*.
Cites 31 works (2 here)
With notes (2)
Linear logic girard_linear_1987
The familiar connective of negation is broken into two operations: linear negation which is the purely negative part of negation and the modality “of course” which has the meaning of a reaffirmation. Following this basic discovery, a completely new approach to the whole area between constructive logics and programmation is initiated.
Categories for the Working Mathematician maclane_1971
External (29)
- Temporal Structures (1991)
- Categories, Allegories (Freyd, Scedrov) (1990)
- A completeness theorem for Kleene algebras and the algebra of regular events (Kozen, Cornell TR 90-1123) (1990)
- On Kleene algebras and closed semirings (1990)
- Dynamic algebras as a well-behaved fragment of relation algebras (1990)
- Modeling concurrency with partial orders (1986)
- Relation Algebras with Transitive Closure (1984)
- A programming language for the inductive sets, and applications (1984)
- Varieties of relation algebras (1982)
- Structure and complexity of relational queries (1982)
- Dynamic algebras and the nature of induction (1980)
- Models of program logics (1979)
- Relation algebras with transitive closure, Abstract 742-02-09 (Ng, Tarski; Notices AMS 24) (1977)
- Review of the elements of 2-categories (1974)
- Elementary Induction on Abstract Structures (Y. N. Moschovakis) (1974)
- The equivalence problem for regular expressions with squaring requires exponential space (1972)
- Regular Algebra and Finite Machines (1971)
- Lattice Theory (G. Birkhoff, AMS Colloq. Publ. 25) (1967)
- Two Complete Axiom Systems for the Algebra of Regular Events (1966)
- On defining relations for the algebra of regular events (V. N. Redko, Ukrain. Mat. Z. 16, Russian) (1964)
- Partially Ordered Algebraic Systems (L. Fuchs) (1963)
- Algorithm 97: Shortest path (1962)
- A Theorem on Boolean Matrices (1962)
- Boolean Algebras with Operators. Part I (1951)
- On the calculus of relations (1941)
- Residuated lattices (1939)
- Description of a notation for the logic of relatives, resulting from an amplification of the conceptions of Boole's calculus of logic (C. S. Peirce, Collected Papers III) (1933)
- Vorlesungen über die Algebra der Logik (Exakte Logik) (1895)
- On the syllogism, no. IV, and on the logic of relations (A. De Morgan) (1864)