@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: Chris Hughes
5
5
6
6
! This file was ported from Lean 3 source module group_theory.subgroup.zpowers
7
- ! leanprover-community/mathlib commit f93c11933efbc3c2f0299e47b8ff83e9b539cbf6
7
+ ! leanprover-community/mathlib commit e655e4ea5c6d02854696f97494997ba4c31be802
8
8
! Please do not edit these lines, except to modify the commit id
9
9
! if you have ported upstream changes.
10
10
-/
@@ -36,6 +36,10 @@ theorem mem_zpowers (g : G) : g ∈ zpowers g :=
36
36
⟨1 , zpow_one _⟩
37
37
#align subgroup.mem_zpowers Subgroup.mem_zpowers
38
38
39
+ theorem coe_zpowers (g : G) : ↑(zpowers g) = Set.range (g ^ · : ℤ → G) :=
40
+ rfl
41
+ #align subgroup.coe_zpowers Subgroup.coe_zpowers
42
+
39
43
theorem zpowers_eq_closure (g : G) : zpowers g = closure {g} := by
40
44
ext
41
45
exact mem_closure_singleton.symm
@@ -45,11 +49,6 @@ theorem range_zpowersHom (g : G) : (zpowersHom G g).range = zpowers g :=
45
49
rfl
46
50
#align subgroup.range_zpowers_hom Subgroup.range_zpowersHom
47
51
48
- theorem zpowers_subset {a : G} {K : Subgroup G} (h : a ∈ K) : zpowers a ≤ K := fun x hx =>
49
- match x, hx with
50
- | _, ⟨i, rfl⟩ => K.zpow_mem h i
51
- #align subgroup.zpowers_subset Subgroup.zpowers_subset
52
-
53
52
theorem mem_zpowers_iff {g h : G} : h ∈ zpowers g ↔ ∃ k : ℤ, g ^ k = h :=
54
53
Iff.rfl
55
54
#align subgroup.mem_zpowers_iff Subgroup.mem_zpowers_iff
@@ -100,15 +99,14 @@ attribute [to_additive existing AddSubgroup.zmultiples] Subgroup.zpowers
100
99
attribute [to_additive (attr := simp) AddSubgroup.mem_zmultiples] Subgroup.mem_zpowers
101
100
#align add_subgroup.mem_zmultiples AddSubgroup.mem_zmultiples
102
101
102
+ attribute [to_additive (attr := norm_cast) AddSubgroup.coe_zmultiples] Subgroup.coe_zpowers
103
+
103
104
attribute [to_additive AddSubgroup.zmultiples_eq_closure] Subgroup.zpowers_eq_closure
104
105
#align add_subgroup.zmultiples_eq_closure AddSubgroup.zmultiples_eq_closure
105
106
106
107
attribute [to_additive existing (attr := simp) AddSubgroup.range_zmultiplesHom]
107
108
Subgroup.range_zpowersHom
108
109
109
- attribute [to_additive AddSubgroup.zmultiples_subset] Subgroup.zpowers_subset
110
- #align add_subgroup.zmultiples_subset AddSubgroup.zmultiples_subset
111
-
112
110
attribute [to_additive AddSubgroup.mem_zmultiples_iff] Subgroup.mem_zpowers_iff
113
111
#align add_subgroup.mem_zmultiples_iff AddSubgroup.mem_zmultiples_iff
114
112
@@ -187,6 +185,8 @@ theorem ofAdd_image_zmultiples_eq_zpowers_ofAdd {x : A} :
187
185
188
186
namespace Subgroup
189
187
188
+ variable {s : Set G} {g : G}
189
+
190
190
@[to_additive zmultiples_isCommutative]
191
191
instance zpowers_isCommutative (g : G) : (zpowers g).IsCommutative :=
192
192
⟨⟨fun ⟨_, _, h₁⟩ ⟨_, _, h₂⟩ => by
@@ -201,11 +201,25 @@ theorem zpowers_le {g : G} {H : Subgroup G} : zpowers g ≤ H ↔ g ∈ H := by
201
201
#align subgroup.zpowers_le Subgroup.zpowers_le
202
202
#align add_subgroup.zmultiples_le AddSubgroup.zmultiples_le
203
203
204
+ alias zpowers_le ↔ _ zpowers_le_of_mem
205
+ #align subgroup.zpowers_le_of_mem Subgroup.zpowers_le_of_mem
206
+
207
+ alias AddSubgroup.zmultiples_le ↔ _ _root_.AddSubgroup.zmultiples_le_of_mem
208
+ #align add_subgroup.zmultiples_le_of_mem AddSubgroup.zmultiples_le_of_mem
209
+
210
+ attribute [to_additive existing zmultiples_le_of_mem] zpowers_le_of_mem
211
+
204
212
@[to_additive (attr := simp) zmultiples_eq_bot]
205
213
theorem zpowers_eq_bot {g : G} : zpowers g = ⊥ ↔ g = 1 := by rw [eq_bot_iff, zpowers_le, mem_bot]
206
214
#align subgroup.zpowers_eq_bot Subgroup.zpowers_eq_bot
207
215
#align add_subgroup.zmultiples_eq_bot AddSubgroup.zmultiples_eq_bot
208
216
217
+ @[to_additive zmultiples_ne_bot]
218
+ theorem zpowers_ne_bot : zpowers g ≠ ⊥ ↔ g ≠ 1 :=
219
+ zpowers_eq_bot.not
220
+ #align subgroup.zpowers_ne_bot Subgroup.zpowers_ne_bot
221
+ #align add_subgroup.zmultiples_ne_bot AddSubgroup.zmultiples_ne_bot
222
+
209
223
@[to_additive (attr := simp) zmultiples_zero_eq_bot]
210
224
theorem zpowers_one_eq_bot : Subgroup.zpowers (1 : G) = ⊥ :=
211
225
Subgroup.zpowers_eq_bot.mpr rfl
0 commit comments