Zulip Chat Archive
Stream: mathlib4
Topic: help fixing a proof in Mathlib.GroupTheory.CoprodI?
Kim Morrison (Apr 24 2024 at 04:12):
The proof
theorem induction_on {C : CoprodI M → Prop} (m : CoprodI M) (h_one : C 1)
(h_of : ∀ (i) (m : M i), C (of m)) (h_mul : ∀ x y, C x → C y → C (x * y)) : C m := by
let S : Submonoid (CoprodI M) :=
{ carrier := setOf C
mul_mem' := h_mul _ _
one_mem' := h_one }
have : C _ := Subtype.prop (lift (fun i => of.codRestrict S (h_of i)) m)
convert this
change MonoidHom.id _ m = S.subtype.comp _ m
congr
ext i
rfl
in Mathlib.GroupTheory.CoprodI
is currently breaking on nightly-testing
, but I'm a bit hesitant to put effort into tracking down the cause for the change, because the proof looks sort of icky to begin with! (In particular, the convert
/ change
/ congr
steps.)
Would anyone be interested in writing a new proof here? Either just coming up with something cleaner on master
, or working on nightly-testing
so you can be sure you're dealing with the error there (on change
) would be great.
Yury G. Kudryashov (Apr 24 2024 at 05:31):
I'm on it
Yury G. Kudryashov (Apr 24 2024 at 06:46):
I'm bad at fixing a proof without touching theorems around it: #12391
Johan Commelin (Apr 24 2024 at 06:52):
LGTM! :peace_sign:
Last updated: May 02 2025 at 03:31 UTC