6 research outputs found
On the Fine-Structure of Regular Algebra
Regular algebra is the algebra of regular expressions as induced by regular language identity. We use Isabelle/HOL for a detailed systematic study of the regular algebra axioms given by Boffa, Conway, Kozen and Salomaa. We investigate the relationships between these systems, formalise a soundness proof for the smallest class (Salomaa’s) and obtain completeness for the largest one (Boffa’s) relative to a deep result by Krob. As a case study in formalised mathematics, our investigations also shed some light on the power of theorem proving technology for reasoning with algebras and their models, including proof automation and counterexample generation
Left-handed completeness
We give a new proof of the completeness of the left-handed star rule of Kleene algebra. The proof is significantly shorter than previous proofs and exposes the rich interaction of algebra and coalgebra in the theory of Kleene algebra
An Elementary Proof of the FMP for Kleene Algebra
Kleene Algebra (KA) is a useful tool for proving that two programs are
equivalent by reasoning equationally. Because it abstracts from the meaning of
primitive programs, KA's equational theory is decidable, so it integrates well
with interactive theorem provers. This raises the question: which equations can
we (not) prove using the laws of KA? Moreover, which models of KA are complete,
in the sense that they satisfy exactly the provable equations? Kozen (1994)
answered these questions by characterizing KA in terms of its language model.
Concretely, equivalences provable in KA are exactly those that hold for regular
expressions.
Pratt (1980) observed that KA is complete w.r.t. relational models, i.e.,
that its provable equations are those that hold for any relational
interpretation. A less known result due to Palka (2005) says that finite models
are complete for KA, i.e., that provable equivalences coincide with equations
satisfied by all finite KAs. Phrased contrapositively, the latter is a finite
model property (FMP): any unprovable equation is falsified by a finite KA.
These results can be argued using Kozen's theorem, but the implication is
mutual: given that KA is complete w.r.t. finite (resp. relational) models,
Palka's (resp. Pratt's) arguments show that it is complete w.r.t. the language
model.
We embark on a study of the different complete models of KA, and the
connections between them. This yields a fourth result subsuming those of Palka
and Pratt, namely that KA is complete w.r.t. finite relational models. Next, we
put an algebraic spin on Palka's techniques, which yield an elementary proof of
the finite model property, and by extension, of Kozen's and Pratt's theorems.
In contrast with earlier approaches, this proof relies not on minimality or
bisimilarity of automata, but rather on representing the regular expressions
involved in terms of transformation automata
Universal (Meta-)Logical Reasoning: Recent Successes
Classical higher-order logic, when utilized as a meta-logic in which various other (classical and non-classical) logics can be shallowly embedded, is suitable as a foundation for the development of a universal logical reasoning engine. Such an engine may be employed, as already envisioned by Leibniz, to support the rigorous formalisation and deep logical analysis of rational arguments on the computer. A respective universal logical reasoning framework is described in this article and a range of successful first applications in philosophy, artificial intelligence and mathematics are surveyed
Algebraic Principles for Program Correctness Tools in Isabelle/HOL
This thesis puts forward a flexible and principled approach to the development of
construction and verification tools for imperative programs, in which the
control flow and the data level are cleanly separated. The approach is inspired
by algebraic principles and benefits from an algebraic semantics layer.
It is programmed in the Isabelle/HOL interactive theorem prover and yields
simple lightweight mathematical components as well as program construction and
verification tools that are themselves correct by construction.
First, a simple tool is implemented using Kleeene algebra with tests (KAT)
for the control flow of while-programs, which is the most compact verification
formalism for imperative programs, and their standard relational semantics for
the data level. A reference formalisation of KAT in Isabelle/HOL is then
presented, providing three different formalisations of tests. The structured
comprehensive libraries for these algebras include an algebraic account of
Hoare logic for partial correctness. Verification condition generation and
program construction rules are based on equational reasoning and supported by
powerful Isabelle tactics and automated theorem proving.
Second, the tool is expanded to support different programming features and
verification methods. A basic program construction tool is developed by adding
an operation for the specification statement and one single axiom. To include
recursive procedures, KATs are expanded further to quantales with tests,
where iteration and the specification statement can be defined explicitly.
Additionally, a nondeterministic extension supports the verification of simple
concurrent programs.
Finally, the approach is also applied to separation logic, where the
control-flow is modelled by power series with convolution as separating
conjunction. A generic construction lifts resource monoids to assertion and
predicate transformer quantales. The data level is captured by concrete
store-heap models. These are linked to the algebra by soundness proofs.
A number of examples shows the tools at work