Skip to content

Commit 6edf351

Browse files
committed
long-winded proof.
1 parent 66b0209 commit 6edf351

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

Minimathlib/Group.lean

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,20 @@ theorem mul_inv_rev_term2 (a b : G): (a * b)⁻¹ = b⁻¹ * a⁻¹ :=
103103
class Hom (G: Type u) (H: Type v) [Group G] [Group H] where
104104
map: G → H
105105
homs: ∀ a b : G, map (a*b) = map a * map b
106+
107+
def is_abelian (G: Type u) [Group G]: Prop := ∀ a b : G, a * b = b * a
108+
109+
example (G1 : Type u) [Group G1] (h: ∀ a : G1, a * a = e): is_abelian G1 := by
110+
unfold is_abelian
111+
have self_inverse: (p : G1) → p = p⁻¹ := by
112+
intro p
113+
have r := congrArg (. * p⁻¹) (h p)
114+
simp at r
115+
rw [mul_assoc, mul_inv, mul_one, one_mul] at r
116+
assumption
117+
intro a b
118+
have useful_step: a * b = (a*b)⁻¹ := self_inverse (a*b)
119+
rw [useful_step, mul_inv_rev]
120+
congr
121+
rw [← self_inverse]
122+
rw [← self_inverse]

0 commit comments

Comments
 (0)