Tactics for Reasoning Modulo AC in Coq

From MaRDI portal
Publication:3100211

DOI10.1007/978-3-642-25379-9_14zbMATH Open1350.68227arXiv1106.4448OpenAlexW2096639003MaRDI QIDQ3100211FDOQ3100211


Authors: Thomas Braibant, Damien Pous Edit this on Wikidata


Publication date: 22 November 2011

Published in: Certified Programs and Proofs (Search for Journal in Brave)

Abstract: 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.


Full work available at URL: https://arxiv.org/abs/1106.4448




Recommendations



Cites Work


Cited In (8)

Uses Software





This page was built for publication: Tactics for Reasoning Modulo AC in Coq

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q3100211)