Rocq Call 2026 04 28 - rocq-prover/rocq GitHub Wiki
- 16:00 UTC+2:00 (CEST, Paris time zone offset)
- https://rendez-vous.renater.fr/rocq-call
Topics
- adding ssreflect to Prelude ( https://github.com/rocq-prover/rocq/pull/21776 , Pierre, 20 minutes)
- micromega-plugin ( https://github.com/rocq-prover/stdlib/pull/251 , Pierre, 20 minutes)
- next RM for 9.3 (Nicolas, 5min)
Roles
- Chairman: Nicolas Tabareau
- Secretary: Matthieu Sozeau
Notes
-
next RM for 9.3 (Nicolas, 5min)
- Planned march until september
- Enrico and Nicolas together
-
adding ssreflect to Prelude ( https://github.com/rocq-prover/rocq/pull/21776 , Pierre, 20 minutes)
- Pierre-Marie points that the prelude should get smaller not larger
- Pierre and Cyril were not aware of that "policy"
- Pierre, Cyril and Enrico: moving to prelude avoids later conflicts when choosing to import ssreflect in a dev not using it previously.
- Pierre-Marie: but that is inherently non-modular, and will prevents conflicting interpretations later on.
- Andres: not only notations but interpretations are imported, implicitly changing the global environment for everyone, with potential impact
- Pierre: this does not force to use the additional tactics. should not have impact on anyone, as long as they don't use a conflicting notation (?).
- Cyril: want to guarantee that news devs cannot be incompatible with working with a common "blessed" set of tactics, which should include ssr tactics.
- Pierre-Marie: this PR doesn't achieve impossibility to break previous notations, as one can override them (?)
- Hugo: this stems from past divergence on syntax between ssr and vanilla tactics.
- Matthieu: propose to rather periodically run a check that Require Import ssreflect in prelude is compatible, a compromise to ensure more compatibility without growing the default grammar implicitly.
- Pierre-Marie: parsing is inherently non-modular and this is adding more non-modular declarations affecting everyone. He argues we should rather make things more modular by not tying to a specific tactic set (even Ltac1).
- ...
- Conclusion: for now, let's run a poll, on preference for a more modular setup (but forcing explicit Require Ltac1 / Ltac2 / Ssreflect / ...) or to bake in the ssr syntax (w or w/o its intepretation) as soon as the Prelude is required. Pierre-Marie is on it.
-
micromega-plugin ( https://github.com/rocq-prover/stdlib/pull/251 , Pierre, 20 minutes)
- Micromega PR (initially) backward-incompatible stdlib
- Pierre's PR proposes to move micromega to a separate plugin independent from stdlib (only Corelib), and have the Stdlib part reuse the micromega ML code.
- .v files for proofs are in separate libraries
- The theories in stdlib and math-comp are very different (Z/Q/R vs algebra)
- Pierre Roux: one cannot easily generalize the micromega tactics / interface to export
- Pierre-Marie and Andres: why can't we use the existing abstractions and structures from the stdlib to avoid duplication?
- Matthieu: Here my (not very well-informed) understanding of the discussion is that math-comp's instances (and bindings? to the micromega plugin code) differ significantly from the stdlib instances, so there's no possible reuse in that direction. Moving the math-comp structures back to the stdlib would be a very large scale endeavor. So, as Pierre argues, it's useful to have a micromega plugin with two instances, in the stdlib and math-comp. (Note: I might have gotten it wrong, the discussion/arguments were not entirely clear to me at least)
- Frédéric said he was not sure how to decide on the best solution
- Moving back to Corelib the proofs (but not the micromega-specific bindings?) in the Stdlib would be a possibility, but Andres argues this would be simplified by moving back the Stdlib into the main repo and avoid having multiple repos.
- Pierre-Marie: it is going to be harder to maintain the micromega plugin due to API unstability (branches or conditional compilation might be needed) Pierre argues it is minor in this case.
- Fréderic proposed to discuss some more with Pierre for the most workable solution for him.
- No clear decision on the way to go forward on this particular topic.
- The discussion went on about the stdlib being out or in the main repo and the stdlib's status. Matthieu: this will require another dedicated time for discussion.
Participants
Matthieu Sozeau, Enrico Tassi, Frédéric Besson, Hugo Herbelin, Nicolas Tabareau, Pierre Roux, Pierre-Marie Pédrot, Théo Zimmermann, Andres Erbsen, Cyril Cohen, Yann Leray, Reynald Affeldt.