|
Technical Report: DCC-2014-01
Automata for KAT Expressions
Sabine Broda, António Machiavelo, Nelma Moreira,
Rogério Reis
Centro de Matemática da Universidade do Porto
R. Campo Alegre 687, 4169-007 Porto, Portugal
e-mail: sbb@dcc.fc.up.pt,ajmachia@fc.up.pt,nam@dcc.fc.up.pt,rvr@dcc.fc.up.pt
January 2014
Abstract
Kleene algebra with tests (KAT) is a decidable equational system
for program verification, that uses both Kleene and Boolean
algebras. In spite of KAT?s elegance and success in providing theoretical
solutions for several problems, not many efforts have been made towards
obtaining tractable decision procedures that could be used in
practical software verification tools. The main drawback of the
existing methods relies on the explicit use of all possible
assignments to boolean variables.
Recently, Silva introduced an automata model that extends
Glushkov's construction for regular expressions. Broda et al. extended also
Mirkin's equation automata to KAT expressions and studied the
state complexity of both algorithms.
Contrary to other automata
constructions from KAT expressions, these two constructions enjoy the
same descriptional complexity behaviour as their counterparts for
regular expressions, both in the worst case as well as in the
average case.
In this paper, we generalize, for these automata, the
classical methods of subset construction for nondeterministic finite
automata, and the Hopcroft and Karp algorithm for testing deterministic
finite automata equivalence. As a result, we obtain a decision
procedure for KAT equivalence where the extra burden of dealing with
boolean expressions avoids the explicit use of all possible
assignments to the boolean variables. Finally, we specialize the
decision procedure for testing KAT expressions equivalence without
explicitly constructing the automata, by introducing a new notion of
derivative and a new method of constructing the equation automaton.
|