Deciding Kleene Algebras in CoqReport as inadecuate

Deciding Kleene Algebras in Coq - Download this document for free, or read online. Document in PDF available to download.

* Corresponding author 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.

Keywords : Coq reflexive tactic Kleene algebra finite automata decision procedure typeclasses

Author: Thomas Braibant - Damien Pous -



Related documents