Tactics for Reasoning modulo AC in Coq - Archive ouverte HAL Accéder directement au contenu
Rapport Année : 2011

Tactics for Reasoning modulo AC in Coq

Thomas Braibant
  • Fonction : Auteur
  • PersonId : 860237
Damien Pous

Résumé

We present a set of tools for rewriting modulo associativity and commutativity 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 Coq 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.
Fichier principal
Vignette du fichier
main.pdf (224.87 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00484871 , version 1 (19-05-2010)
hal-00484871 , version 2 (29-03-2011)
hal-00484871 , version 3 (22-06-2011)
hal-00484871 , version 4 (22-09-2011)

Identifiants

Citer

Thomas Braibant, Damien Pous. Tactics for Reasoning modulo AC in Coq. 2011. ⟨hal-00484871v3⟩
321 Consultations
1010 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More