Closed JasonGross closed 2 years ago
This was a bit harder to debug than it should have been, due to https://github.com/coq/coq/issues/15073
Good job on finding the culprit! That's a nasty error message from universes though, hopefully we can take a look at that this week.
The error message isn't actually that nasty, it's just that if you explicitly annotate a definition with universes, you can't then use a polymorphic constant to admit the definition.
This is responsible for https://github.com/coq/coq/pull/14733#issuecomment-892772832 and https://github.com/coq/coq/pull/14748#issuecomment-898896082
Consider: In
Foo.v
:In
ex.v
:When minimizing this file, we add the code
to the top. We then replace
refine True
withadmit
. This is fine, but we can now no longer inlineFoo.v
, because that willSet Universe Polymorphism
givingFalse
and thereforeproof_admitted
one universe, which is not valid. In particular, the fileThe solution is to false
Inductive False
to be inProp
.