Commit 2024-07-13 07:32 ce2899f1
View on Github →feat: a replacement for Nat.leRecOn'
that works with induction
(#14431)
Before this PR, we had:
theorem Nat.le.rec
: induct ona ≤ b
, but using an annoyinga.le b
spellingtheorem Nat.le_induction
: induct ona ≤ b
def Nat.leRecOn'
, which isNat.le.rec
that works inSort*
but does not work with theinduction
keyword. There are no lemmas about this definition.def Nat.leRecOn
, a weaker version ofNat.leRecOn'
that also doesn't work withinduction
. There are lots of lemmas about this definition This PR introducesNat.leRec
, which is aSort*
-valued version ofNat.le.rec
, with a signature that coincides in theProp
case. Where appropriate, the lemmas aboutNat.leRecOn
are recovered as special cases of lemmas about this new definition.Nat.leRecOn'
is then deprecated, as it is strictly less useful thanNat.leRec
. This also changes the signature ofNat.decreasingInduction
to be usable with theinduction
tactic, with no deprecated alias since there are very few uses.Nat.decreasingInduction'
is left alone, as it is unclear to me how to state it in a way understood byinduction
.