1 parent 66b0209 commit 6edf351Copy full SHA for 6edf351
1 file changed
Minimathlib/Group.lean
@@ -103,3 +103,20 @@ theorem mul_inv_rev_term2 (a b : G): (a * b)⁻¹ = b⁻¹ * a⁻¹ :=
103
class Hom (G: Type u) (H: Type v) [Group G] [Group H] where
104
map: G → H
105
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
0 commit comments