Deciding Kleene Algebras in Coq
Abstract
We present a reflexive tactic for deciding the equational theory of Kleene algebras in the Coq proof assistant. This tactic relies on a careful implementation of efficient finite automata algorithms, so that it solves casual equations instantaneously and properly scales to larger expressions. The decision procedure is proved correct and complete: correctness is established w.r.t. any model by formalising Kozen's initiality theorem; a counterexample is returned when the given equation does not hold. The correctness proof is challenging: it involves both a precise analysis of the underlying automata algorithms and a lot of algebraic reasoning. In particular, we have to formalise the theory of matrices over a Kleene algebra. We build on the recent addition of firstorder typeclasses in Coq in order to work efficiently with the involved algebraic structures.
 Publication:

arXiv eprints
 Pub Date:
 May 2011
 arXiv:
 arXiv:1105.4537
 Bibcode:
 2011arXiv1105.4537B
 Keywords:

 Computer Science  Logic in Computer Science;
 Computer Science  Symbolic Computation;
 F 1.1;
 F 3.1;
 F.4.1;
 F.4.3;
 D 2.4
 EPrint:
 Logical Methods in Computer Science, Volume 8, Issue 1 (March 2, 2012) lmcs:1043