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 bspellingtheorem Nat.le_induction: induct ona ≤ bdef Nat.leRecOn', which isNat.le.recthat works inSort*but does not work with theinductionkeyword. 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 thePropcase. Where appropriate, the lemmas aboutNat.leRecOnare 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.decreasingInductionto be usable with theinductiontactic, 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.