607 research outputs found
Recommended from our members
Automated verification of refinement laws
Demonic refinement algebras are variants of Kleene algebras. Introduced by von Wright as a light-weight variant of the refinement calculus, their intended semantics are positively disjunctive predicate transformers, and their calculus is entirely within first-order equational logic. So, for the first time, off-the-shelf automated theorem proving (ATP) becomes available for refinement proofs. We used ATP to verify a toolkit of basic refinement laws. Based on this toolkit, we then verified two classical complex refinement laws for action systems by ATP: a data refinement law and Back's atomicity refinement law. We also present a refinement law for infinite loops that has been discovered through automated analysis. Our proof experiments not only demonstrate that refinement can effectively be automated, they also compare eleven different ATP systems and suggest that program verification with variants of Kleene algebras yields interesting theorem proving benchmarks. Finally, we apply hypothesis learning techniques that seem indispensable for automating more complex proofs
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
Algebraic Principles for Rely-Guarantee Style Concurrency Verification Tools
We provide simple equational principles for deriving rely-guarantee-style
inference rules and refinement laws based on idempotent semirings. We link the
algebraic layer with concrete models of programs based on languages and
execution traces. We have implemented the approach in Isabelle/HOL as a
lightweight concurrency verification tool that supports reasoning about the
control and data flow of concurrent programs with shared variables at different
levels of abstraction. This is illustrated on two simple verification examples
Kleene algebra with domain
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 expressiveness 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 well-foundedness; second, an
algebraic reconstruction of propositional Hoare logic.Comment: 40 page
Monoids with tests and the algebra of possibly non-halting programs
We study the algebraic theory of computable functions, which can be viewed as arising from possibly non-halting computer programs or algorithms, acting on some state space, equipped with operations of composition, if-then-else and while-do defined in terms of a Boolean algebra of conditions. It has previously been shown that there is no finite axiomatisation of algebras of partial functions under these operations alone, and this holds even if one restricts attention to transformations (representing halting programs) rather than partial functions, and omits while-do from the signature. In the halting case, there is a natural âfixâ, which is to allow composition of halting programs with conditions, and then the resulting algebras admit a finite axiomatisation. In the current setting such compositions are not possible, but by extending the notion of if-then-else, we are able to give finite axiomatisations of the resulting algebras of (partial) functions, with while-do in the signature if the state space is assumed finite. The axiomatisations are extended to consider the partial predicate of equality. All algebras considered turn out to be enrichments of the notion of a (one-sided) restriction semigrou
Domain and range for angelic and demonic compositions
We give finite axiomatizations for the varieties generated by representable
domain--range algebras when the semigroup operation is interpreted as angelic
or demonic composition, respectively
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
Kleene Algebra with Dynamic Tests: Completeness and Complexity
We study versions of Kleene algebra with dynamic tests, that is, extensions
of Kleene algebra with domain and antidomain operators. We show that Kleene
algebras with tests and Propositional dynamic logic correspond to special cases
of the dynamic test framework. In particular, we establish completeness results
with respect to relational models and guarded-language models, and we show that
two prominent classes of Kleene algebras with dynamic tests have an
EXPTIME-complete equational theory
- âŚ