package coq-trocq-hott

  1. Overview
  2. Homepage
A modular parametricity plugin for proof transfer in Coq

Install

Dune Dependency

Authors

Maintainers

Sources

0.2.0.tar.gz
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.

Dependencies (3)

  1. coq-hott
  2. coq-elpi = "2.5.2"
  3. coq >= "8.20" & < "9.1"

Dev Dependencies

None

Conflicts

None

Rocq

Interactive Theorem Prover