trocq
A modular parametricity plugin for proof transfer in Coq [maintainers=@CohenCyril,@ecranceMERCE,@amahboubi]
Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, zenodo.org -
✓Committers with academic emails
2 of 4 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.3%) to scientific vocabulary
Keywords
Repository
A modular parametricity plugin for proof transfer in Coq [maintainers=@CohenCyril,@ecranceMERCE,@amahboubi]
Basic Info
- Host: GitHub
- Owner: rocq-community
- License: lgpl-3.0
- Language: Rocq Prover
- Default Branch: master
- Homepage: http://rocq-community.org/trocq/
- Size: 1.91 MB
Statistics
- Stars: 24
- Watchers: 5
- Forks: 9
- Open Issues: 19
- Releases: 11
Topics
Metadata Files
README.md
Trocq
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.
Meta
- Author(s):
- Cyril Cohen (initial)
- Enzo Crance (initial)
- Lucie Lahaye
- Assia Mahboubi (initial)
- Coq-community maintainer(s):
- Cyril Cohen (@CohenCyril)
- Enzo Crance (@ecranceMERCE)
- Lucie Lahaye (@lweqx)
- Assia Mahboubi (@amahboubi)
- License: GNU Lesser General Public License v3.0
- Compatible Coq versions: 8.20, 9.0 and 9.1
- Additional dependencies:
- Coq namespace:
Trocq - Related publication(s):
Building and installation instructions
Trocq is still a prototype. It is not yet packaged in Opam or Nix.
There are however three ways to experiment with it, all documented in the INSTALL.md file.
Documentation
See the tutorial for concrete use cases.
In short, the plugin provides a tactic:
- trocq (without arguments) which attempts to run a translation on
a given goal, using the information provided by the user with the
commands described below.
- trocq R1 R2 ... which works similarly to its argumentless counterpart
except that it also uses translations associated to the relations R1,
R2... ; see below regarding how to associated translations to a relation.
And four commands:
- Trocq Use t to use a translation t during the subsequent calls
to the tactic trocq.
- Trocq Register Univalence u to declare a univalence axiom u.
- Trocq Register Funext fe to declare a function extensionality
axiom fe.
- Trocq RelatedWith R t1 t2 ... to associate t1, t2, ... to R.
Subsequent calls to trocq R will be able to use the translations t1,
t2, ...
- Trocq Logging "off"|"info"|"debug"|"trace" to set the verbosity level.
ESOP 2024 artifact documentation
The ESOP 2024 artifact documentation files can be found in the artifact-doc directory, except for INSTALL.md that can be found in the current directory.
Owner
- Name: Rocq-community
- Login: rocq-community
- Kind: organization
- Website: https://coq-community.org
- Repositories: 70
- Profile: https://github.com/rocq-community
A project for a collaborative, community-driven effort for the long-term maintenance and advertisement of Rocq packages.
Citation (CITATION.cff)
cff-version: 1.2.0
authors:
- family-names: Cohen
given-names: Cyril
orcid: https://orcid.org/0000-0003-3540-1050
- family-names: Crance
given-names: Enzo
orcid: https://orcid.org/0000-0002-0498-0910
- family-names: Lahaye
given-names: Lucie
- family-names: Mahboubi
given-names: Assia
orcid: https://orcid.org/0000-0002-0312-5461
title: "Trocq"
identifiers:
- type: doi
value: 10.5281/zenodo.10492403
GitHub Events
Total
- Create event: 3
- Release event: 1
- Issues event: 2
- Watch event: 3
- Delete event: 12
- Issue comment event: 6
- Member event: 1
- Push event: 15
- Pull request review comment event: 10
- Pull request event: 22
- Pull request review event: 13
- Fork event: 3
Last Year
- Create event: 3
- Release event: 1
- Issues event: 2
- Watch event: 3
- Delete event: 12
- Issue comment event: 6
- Member event: 1
- Push event: 15
- Pull request review comment event: 10
- Pull request event: 22
- Pull request review event: 13
- Fork event: 3
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Cyril Cohen | c****n@c****g | 81 |
| Enzo Crance | e****e@i****r | 52 |
| Karl Palmskog | p****g@g****m | 2 |
| Assia Mahboubi | a****i@i****r | 1 |
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 16
- Total pull requests: 25
- Average time to close issues: 5 months
- Average time to close pull requests: 11 days
- Total issue authors: 4
- Total pull request authors: 4
- Average comments per issue: 0.69
- Average comments per pull request: 0.64
- Merged pull requests: 19
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 3
- Average time to close issues: 5 months
- Average time to close pull requests: 3 months
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 1.5
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- palmskog (2)
- t6s (1)
Pull Request Authors
- CohenCyril (23)
- ecranceMERCE (4)
- lweqx (4)
- proux01 (3)
- garrigue (2)
- MathisBD (1)
- MysaaJava (1)
- chenson2018 (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- cachix/cachix-action v12 composite
- cachix/install-nix-action v20 composite