# Documentation

Mathlib.GroupTheory.Subgroup.ZPowers

# Subgroups generated by an element #

## Tags #

subgroup, subgroups

def Subgroup.zpowers {G : Type u_1} [] (g : G) :

The subgroup generated by an element.

Instances For
@[simp]
theorem Subgroup.mem_zpowers {G : Type u_1} [] (g : G) :
theorem Subgroup.coe_zpowers {G : Type u_1} [] (g : G) :
↑() = Set.range fun x => g ^ x
theorem Subgroup.zpowers_eq_closure {G : Type u_1} [] (g : G) :
@[simp]
theorem Subgroup.range_zpowersHom {G : Type u_1} [] (g : G) :
MonoidHom.range (↑() g) =
theorem Subgroup.mem_zpowers_iff {G : Type u_1} [] {g : G} {h : G} :
k, g ^ k = h
@[simp]
theorem Subgroup.zpow_mem_zpowers {G : Type u_1} [] (g : G) (k : ) :
g ^ k
@[simp]
theorem Subgroup.npow_mem_zpowers {G : Type u_1} [] (g : G) (k : ) :
g ^ k
@[simp]
theorem Subgroup.forall_zpowers {G : Type u_1} [] {x : G} {p : { x // }Prop} :
((g : { x // }) → p g) (m : ) → p { val := x ^ m, property := (_ : y, (fun x x_1 => x ^ x_1) x y = x ^ m) }
@[simp]
theorem Subgroup.exists_zpowers {G : Type u_1} [] {x : G} {p : { x // }Prop} :
(g, p g) m, p { val := x ^ m, property := (_ : y, (fun x x_1 => x ^ x_1) x y = x ^ m) }
theorem Subgroup.forall_mem_zpowers {G : Type u_1} [] {x : G} {p : GProp} :
((g : G) → p g) (m : ) → p (x ^ m)
theorem Subgroup.exists_mem_zpowers {G : Type u_1} [] {x : G} {p : GProp} :
(g, p g) m, p (x ^ m)
def AddSubgroup.zmultiples {A : Type u_2} [] (a : A) :

The subgroup generated by an element.

Instances For
@[simp]
theorem AddSubgroup.range_zmultiplesHom {A : Type u_2} [] (a : A) :
@[simp]
theorem AddSubgroup.mem_zmultiples {G : Type u_1} [] (g : G) :
theorem AddSubgroup.coe_zmultiples {G : Type u_1} [] (g : G) :
= Set.range fun x => x g
theorem AddSubgroup.zmultiples_eq_closure {G : Type u_1} [] (g : G) :
theorem AddSubgroup.mem_zmultiples_iff {G : Type u_1} [] {g : G} {h : G} :
k, k g = h
@[simp]
theorem AddSubgroup.zsmul_mem_zmultiples {G : Type u_1} [] (g : G) (k : ) :
k g
@[simp]
theorem AddSubgroup.nsmul_mem_zmultiples {G : Type u_1} [] (g : G) (k : ) :
k g
@[simp]
theorem AddSubgroup.forall_zmultiples {G : Type u_1} [] {x : G} {p : { x // }Prop} :
((g : { x // }) → p g) (m : ) → p { val := m x, property := (_ : y, (fun x x_1 => x_1 x) x y = m x) }
theorem AddSubgroup.forall_mem_zmultiples {G : Type u_1} [] {x : G} {p : GProp} :
((g : G) → p g) (m : ) → p (m x)
@[simp]
theorem AddSubgroup.exists_zmultiples {G : Type u_1} [] {x : G} {p : { x // }Prop} :
(g, p g) m, p { val := m x, property := (_ : y, (fun x x_1 => x_1 x) x y = m x) }
theorem AddSubgroup.exists_mem_zmultiples {G : Type u_1} [] {x : G} {p : GProp} :
(g, p g) m, p (m x)
@[simp]
theorem AddSubgroup.int_cast_mul_mem_zmultiples {R : Type u_4} [Ring R] (r : R) (k : ) :
k * r
@[simp]
@[simp]
theorem Int.range_castAddHom {A : Type u_4} [] :
@[simp]
theorem AddMonoidHom.map_zmultiples {G : Type u_1} [] {N : Type u_3} [] (f : G →+ N) (x : G) :
@[simp]
theorem MonoidHom.map_zpowers {G : Type u_1} [] {N : Type u_3} [] (f : G →* N) (x : G) :
theorem Int.mem_zmultiples_iff {a : } {b : } :
a b
theorem ofMul_image_zpowers_eq_zmultiples_ofMul {G : Type u_1} [] {x : G} :
abbrev AddSubgroup.zmultiples_isCommutative.match_1 {G : Type u_1} [] (g : G) (motive : { x // }Prop) :
(x : { x // }) → ((val : G) → (w : ) → (h₂ : (fun x x_1 => x_1 x) g w = val) → motive { val := val, property := (_ : y, (fun x x_1 => x_1 x) g y = val) }) → motive x
Instances For
instance AddSubgroup.zmultiples_isCommutative {G : Type u_1} [] (g : G) :
instance Subgroup.zpowers_isCommutative {G : Type u_1} [] (g : G) :
@[simp]
theorem AddSubgroup.zmultiples_le {G : Type u_1} [] {g : G} {H : } :
g H
@[simp]
theorem Subgroup.zpowers_le {G : Type u_1} [] {g : G} {H : } :
g H
theorem Subgroup.zpowers_le_of_mem {G : Type u_1} [] {g : G} {H : } :
g H

Alias of the reverse direction of Subgroup.zpowers_le.

theorem AddSubgroup.zmultiples_le_of_mem {G : Type u_1} [] {g : G} {H : } :
g H

Alias of the reverse direction of AddSubgroup.zmultiples_le.

@[simp]
theorem AddSubgroup.zmultiples_eq_bot {G : Type u_1} [] {g : G} :
g = 0
@[simp]
theorem Subgroup.zpowers_eq_bot {G : Type u_1} [] {g : G} :
g = 1
theorem AddSubgroup.zmultiples_ne_bot {G : Type u_1} [] {g : G} :
g 0
theorem Subgroup.zpowers_ne_bot {G : Type u_1} [] {g : G} :
g 1
@[simp]
@[simp]
theorem Subgroup.zpowers_one_eq_bot {G : Type u_1} [] :
theorem AddSubgroup.centralizer_closure {G : Type u_1} [] (S : Set G) :
= ⨅ (g : G) (_ : g S),
theorem Subgroup.centralizer_closure {G : Type u_1} [] (S : Set G) :
= ⨅ (g : G) (_ : g S),
theorem AddSubgroup.center_eq_iInf {G : Type u_1} [] (S : Set G) (hS : ) :
= ⨅ (g : G) (_ : g S),
theorem Subgroup.center_eq_iInf {G : Type u_1} [] (S : Set G) (hS : ) :
= ⨅ (g : G) (_ : g S),
theorem AddSubgroup.center_eq_infi' {G : Type u_1} [] (S : Set G) (hS : ) :
= ⨅ (g : S),
theorem Subgroup.center_eq_infi' {G : Type u_1} [] (S : Set G) (hS : ) :
= ⨅ (g : S),