66 research outputs found
Deciding KAT and Hoare Logic with Derivatives
Kleene algebra with tests (KAT) is an equational system for program
verification, which is the combination of Boolean algebra (BA) and Kleene
algebra (KA), the algebra of regular expressions. In particular, KAT subsumes
the propositional fragment of Hoare logic (PHL) which is a formal system for
the specification and verification of programs, and that is currently the base
of most tools for checking program correctness. Both the equational theory of
KAT and the encoding of PHL in KAT are known to be decidable. In this paper we
present a new decision procedure for the equivalence of two KAT expressions
based on the notion of partial derivatives. We also introduce the notion of
derivative modulo particular sets of equations. With this we extend the
previous procedure for deciding PHL. Some experimental results are also
presented.Comment: In Proceedings GandALF 2012, arXiv:1210.202
Modularizing the Elimination of r=0 in Kleene Algebra
Given a universal Horn formula of Kleene algebra with hypotheses of the form
r = 0, it is already known that we can efficiently construct an equation which
is valid if and only if the Horn formula is valid. This is an example of
elimination of hypotheses, which is useful because the equational theory
of Kleene algebra is decidable while the universal Horn theory is not. We show
that hypotheses of the form r = 0 can still be eliminated in the presence of
other hypotheses. This lets us extend any technique for eliminating hypotheses
to include hypotheses of the form r = 0
Boolean like algebras
Using Vaggione’s concept of central element in a double pointed algebra, we introduce the notion of Boolean like variety as a generalization of Boolean algebras to an arbitrary similarity type. Appropriately relaxing the requirement that every element be central in any member of the variety, we obtain the more general class of semi-Boolean like varieties, which still retain many of the pleasing properties of Boolean algebras. We prove
that a double pointed variety is discriminator i↵ it is semi-Boolean like, idempotent, and 0-regular. This theorem yields a new Maltsev-style characterization of double pointed discriminator varieties. Moreover, we show that every idempotent semi-Boolean-like variety is term equivalent to a variety of noncommutative Boolean algebras with additional regular operations
Synthesis of Strategies Using the Hoare Logic of Angelic and Demonic Nondeterminism
We study a propositional variant of Hoare logic that can be used for
reasoning about programs that exhibit both angelic and demonic nondeterminism.
We work in an uninterpreted setting, where the meaning of the atomic actions is
specified axiomatically using hypotheses of a certain form. Our logical
formalism is entirely compositional and it subsumes the non-compositional
formalism of safety games on finite graphs. We present sound and complete
Hoare-style calculi that are useful for establishing partial-correctness
assertions, as well as for synthesizing implementations. The computational
complexity of the Hoare theory of dual nondeterminism is investigated using
operational models, and it is shown that the theory is complete for exponential
time
Certification of Compiler Optimizations using Kleene Algebra with Tests
We use Kleene algebra with tests to verify a wide assortment of common 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
On kleene algebras for weighted computation
Kleene algebra with tests (KAT) was introduced as an alge-
braic structure to model and reason about classic imperative programs,
i.e. sequences of discrete actions guarded by Boolean tests.
This paper introduces two generalisations of this structure able to ex-
press programs as weighted transitions and tests with outcomes in a not
necessary bivalent truth space, namely graded Kleene algebra with tests
(GKAT) and Heyting Kleene algebra with tests (HKAT).
On these contexts, in analogy to Kozen's encoding of Propositional Hoare
Logic (PHL) in KAT [10], we discuss the encoding of a graded PHL in
HKAT and of its while-free fragment in GKAT.This work is financed by the ERDF - European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT - Fundacao para a Ciencia e a Tecnologia, within projects POCI-01-0145-FEDER-016692 and UID/MAT/04106/2013. The second author is also supported by the individual grant SFRH/BPD/103004/2014
A Coalgebraic Approach to Kleene Algebra with Tests
Kleene algebra with tests is an extension of Kleene algebra, the algebra of
regular expressions, which can be used to reason about programs. We develop a
coalgebraic theory of Kleene algebra with tests, along the lines of the
coalgebraic theory of regular expressions based on deterministic automata.
Since the known automata-theoretic presentation of Kleene algebra with tests
does not lend itself to a coalgebraic theory, we define a new interpretation of
Kleene algebra with tests expressions and a corresponding automata-theoretic
presentation. One outcome of the theory is a coinductive proof principle, that
can be used to establish equivalence of our Kleene algebra with tests
expressions.Comment: 21 pages, 1 figure; preliminary version appeared in Proc. Workshop on
Coalgebraic Methods in Computer Science (CMCS'03
Embedding Kozen-Tiuryn Logic into Residuated One-Sorted Kleene Algebra with Tests
Kozen and Tiuryn have introduced the substructural logic for
reasoning about correctness of while programs (ACM TOCL, 2003). The logic
distinguishes between tests and partial correctness assertions,
representing the latter by special implicational formulas. Kozen and Tiuryn's
logic extends Kleene altebra with tests, where partial correctness assertions
are represented by equations, not terms. Kleene algebra with codomain,
, is a one-sorted alternative to Kleene algebra with tests that
expands Kleene algebra with an operator that allows to construct a Boolean
subalgebra of tests. In this paper we show that Kozen and Tiuryn's logic embeds
into the equational theory of the expansion of with residuals of
Kleene algebra multiplication and the upper adjoint of the codomain operator
- …