Add parsing and interpretation of elimination constraints#21195
Add parsing and interpretation of elimination constraints#21195coqbot-app[bot] merged 7 commits intorocq-prover:masterfrom
Conversation
|
@coqbot run full ci |
ef9e78a to
69e04cb
Compare
69e04cb to
419734b
Compare
|
something strange is going on in stdlib_test, the message from https://github.com/rocq-prover/stdlib/blob/e343c58314f5a902e08ec6a211f4e1b5812a8c89/test-suite/output/Fixpoint.v#L123 changed to say |
|
@coqbot run full CI |
|
@SkySkimmer how do i specify the Also, I don't know how to fix the refman problem, which comes from this snippet: (here, it doesn't know |
|
For the grammar I think you need to follow the instructions on regenerating the files for the linting check between the .mlg's and the doc. |
|
@coqbot run full ci |
mattam82
left a comment
There was a problem hiding this comment.
I only have minor comments, I think we will need to play with this code and have a few iterations anyway to ensure its correctness. Just one thing, we don't touch the "broken" transitivity closure issue found by @tabareau here, right? If not I think this can be merged.
| | Irrelevant -> Sorts.sprop | ||
| | Relevant when Universe.is_type0 u -> Sorts.set | ||
| | Relevant -> Sorts.make Sorts.Quality.qtype u | ||
| | Relevant -> Sorts.prop |
There was a problem hiding this comment.
The comment above the code becomes misleading if you don't change it. I think the solution is fine, but the comment should reflect it.
| Polymorphic Definition sort'@{s | u |} := Type@{s|u}. | ||
|
|
||
| To help the parser, both `|` in the :n:`@univ_decl` are required. | ||
| To help the parser, both `|` in the :n:`@sort_poly_decl` are required. |
There was a problem hiding this comment.
Isn't this outdated? We have @{s;u} already in this branch no?
There was a problem hiding this comment.
this is a note about the old syntax (which is still parsed)
I think it is being handled by the changes in |
|
Great! |
Fix refman fix refman more
|
Should be good now! |
|
@coqbot merge now |
|
@mattam82: You cannot merge this PR because:
|
|
It's missing a changelog entry |
|
@jrosain ? |
|
Is this fine? |
|
Yes! |
|
@coqbot merge now |
|
@mattam82: You cannot merge this PR because:
|
|
@coqbot merge now |
|
@mattam82: Please take care of the following overlays:
|
|
Overlay time! |
|
I pinged everyone |
|
@fajb please merge the overlay on itauto, there is some backlog already. |
This PR adds the parsing of elimination constraints as defined in the RFC rocq-prover/rfcs#111.
In particular, it adds the possibility to have sort-level constraints in definitions:
Definition foo@{s s'; | s -> s'} ...and for global sorts.
Sort s s'. Constraint s -> s'.make doc_gram_rsts.Overlays (to be merged in sync with the upstream PR)