English

Deciding Kleene Algebras in Coq

Logic in Computer Science 2015-07-01 v3 Symbolic Computation

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 counter-example 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.

Keywords

Cite

@article{arxiv.1105.4537,
  title  = {Deciding Kleene Algebras in Coq},
  author = {Thomas Braibant and Damien Pous},
  journal= {arXiv preprint arXiv:1105.4537},
  year   = {2015}
}
R2 v1 2026-06-21T18:11:13.442Z