Deciding Kleene Algebras in Coq

Thomas Braibant 1 Damien Pous 2, *
* Auteur correspondant
1 SARDES - System architecture for reflective distributed computing environments
Inria Grenoble - Rhône-Alpes, LIG - Laboratoire d'Informatique de Grenoble
2 PLUME - Preuves et Langages
LIP - Laboratoire de l'Informatique du Parallélisme
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.
Type de document :
Communication dans un congrès
ITP, Aug 2010, Edinburgh, United Kingdom. Springer, 6172, pp.163-178, 2010, LNCS. 〈10.1007/978-3-642-14052-5_13〉
Liste complète des métadonnées
Contributeur : Damien Pous <>
Soumis le : vendredi 20 mai 2011 - 13:09:12
Dernière modification le : vendredi 20 avril 2018 - 15:44:27
Document(s) archivé(s) le : samedi 3 décembre 2016 - 20:42:52


Fichiers produits par l'(les) auteur(s)



Thomas Braibant, Damien Pous. Deciding Kleene Algebras in Coq. ITP, Aug 2010, Edinburgh, United Kingdom. Springer, 6172, pp.163-178, 2010, LNCS. 〈10.1007/978-3-642-14052-5_13〉. 〈hal-00383070v5〉



Consultations de la notice


Téléchargements de fichiers