-
Notifications
You must be signed in to change notification settings - Fork 444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: make rcases
use the custom Nat
eliminator
#3747
Conversation
This seems a bit specialized. I think it would be better to just use the default custom eliminator for the type in |
@digama0 Good, you saw this, I was going to ping you to take a look. This is part of the "nat induction beautification" project. Leo was OK with custom induction principles for Nat in particular, and for There are two issues with
Probably what would be better is to modify I'm not sure about the right implementation for |
As a special case, makes the `rcases` machinery use `Nat.casesAuxOn` so that goal states see `0` and `n + 1` rather than `Nat.zero` and `Nat.succ n`. This is a followup to enabling custom eliminators for `cases` and `induction`. This doesn't use custom eliminators in general since `rcases` uses `Lean.MVarId.cases`, which is completely different from what `cases` and `induction` use.
Mathlib CI status (docs):
|
I think that |
As a special case, makes the
rcases
machinery useNat.casesAuxOn
so that goal states see0
andn + 1
rather thanNat.zero
andNat.succ n
. This is a followup to enabling custom eliminators forcases
andinduction
.This doesn't use custom eliminators in general since
rcases
usesLean.MVarId.cases
, which is completely different from whatcases
andinduction
use.