Deciding Kleene Algebras in Coq - Archive ouverte HAL Access content directly
Conference Papers Year : 2010

Deciding Kleene Algebras in Coq


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.
Fichier principal
Vignette du fichier
main.pdf (436.17 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-00383070 , version 1 (11-05-2009)
hal-00383070 , version 2 (13-08-2009)
hal-00383070 , version 3 (15-02-2010)
hal-00383070 , version 4 (14-06-2010)
hal-00383070 , version 5 (20-05-2011)



Thomas Braibant, Damien Pous. Deciding Kleene Algebras in Coq. ITP, Aug 2010, Edinburgh, United Kingdom. pp.163-178, ⟨10.1007/978-3-642-14052-5_13⟩. ⟨hal-00383070v5⟩
299 View
1060 Download



Gmail Facebook Twitter LinkedIn More