Zulip Chat Archive
Stream: maths
Topic: multiplicative annoyance
Kevin Buzzard (Mar 09 2019 at 23:31):
import group_theory.subgroup example (R : Type*) [comm_ring R] (P : R → Prop) (T : set R) (HP1 : ∀ t : R, t ∈ T → P t) (HP2 : P 0) (HP3 : ∀ r : R, P r → P (-r)) (HP4 : ∀ r s : R, P r → P s → P (r + s)) (u : R) (hu : u ∈ add_group.closure T) : P u := begin induction hu with a ha a ha ih a b ha hb iha ihb, { exact HP1 a ha}, { -- goal P 1 exact HP2}, { -- goal P a⁻¹ exact HP3 a ih, }, { -- goal P (a * b) exact HP4 a b iha ihb, } end
All the goals are multiplicative.
Kevin Buzzard (Mar 09 2019 at 23:32):
In real life I have much more complex goals, and I just failed to use mul_one to deal with v * 1
and then I realised that it might be any of mul_zero
, add_one
or add_zero
Kevin Buzzard (Mar 09 2019 at 23:32):
turned out it was mul_zero
Mario Carneiro (Mar 09 2019 at 23:36):
does add_group.closure
have a defined recursor?
Mario Carneiro (Mar 09 2019 at 23:37):
in_closure.rec_on
Kenny Lau (Mar 09 2019 at 23:41):
this is all XXX's fault of not allowing variable operation
Last updated: Dec 20 2023 at 11:08 UTC