Factorizing universe treatment for Definition, Theorem and Fixpoint (part of CEP #89) - #19322
Conversation
97b3f09 to
31924c2
Compare
31924c2 to
a9c73c1
Compare
a9c73c1 to
ca4dad1
Compare
ca4dad1 to
797494c
Compare
|
🔴 CI failure at commit 797494c without any failure in the test-suite ✔️ Corresponding job for the base commit 47de0c7 succeeded ❔ Ask me to try to extract a minimal test case that can be added to the test-suite 🏃
|
797494c to
73677a0
Compare
4a0dcc9 to
f1821bd
Compare
| let uctx_body = UState.restrict uctx used_univs in | ||
| UState.check_mono_univ_decl uctx_body udecl in | ||
| initial_euctx, utyp, Default { body = (body, eff); opaque = Opaque ubody } | ||
| initial_euctx, utyp, used_univs, Default { body = (body, eff); opaque = Opaque ubody } |
There was a problem hiding this comment.
The returned tuple is getting big, maybe define a record type for it?
There was a problem hiding this comment.
I think I'm fine as it is (especially since the tupling is immediately destructed by the caller) but I can use a tuple if your question leans on the side of an assertion.
Were you not adding a test? I don't see it. |
f1821bd to
d0e343f
Compare
herbelin
left a comment
There was a problem hiding this comment.
Thanks for your review.
| let uctx_body = UState.restrict uctx used_univs in | ||
| UState.check_mono_univ_decl uctx_body udecl in | ||
| initial_euctx, utyp, Default { body = (body, eff); opaque = Opaque ubody } | ||
| initial_euctx, utyp, used_univs, Default { body = (body, eff); opaque = Opaque ubody } |
There was a problem hiding this comment.
I think I'm fine as it is (especially since the tupling is immediately destructed by the caller) but I can use a tuple if your question leans on the side of an assertion.
691b188 to
b20eab4
Compare
This will allow to deal with multiple (non-recursive) dependent entries, as in Derive, where the n-th constant depends on the universes of the p-th constants for p<n. Co-Authored-By: Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net>
…e_possibly_mutual_definitions
b20eab4 to
603db3d
Compare
|
@coqbot run full ci |
|
@coqbot merge now |
The PR introduces a sharing of universe treatment across Definition, Theorem and Co/Fixpoint.
In particular, this means that when it willl be possible to declare opaque immediate forms of Definition, Fixpoint or CoFixpoint, they will take automatically benefit of the ability to use private universes.
This is part of rocq-prover/rfcs#89. Integrating Derive in the process is done in #19578. Then, Program and Equations could also be considered.
Depends on: