package coq-trocq-std
Install
Dune Dependency
Authors
Maintainers
Sources
md5=14ee380ce5141d67f34bade89c0dc8df
sha512=1827f6478eb004e358b33785bf2007ec314b46fc75324e2b2a722d9ca19a6b005d019eb5e4ab016d7b85e4f11b69e29375ef9826ab5d160fbe7ef60cad138824
Description
Trocq is a modular parametricity plugin for Coq. It can be used to achieve proof transfer by both translating a user goal into another, related, variant, and computing a proof that proves the corresponding implication.
The plugin features a hierarchy of structures on relations, whose instances are computed from registered user-defined proof via parametricity. This hierarchy ranges from structure-less relations to an original formulation of type equivalence. The resulting framework generalizes raw parametricity, univalent parametricity and CoqEAL, and includes them in a unified framework.
The plugin computes a parametricity translation "à la carte", by performing a fine-grained analysis of the requires properties for a given proof of relatedness. In particular, it is able to prove implications without resorting to full-blown type equivalence, allowing this way to perform proof transfer without necessarily pulling in the univalence axiom.
The plugin is implemented in Coq-Elpi and the code of the parametricity translation is fairly close to a pen-and-paper sequent-style presentation.
Tags
category:Computer Science/Decision Procedures and Certified Algorithms/Decision procedures category:Miscellaneous/Coq Extensions keyword:automation keyword:elpi keyword:proof transfer keyword:isomorphism keyword:univalence keyword:parametricity logpath:TrocqPublished: 01 Jul 2025
Dev Dependencies
None
Used by (1)
Conflicts
None