feat: remove Quot.sound axiom from em, provide em_eq without propext#13826
feat: remove Quot.sound axiom from em, provide em_eq without propext#13826lyphyser wants to merge 2 commits into
Conversation
This uses a different route that relies on proof irrelevance rather function extensionality: since proof irrelevance is built-in in Lean, it seems a more appropriate approach. In addition to removing the axiom dependency, the new proof is much shorter, and provides a version for equalities that only depends on `choice`.
This makes it no longer defeq to propDecidable, but it shouldn't be a problem.
|
Minimizing use of the standard axiom is an explicit non-goal in the lean4 development. Although I agree that the new proof looks simpler. Or is that due to heavy golfing? It’s not actually pretty either, just more compact. Overall, not sure if this contribution pulls its weight. |
|
Mathlib CI status (docs):
|
|
Reference manual CI status:
|
|
I think it's still simpler with less golfing. Here is a more verbose version: Or even more verbose: EDIT: changed to use a double match, seems more readable |
|
Is the "verbose" or "even more verbose" version preferable? Should I replace the current minimized proof in the pull request with one of those? |
|
To be honest, I don't think this proof matters enough to justify the discussion, sorry. (Let's use proof irrelevance at the human level :-)) |
Indeed. These older proofs will likely be refactored at some later point |
This PR changes Classical.em to use a different route that relies on proof irrelevance rather than function extensionality: since proof irrelevance is built-in in Lean, it seems a more appropriate approach.
In addition to removing the axiom dependency, the new proof is much shorter, and provides a version for equalities that only depends on
choice, which is now explicitly used intypeDecidableEq, thus removing its dependency onQuot.soundandpropext.