| HAL : hal-00484871, version 4 |
| arXiv : 1106.4448 |
| Fiche détaillée | Récupérer au format |
|
|
| Versions disponibles : | v1 (19-05-2010) | v2 (29-03-2011) | v3 (22-06-2011) | v4 (22-09-2011) |
|
|
|
|
| Tactics for Reasoning modulo AC in Coq |
|
|
| Thomas Braibant 1Damien Pous 1 |
|
|
| (01/04/2011) |
|
|
| We present a set of tools for rewriting modulo associativity and commutativity (AC) in Coq, solving a long-standing practical problem. We use two building blocks: first, an extensible reflexive decision procedure for equality modulo AC; second, an OCaml plug-in for pattern matching modulo AC. We handle associative only operations, neutral elements, uninterpreted function symbols, and user-defined equivalence relations. By relying on type-classes for the reification phase, we can infer these properties automatically, so that end-users do not need to specify which operation is A or AC, or which constant is a neutral element. |
|
|
|
|
|
|
|
|
|
|
| 1 : | Laboratoire d'Informatique de Grenoble (LIG) |
| CNRS : UMR5217 – INRIA – Université Pierre Mendès-France - Grenoble II – Université Joseph Fourier - Grenoble I – Institut Polytechnique de Grenoble - Grenoble Institute of Technology | |
|
|
|
|
|
|
|
|
| SARDES |
|
|
|
|
| Domaine | : | Informatique/Logiciel mathématique Informatique/Logique en informatique |
|
|
| Coq proof assistant – decision procedure – reflexive tactic – rewriting – modulo AC – associativity – commutativity |
|
|
|
|
| hal-00484871, version 4 | |
| http://hal.archives-ouvertes.fr/hal-00484871 | |
| oai:hal.archives-ouvertes.fr:hal-00484871 | |
| Contributeur : Damien Pous | |
| Soumis le : Jeudi 22 Septembre 2011, 10:34:00 | |
| Dernière modification le : Jeudi 22 Septembre 2011, 14:48:00 | |