feat: Remove Type eliminates to any sort by default#21453
feat: Remove Type eliminates to any sort by default#21453TDiazT wants to merge 5 commits intorocq-prover:masterfrom
Conversation
|
Why? |
|
Right now we have eq in Type implies eq in SProp, and not the other way around. |
|
I do imagine we would want to keep |
|
@coqbot run full ci |
Type eliminates to any sort is an unnecessary constraint. In particular, it is not compatible with a more general mechanism for erasure/extraction that @jrosain is working on. |
Indeed, the idea for adding a univalent sort would rather be "don't say that |
85151a7 to
8596187
Compare
0d54c1b to
604730b
Compare
604730b to
50b74a1
Compare
|
Does this interact properly with nested schemes (#21429 etc)? With nested schemes the _all scheme puts arbitrary sort data in a Type, eg prod_all: for scheme generation we don't actually eliminate it, but when we want to use the scheme we will want to eliminate it and typically expect |
|
|
I don't know, but at a first glance it seems like it would conflict and that someone (?) would need to add the |
50b74a1 to
e59364d
Compare
No as @thomas-lamiaux was saying, we fix the return sort of |
b248865 to
3611d16
Compare
bd12644 to
056f4e6
Compare
056f4e6 to
ba188e6
Compare
|
@coqbot run full ci |
| @@ -0,0 +1,4 @@ | |||
| - **Changed:** | |||
| `Type` does not eliminate to any sort by default | |||
There was a problem hiding this comment.
| `Type` does not eliminate to any sort by default | |
| `Type` does not eliminate to every sort by default |
? it still eliminates to Prop & SProp right?
ba188e6 to
406aa96
Compare
406aa96 to
d6777bb
Compare
fix: Update to have dominance check not be done on same quality Notably, dominance updates between sort variables were not checking if the variables were the same. If both were the same and they were not dominated (e.g. when removing the default Type->s constraint), then it would loop because it would postpone the dominance check. It really doesn't make sense though to update the dominance of a sort variable when adding the reflexive elimination constraint. The dominant will be the same in both cases, and if there is none, then it will be dominated eventually when checking with other sorts.
fix: Add Type->s to MaybeSquashed
d6777bb to
72ff7ad
Compare
This PR depends on #21417 .
This PR removes the default behavior of
Typeeliminating to any sort.Associated RFC : rocq-prover/rfcs#111.