Subgroups generated by an element #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Tags #
subgroup, subgroups
The subgroup generated by an element.
Equations
- subgroup.zpowers g = (⇑(zpowers_hom G) g).range.copy (set.range (has_pow.pow g)) _
 
Instances for subgroup.zpowers
        
        
    Instances for ↥subgroup.zpowers
        
    @[simp]
@[norm_cast]
@[simp]
    
theorem
subgroup.range_zpowers_hom
    {G : Type u_1}
    [group G]
    (g : G) :
(⇑(zpowers_hom G) g).range = subgroup.zpowers g
@[simp]
    
theorem
subgroup.zpow_mem_zpowers
    {G : Type u_1}
    [group G]
    (g : G)
    (k : ℤ) :
g ^ k ∈ subgroup.zpowers g
@[simp]
    
theorem
subgroup.npow_mem_zpowers
    {G : Type u_1}
    [group G]
    (g : G)
    (k : ℕ) :
g ^ k ∈ subgroup.zpowers g
@[simp]
    
theorem
subgroup.forall_zpowers
    {G : Type u_1}
    [group G]
    {x : G}
    {p : ↥(subgroup.zpowers x) → Prop} :
@[protected, instance]
The subgroup generated by an element.
Equations
- add_subgroup.zmultiples a = (⇑(zmultiples_hom A) a).range.copy (set.range (λ (_x : ℤ), _x • a)) _
 
Instances for add_subgroup.zmultiples
        
        
    Instances for ↥add_subgroup.zmultiples
        
    @[simp]
    
theorem
add_subgroup.range_zmultiples_hom
    {A : Type u_2}
    [add_group A]
    (a : A) :
(⇑(zmultiples_hom A) a).range = add_subgroup.zmultiples a
@[simp]
@[norm_cast]
@[simp]
    
theorem
add_subgroup.zsmul_mem_zmultiples
    {G : Type u_1}
    [add_group G]
    (g : G)
    (k : ℤ) :
k • g ∈ add_subgroup.zmultiples g
@[simp]
    
theorem
add_subgroup.nsmul_mem_zmultiples
    {G : Type u_1}
    [add_group G]
    (g : G)
    (k : ℕ) :
k • g ∈ add_subgroup.zmultiples g
@[simp]
    
theorem
add_subgroup.forall_zmultiples
    {G : Type u_1}
    [add_group G]
    {x : G}
    {p : ↥(add_subgroup.zmultiples x) → Prop} :
@[protected, instance]
@[simp]
    
theorem
add_subgroup.int_cast_mul_mem_zmultiples
    {R : Type u_4}
    [ring R]
    (r : R)
    (k : ℤ) :
↑k * r ∈ add_subgroup.zmultiples r
@[simp]
@[simp]
    
theorem
monoid_hom.map_zpowers
    {G : Type u_1}
    [group G]
    {N : Type u_3}
    [group N]
    (f : G →* N)
    (x : G) :
subgroup.map f (subgroup.zpowers x) = subgroup.zpowers (⇑f x)
@[protected, instance]
@[protected, instance]
@[simp]
    
theorem
subgroup.zpowers_le
    {G : Type u_1}
    [group G]
    {g : G}
    {H : subgroup G} :
subgroup.zpowers g ≤ H ↔ g ∈ H
@[simp]
    
theorem
add_subgroup.zmultiples_le
    {G : Type u_1}
    [add_group G]
    {g : G}
    {H : add_subgroup G} :
add_subgroup.zmultiples g ≤ H ↔ g ∈ H
    
theorem
subgroup.zpowers_le_of_mem
    {G : Type u_1}
    [group G]
    {g : G}
    {H : subgroup G} :
g ∈ H → subgroup.zpowers g ≤ H
Alias of the reverse direction of subgroup.zpowers_le.
    
theorem
add_subgroup.zmultiples_le_of_mem
    {G : Type u_1}
    [add_group G]
    {g : G}
    {H : add_subgroup G} :
g ∈ H → add_subgroup.zmultiples g ≤ H
Alias of the reverse direction of add_subgroup.zmultiples_le.
@[simp]
    
theorem
add_subgroup.zmultiples_eq_bot
    {G : Type u_1}
    [add_group G]
    {g : G} :
add_subgroup.zmultiples g = ⊥ ↔ g = 0
@[simp]
    
theorem
add_subgroup.zmultiples_ne_bot
    {G : Type u_1}
    [add_group G]
    {g : G} :
add_subgroup.zmultiples g ≠ ⊥ ↔ g ≠ 0
@[simp]
@[simp]
    
theorem
subgroup.centralizer_closure
    {G : Type u_1}
    [group G]
    (S : set G) :
subgroup.centralizer ↑(subgroup.closure S) = ⨅ (g : G) (H : g ∈ S), subgroup.centralizer ↑(subgroup.zpowers g)
    
theorem
add_subgroup.centralizer_closure
    {G : Type u_1}
    [add_group G]
    (S : set G) :
add_subgroup.centralizer ↑(add_subgroup.closure S) = ⨅ (g : G) (H : g ∈ S), add_subgroup.centralizer ↑(add_subgroup.zmultiples g)
    
theorem
add_subgroup.center_eq_infi
    {G : Type u_1}
    [add_group G]
    (S : set G)
    (hS : add_subgroup.closure S = ⊤) :
add_subgroup.center G = ⨅ (g : G) (H : g ∈ S), add_subgroup.centralizer ↑(add_subgroup.zmultiples g)
    
theorem
subgroup.center_eq_infi
    {G : Type u_1}
    [group G]
    (S : set G)
    (hS : subgroup.closure S = ⊤) :
subgroup.center G = ⨅ (g : G) (H : g ∈ S), subgroup.centralizer ↑(subgroup.zpowers g)
    
theorem
subgroup.center_eq_infi'
    {G : Type u_1}
    [group G]
    (S : set G)
    (hS : subgroup.closure S = ⊤) :
subgroup.center G = ⨅ (g : ↥S), subgroup.centralizer ↑(subgroup.zpowers ↑g)
    
theorem
add_subgroup.center_eq_infi'
    {G : Type u_1}
    [add_group G]
    (S : set G)
    (hS : add_subgroup.closure S = ⊤) :
add_subgroup.center G = ⨅ (g : ↥S), add_subgroup.centralizer ↑(add_subgroup.zmultiples ↑g)