chore: attribute [induction_eliminator]#12605
Conversation
| theorem map_id : map (MulHom.id α) = MonoidHom.id (WithOne α) := by | ||
| ext x | ||
| induction x using WithOne.cases_on <;> rfl | ||
| induction x <;> rfl |
There was a problem hiding this comment.
We have WithOne.recOneCoe and WithZero.recZeroCoe. Can we just remove WithOne.cases_on and WithZero.cases_on?
|
Does it make |
|
193 files is pretty large to review; can this be split? I've made #13096 for the really basic |
|
Another good split would be all the |
This is a smaller version of #12605. This allows `using` to be dropped from `induction`.
|
…le types (#14205) Namely: * `AList` * `Cycle` * `ConjAct` * `Projectivization` * `Lex` * `NatOrdinal` * `WithLawson` * `WithLower` * `WithUpper` * `WithScott` * `WithUpperSet` * `WithLowerSet` * `Speicalization` (which had an incorrectly-stated induction principle) These are just for the cases which have docstrings of the form "Use as `induction .* using .*`". Inspired by #12605.
Now down to 140 files! I think the |
…le types (#14205) Namely: * `AList` * `Cycle` * `ConjAct` * `Projectivization` * `Lex` * `NatOrdinal` * `WithLawson` * `WithLower` * `WithUpper` * `WithScott` * `WithUpperSet` * `WithLowerSet` * `Speicalization` (which had an incorrectly-stated induction principle) These are just for the cases which have docstrings of the form "Use as `induction .* using .*`". Inspired by #12605.
|
What's the status here? I think this is a useful PR |
|
@FR-vdash-bot What parts of this is not in |
Add attribute [induction_eliminator] to
AdjoinRoot.induction_onENat.recTopCoeENNReal.recTopCoeFinset.inductionMagma.AssocQuotient.induction_onManyOneDegree.ind_onModule.Ray.ind(and addOrientation.indforOrientation, an abbrev of it. I wish that we do not need to add it in the future.)Multiset.inductionMvPolynomial.induction_onOnePoint.recOpposite.rec'Ordinal.limitRecOnPartENat.casesOnPolynomial.induction_on'QuotientAddGroup.induction_on'(and addAddCircle.induction_onforAddCircle, an abbrev of it. I wish that we do not need to add it in the future.)QuotientGroup.induction_on'(doesn't actually work)Real.Angle.induction_onSimplexCategory.recTrunc.induction_oninduction_eliminator, cases_eliminatortoWithTopetc #13264