Tactics for Reasoning modulo AC in Coq - Archive ouverte HAL Access content directly
Conference Papers Year : 2011

Tactics for Reasoning modulo AC in Coq

Thomas Braibant
  • Function : Author
  • PersonId : 860237
Damien Pous


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

Dates and 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)



Thomas Braibant, Damien Pous. Tactics for Reasoning modulo AC in Coq. Certified Proofs and Programs, 2011, Taiwan. pp167-182, ⟨10.1007/978-3-642-25379-9_14⟩. ⟨hal-00484871v4⟩
302 View
950 Download



Gmail Facebook Twitter LinkedIn More