Loogle!
Result
Found 171 declarations mentioning Subgroup.closure.
- Subgroup.closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (k : Set G) : Subgroup G - Subgroup.closure_univ ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] : Subgroup.closure Set.univ = โค - Subgroup.closure_empty ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] : Subgroup.closure โ = โฅ - Subgroup.closure_eq ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (K : Subgroup G) : Subgroup.closure โK = K - Subgroup.subset_closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {k : Set G} : k โ โ(Subgroup.closure k) - Subgroup.mem_closure_singleton_self ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (x : G) : x โ Subgroup.closure {x} - Subgroup.mem_closure_of_mem ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {s : Set G} {x : G} (hx : x โ s) : x โ Subgroup.closure s - Subgroup.notMem_of_notMem_closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {k : Set G} {P : G} (hP : P โ Subgroup.closure k) : P โ k - Subgroup.closure_insert_one ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (s : Set G) : Subgroup.closure (insert 1 s) = Subgroup.closure s - Subgroup.closure_mono ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] โฆh k : Set Gโฆ (h' : h โ k) : Subgroup.closure h โค Subgroup.closure k - Subgroup.closure_singleton_one ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] : Subgroup.closure {1} = โฅ - Subgroup.closure_diff_one ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (s : Set G) : Subgroup.closure (s \ {1}) = Subgroup.closure s - Subgroup.closure_iUnion ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {ฮน : Sort u_2} (s : ฮน โ Set G) : Subgroup.closure (โ i, s i) = โจ i, Subgroup.closure (s i) - Subgroup.closure_sdiff_one ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (s : Set G) : Subgroup.closure (s \ {1}) = Subgroup.closure s - Subgroup.closure_union_one ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (s : Set G) : Subgroup.closure (s โช {1}) = Subgroup.closure s - Subgroup.closure_le ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (K : Subgroup G) {k : Set G} : Subgroup.closure k โค K โ k โ โK - Subgroup.gi ๐ Mathlib.Algebra.Group.Subgroup.Lattice
(G : Type u_1) [Group G] : GaloisInsertion Subgroup.closure SetLike.coe - Subgroup.closure_eq_bot_iff ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {k : Set G} : Subgroup.closure k = โฅ โ k โ {1} - Subgroup.closure_union ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (s t : Set G) : Subgroup.closure (s โช t) = Subgroup.closure s โ Subgroup.closure t - Subgroup.iSup_eq_closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {ฮน : Sort u_2} (p : ฮน โ Subgroup G) : โจ i, p i = Subgroup.closure (โ i, โ(p i)) - Subgroup.closure_eq_of_le ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (K : Subgroup G) {k : Set G} (hโ : k โ โK) (hโ : K โค Subgroup.closure k) : Subgroup.closure k = K - Subgroup.mem_closure_singleton ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {x y : G} : y โ Subgroup.closure {x} โ โ n, x ^ n = y - Subgroup.mem_closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {k : Set G} {x : G} : x โ Subgroup.closure k โ โ (K : Subgroup G), k โ โK โ x โ K - Subgroup.closure_eq_top_of_mclosure_eq_top ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {S : Set G} (h : Submonoid.closure S = โค) : Subgroup.closure S = โค - Subgroup.sup_eq_closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (H H' : Subgroup G) : H โ H' = Subgroup.closure (โH โช โH') - Subgroup.le_closure_toSubmonoid ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (S : Set G) : Submonoid.closure S โค (Subgroup.closure S).toSubmonoid - Subgroup.mem_closure_pair ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{C : Type u_2} [CommGroup C] {x y z : C} : z โ Subgroup.closure {x, y} โ โ m n, x ^ m * y ^ n = z - AddSubgroup.toSubgroup'_closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (S : Set (Additive G)) : AddSubgroup.toSubgroup' (AddSubgroup.closure S) = Subgroup.closure (โAdditive.ofMul โปยน' S) - AddSubgroup.toSubgroup_closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{A : Type u_2} [AddGroup A] (S : Set A) : AddSubgroup.toSubgroup (AddSubgroup.closure S) = Subgroup.closure (โMultiplicative.toAdd โปยน' S) - Subgroup.toAddSubgroup'_closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{A : Type u_2} [AddGroup A] (S : Set (Multiplicative A)) : Subgroup.toAddSubgroup' (Subgroup.closure S) = AddSubgroup.closure (โMultiplicative.ofAdd โปยน' S) - Subgroup.toAddSubgroup_closure ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] (S : Set G) : Subgroup.toAddSubgroup (Subgroup.closure S) = AddSubgroup.closure (โAdditive.toMul โปยน' S) - Subgroup.closure_closure_coe_preimage ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {k : Set G} : Subgroup.closure (Subtype.val โปยน' k) = โค - Subgroup.closure_induction ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {k : Set G} {p : (g : G) โ g โ Subgroup.closure k โ Prop} (mem : โ (x : G) (hx : x โ k), p x โฏ) (one : p 1 โฏ) (mul : โ (x y : G) (hx : x โ Subgroup.closure k) (hy : y โ Subgroup.closure k), p x hx โ p y hy โ p (x * y) โฏ) (inv : โ (x : G) (hx : x โ Subgroup.closure k), p x hx โ p xโปยน โฏ) {x : G} (hx : x โ Subgroup.closure k) : p x hx - Subgroup.closure_inductionโ ๐ Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [Group G] {k : Set G} {p : (x y : G) โ x โ Subgroup.closure k โ y โ Subgroup.closure k โ Prop} (mem : โ (x y : G) (hx : x โ k) (hy : y โ k), p x y โฏ โฏ) (one_left : โ (x : G) (hx : x โ Subgroup.closure k), p 1 x โฏ hx) (one_right : โ (x : G) (hx : x โ Subgroup.closure k), p x 1 hx โฏ) (mul_left : โ (x y z : G) (hx : x โ Subgroup.closure k) (hy : y โ Subgroup.closure k) (hz : z โ Subgroup.closure k), p x z hx hz โ p y z hy hz โ p (x * y) z โฏ hz) (mul_right : โ (y z x : G) (hy : y โ Subgroup.closure k) (hz : z โ Subgroup.closure k) (hx : x โ Subgroup.closure k), p x y hx hy โ p x z hx hz โ p x (y * z) hx โฏ) (inv_left : โ (x y : G) (hx : x โ Subgroup.closure k) (hy : y โ Subgroup.closure k), p x y hx hy โ p xโปยน y โฏ hy) (inv_right : โ (x y : G) (hx : x โ Subgroup.closure k) (hy : y โ Subgroup.closure k), p x y hx hy โ p x yโปยน hx โฏ) {x y : G} (hx : x โ Subgroup.closure k) (hy : y โ Subgroup.closure k) : p x y hx hy - MonoidHom.map_closure ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [Group G] {N : Type u_4} [Group N] (f : G โ* N) (s : Set G) : Subgroup.map f (Subgroup.closure s) = Subgroup.closure (โf '' s) - MonoidHom.closure_preimage_le ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [Group G] {N : Type u_4} [Group N] (f : G โ* N) (s : Set N) : Subgroup.closure (โf โปยน' s) โค Subgroup.comap f (Subgroup.closure s) - MonoidHom.eq_of_eqOn_dense ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [Group G] {M : Type u_6} [Monoid M] {s : Set G} (hs : Subgroup.closure s = โค) {f g : G โ* M} (h : Set.EqOn (โf) (โg) s) : f = g - MonoidHom.eqOn_closure ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [Group G] {M : Type u_6} [Monoid M] {f g : G โ* M} {s : Set G} (h : Set.EqOn (โf) (โg) s) : Set.EqOn โf โg โ(Subgroup.closure s) - Subgroup.closure_preimage_eq_top ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [Group G] (s : Set G) : Subgroup.closure (โ(Subgroup.closure s).subtype โปยน' s) = โค - Subgroup.closure_le_normalClosure ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] {s : Set G} : Subgroup.closure s โค Subgroup.normalClosure s - Subgroup.normalClosure_closure_eq_normalClosure ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] {s : Set G} : Subgroup.normalClosure โ(Subgroup.closure s) = Subgroup.normalClosure s - Subgroup.normalizer_le_normalizer_closure ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] (s : Set G) : Subgroup.normalizer s โค Subgroup.normalizer โ(Subgroup.closure s) - Subgroup.normal_subgroupOf_closure_normalizer ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] (s : Set G) : ((Subgroup.closure s).subgroupOf (Subgroup.normalizer s)).Normal - Subgroup.closure_prod ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] {N : Type u_4} [Group N] {s : Set G} {t : Set N} (hs : 1 โ s) (ht : 1 โ t) : Subgroup.closure (s รหข t) = (Subgroup.closure s).prod (Subgroup.closure t) - Subgroup.le_normalizer_closure_iff ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] {H : Subgroup G} {s : Set G} : H โค Subgroup.normalizer โ(Subgroup.closure s) โ โ h โ H, โ g โ s, h * g * hโปยน โ Subgroup.closure s - Subgroup.unop_closure ๐ Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [Group G] (s : Set Gแตแตแต) : (Subgroup.closure s).unop = Subgroup.closure (MulOpposite.op โปยน' s) - Subgroup.op_closure ๐ Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [Group G] (s : Set G) : (Subgroup.closure s).op = Subgroup.closure (MulOpposite.unop โปยน' s) - Subgroup.zpowers_eq_closure ๐ Mathlib.Algebra.Group.Subgroup.ZPowers.Basic
{G : Type u_1} [Group G] (g : G) : Subgroup.zpowers g = Subgroup.closure {g} - Subgroup.centralizer_closure ๐ Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] (s : Set G) : Subgroup.centralizer โ(Subgroup.closure s) = Subgroup.centralizer s - Subgroup.closure_le_centralizer_centralizer ๐ Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] (s : Set G) : Subgroup.closure s โค Subgroup.centralizer โ(Subgroup.centralizer s) - Subgroup.center_eq_infi' ๐ Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] {s : Set G} (hs : Subgroup.closure s = โค) : Subgroup.center G = โจ g, Subgroup.centralizer {โg} - Subgroup.center_eq_iInf ๐ Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] {s : Set G} (hs : Subgroup.closure s = โค) : Subgroup.center G = โจ g โ s, Subgroup.centralizer {g} - Subgroup.closureCommGroupOfComm ๐ Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] {k : Set G} (hcomm : โ x โ k, โ y โ k, x * y = y * x) : CommGroup โฅ(Subgroup.closure k) - Subgroup.isMulCommutative_closure ๐ Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] {k : Set G} (hcomm : โ x โ k, โ y โ k, x * y = y * x) : IsMulCommutative โฅ(Subgroup.closure k) - Subgroup.instIsMulCommutative_closure ๐ Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] {S : Type u_3} [SetLike S G] [MulMemClass S G] (s : S) [IsMulCommutative โฅs] : IsMulCommutative โฅ(Subgroup.closure โs) - Subgroup.closure_inv ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] (s : Set G) : Subgroup.closure sโปยน = Subgroup.closure s - Subgroup.inv_subset_closure ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] (S : Set G) : Sโปยน โ โ(Subgroup.closure S) - Subgroup.closure_singleton_inv ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] (x : G) : Subgroup.closure {xโปยน} = Subgroup.closure {x} - Subgroup.closure_toSubmonoid ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] (S : Set G) : (Subgroup.closure S).toSubmonoid = Submonoid.closure (S โช Sโปยน) - Set.mul_subgroupClosure ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} (hs : s.Nonempty) : s * โ(Subgroup.closure s) = โ(Subgroup.closure s) - Set.subgroupClosure_mul ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} (hs : s.Nonempty) : โ(Subgroup.closure s) * s = โ(Subgroup.closure s) - Subgroup.closure_pow_le ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} {n : โ} : Subgroup.closure (s ^ n) โค Subgroup.closure s - Subgroup.closure_pow ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} {n : โ} (hs : 1 โ s) (hn : n โ 0) : Subgroup.closure (s ^ n) = Subgroup.closure s - Subgroup.closure_mul_le ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] (S T : Set G) : Subgroup.closure (S * T) โค Subgroup.closure S โ Subgroup.closure T - Subgroup.sup_eq_closure_mul ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] (H K : Subgroup G) : H โ K = Subgroup.closure (โH * โK) - Set.pow_mul_subgroupClosure ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} (hs : s.Nonempty) (n : โ) : s ^ n * โ(Subgroup.closure s) = โ(Subgroup.closure s) - Set.subgroupClosure_mul_pow ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} (hs : s.Nonempty) (n : โ) : โ(Subgroup.closure s) * s ^ n = โ(Subgroup.closure s) - Subgroup.smul_closure ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{ฮฑ : Type u_1} {G : Type u_2} [Group G] [Monoid ฮฑ] [MulDistribMulAction ฮฑ G] (a : ฮฑ) (s : Set G) : a โข Subgroup.closure s = Subgroup.closure (a โข s) - Subgroup.closure_pow_anti ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} {m n : โ} (hmn : m โฃ n) : Subgroup.closure (s ^ n) โค Subgroup.closure (s ^ m) - Subgroup.smul_mem_of_mem_closure_of_mem ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {X : Type u_5} [MulAction G X] {s : Set G} {t : Set X} (hs : โ g โ s, gโปยน โ s) (hst : โ g โ s, โ x โ t, g โข x โ t) {g : G} (hg : g โ Subgroup.closure s) {x : X} (hx : x โ t) : g โข x โ t - Subgroup.closure_induction'' ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} {p : (g : G) โ g โ Subgroup.closure s โ Prop} (mem : โ (x : G) (hx : x โ s), p x โฏ) (inv_mem : โ (x : G) (hx : x โ s), p xโปยน โฏ) (one : p 1 โฏ) (mul : โ (x y : G) (hx : x โ Subgroup.closure s) (hy : y โ Subgroup.closure s), p x hx โ p y hy โ p (x * y) โฏ) {x : G} (h : x โ Subgroup.closure s) : p x h - Subgroup.closure_induction_left ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} {p : (x : G) โ x โ Subgroup.closure s โ Prop} (one : p 1 โฏ) (mul_left : โ (x : G) (hx : x โ s) (y : G) (hy : y โ Subgroup.closure s), p y hy โ p (x * y) โฏ) (inv_mul_cancel : โ (x : G) (hx : x โ s) (y : G) (hy : y โ Subgroup.closure s), p y hy โ p (xโปยน * y) โฏ) {x : G} (h : x โ Subgroup.closure s) : p x h - Subgroup.closure_induction_right ๐ Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {s : Set G} {p : (x : G) โ x โ Subgroup.closure s โ Prop} (one : p 1 โฏ) (mul_right : โ (x : G) (hx : x โ Subgroup.closure s) (y : G) (hy : y โ s), p x hx โ p (x * y) โฏ) (mul_inv_cancel : โ (x : G) (hx : x โ Subgroup.closure s) (y : G) (hy : y โ s), p x hx โ p (x * yโปยน) โฏ) {x : G} (h : x โ Subgroup.closure s) : p x h - FreeGroup.closure_range_of ๐ Mathlib.GroupTheory.FreeGroup.Basic
(ฮฑ : Type u_1) : Subgroup.closure (Set.range FreeGroup.of) = โค - FreeGroup.range_map ๐ Mathlib.GroupTheory.FreeGroup.Basic
{ฮฑ : Type u} {ฮฒ : Type v} {f : ฮฑ โ ฮฒ} : (FreeGroup.map f).range = Subgroup.closure (FreeGroup.of '' Set.range f) - FreeGroup.range_lift_eq_closure ๐ Mathlib.GroupTheory.FreeGroup.Basic
{ฮฑ : Type u} {ฮฒ : Type v} [Group ฮฒ] {f : ฮฑ โ ฮฒ} : (FreeGroup.lift f).range = Subgroup.closure (Set.range f) - FreeGroup.lift_surjective_iff_closure_range_eq_top ๐ Mathlib.GroupTheory.FreeGroup.Basic
{ฮฑ : Type u} {ฮฒ : Type v} [Group ฮฒ] {f : ฮฑ โ ฮฒ} : Function.Surjective โ(FreeGroup.lift f) โ Subgroup.closure (Set.range f) = โค - FreeGroup.closure_eq_range ๐ Mathlib.GroupTheory.FreeGroup.Basic
{ฮฒ : Type v} [Group ฮฒ] (s : Set ฮฒ) : Subgroup.closure s = (FreeGroup.lift Subtype.val).range - Subgroup.fg_iff ๐ Mathlib.GroupTheory.Finiteness
{G : Type u_3} [Group G] (P : Subgroup G) : P.FG โ โ S, Subgroup.closure S = P โง S.Finite - Group.fg_iff ๐ Mathlib.GroupTheory.Finiteness
{G : Type u_3} [Group G] : Group.FG G โ โ S, Subgroup.closure S = โค โง S.Finite - Group.closure_finite_fg ๐ Mathlib.GroupTheory.Finiteness
{G : Type u_3} [Group G] (s : Set G) [Finite โs] : Group.FG โฅ(Subgroup.closure s) - Group.fg_iff' ๐ Mathlib.GroupTheory.Finiteness
{G : Type u_3} [Group G] : Group.FG G โ โ n S, S.card = n โง Subgroup.closure โS = โค - Group.closure_finset_fg ๐ Mathlib.GroupTheory.Finiteness
{G : Type u_3} [Group G] (s : Finset G) : Group.FG โฅ(Subgroup.closure โs) - commutator_eq_closure ๐ Mathlib.GroupTheory.Commutator.Basic
(G : Type u_1) [Group G] : commutator G = Subgroup.closure (commutatorSet G) - Subgroup.commutator_def ๐ Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [Group G] (Hโ Hโ : Subgroup G) : โ Hโ, Hโโ = Subgroup.closure {g | โ gโ โ Hโ, โ gโ โ Hโ, โ gโ, gโโ = g} - Subgroup.closure_pi ๐ Mathlib.Algebra.Group.Subgroup.Finite
{ฮท : Type u_2} {f : ฮท โ Type u_3} [(i : ฮท) โ Group (f i)] [Finite ฮท] {s : (i : ฮท) โ Set (f i)} (hs : โ (i : ฮท), 1 โ s i) : Subgroup.closure (Set.univ.pi fun i => s i) = Subgroup.pi Set.univ fun i => Subgroup.closure (s i) - Subgroup.quotientCenterEmbedding ๐ Mathlib.GroupTheory.GroupAction.Quotient
{G : Type u_1} [Group G] {S : Set G} (hS : Subgroup.closure S = โค) : G โงธ Subgroup.center G โช โS โ โ(commutatorSet G) - Subgroup.quotientCenterEmbedding_apply ๐ Mathlib.GroupTheory.GroupAction.Quotient
{G : Type u_1} [Group G] {S : Set G} (hS : Subgroup.closure S = โค) (g : G) (s : โS) : (Subgroup.quotientCenterEmbedding hS) (โg) s = โจโ g, โsโ, โฏโฉ - Subgroup.closure_toSubmonoid_of_finite ๐ Mathlib.GroupTheory.OrderOfElement
{G : Type u_1} [Group G] [Finite G] {s : Set G} : (Subgroup.closure s).toSubmonoid = Submonoid.closure s - Subgroup.closure_toSubmonoid_of_isOfFinOrder ๐ Mathlib.GroupTheory.OrderOfElement
{G : Type u_1} [Group G] {s : Set G} (hs : โ x โ s, IsOfFinOrder x) : (Subgroup.closure s).toSubmonoid = Submonoid.closure s - Subgroup.exists_of_mem_closure_range ๐ Mathlib.Algebra.Group.Subgroup.Finsupp
{M : Type u_1} [CommGroup M] {ฮน : Type u_2} (f : ฮน โ M) (x : M) [Fintype ฮน] (hx : x โ Subgroup.closure (Set.range f)) : โ a, x = โ i, f i ^ a i - Subgroup.mem_closure_range_iff_of_fintype ๐ Mathlib.Algebra.Group.Subgroup.Finsupp
{M : Type u_1} [CommGroup M] {ฮน : Type u_2} {f : ฮน โ M} {x : M} [Fintype ฮน] : x โ Subgroup.closure (Set.range f) โ โ a, x = โ i, f i ^ a i - Subgroup.exists_finsupp_of_mem_closure_range ๐ Mathlib.Algebra.Group.Subgroup.Finsupp
{M : Type u_1} [CommGroup M] {ฮน : Type u_2} (f : ฮน โ M) (x : M) (hx : x โ Subgroup.closure (Set.range f)) : โ a, x = a.prod fun x1 x2 => f x1 ^ x2 - Subgroup.mem_closure_range_iff ๐ Mathlib.Algebra.Group.Subgroup.Finsupp
{M : Type u_1} [CommGroup M] {ฮน : Type u_2} {f : ฮน โ M} {x : M} : x โ Subgroup.closure (Set.range f) โ โ a, x = a.prod fun x1 x2 => f x1 ^ x2 - Subgroup.mem_closure_iff_of_fintype ๐ Mathlib.Algebra.Group.Subgroup.Finsupp
{M : Type u_1} [CommGroup M] {x : M} {s : Set M} [Fintype โs] : x โ Subgroup.closure s โ โ a, x = โ i, โi ^ a i - Subgroup.finsetSup_zpowers ๐ Mathlib.Algebra.Group.Subgroup.ZPowers.Lemmas
{G : Type u_1} [Group G] (s : Finset G) : s.sup Subgroup.zpowers = Subgroup.closure โs - Equiv.Perm.support_closure_subset_union ๐ Mathlib.GroupTheory.Perm.Finite
{ฮฑ : Type u} [DecidableEq ฮฑ] [Fintype ฮฑ] (S : Set (Equiv.Perm ฮฑ)) (a : Equiv.Perm ฮฑ) : a โ Subgroup.closure S โ โa.support โ โ b โ S, โb.support - Equiv.Perm.disjoint_closure_of_disjoint_support ๐ Mathlib.GroupTheory.Perm.Finite
{ฮฑ : Type u} [DecidableEq ฮฑ] [Fintype ฮฑ] {S T : Set (Equiv.Perm ฮฑ)} (h : โ a โ S, โ b โ T, Disjoint a.support b.support) : Disjoint (Subgroup.closure S) (Subgroup.closure T) - Equiv.Perm.disjoint_support_closure_of_disjoint_support ๐ Mathlib.GroupTheory.Perm.Finite
{ฮฑ : Type u} [DecidableEq ฮฑ] [Fintype ฮฑ] {S T : Set (Equiv.Perm ฮฑ)} (h : โ a โ S, โ b โ T, Disjoint a.support b.support) (a : Equiv.Perm ฮฑ) : a โ Subgroup.closure S โ โ b โ Subgroup.closure T, Disjoint a.support b.support - Equiv.Perm.closure_isSwap ๐ Mathlib.GroupTheory.Perm.Sign
{ฮฑ : Type u} [DecidableEq ฮฑ] [Finite ฮฑ] : Subgroup.closure {ฯ | ฯ.IsSwap} = โค - Equiv.Perm.closure_isCycle ๐ Mathlib.GroupTheory.Perm.Closure
{ฮฒ : Type u_2} [Finite ฮฒ] : Subgroup.closure {ฯ | ฯ.IsCycle} = โค - Equiv.Perm.closure_prime_cycle_swap ๐ Mathlib.GroupTheory.Perm.Closure
{ฮฑ : Type u_1} [DecidableEq ฮฑ] [Fintype ฮฑ] {ฯ ฯ : Equiv.Perm ฮฑ} (h0 : Nat.Prime (Fintype.card ฮฑ)) (h1 : ฯ.IsCycle) (h2 : ฯ.support = Finset.univ) (h3 : ฯ.IsSwap) : Subgroup.closure {ฯ, ฯ} = โค - Equiv.Perm.closure_cycle_adjacent_swap ๐ Mathlib.GroupTheory.Perm.Closure
{ฮฑ : Type u_1} [DecidableEq ฮฑ] [Fintype ฮฑ] {ฯ : Equiv.Perm ฮฑ} (h1 : ฯ.IsCycle) (h2 : ฯ.support = Finset.univ) (x : ฮฑ) : Subgroup.closure {ฯ, Equiv.swap x (ฯ x)} = โค - Equiv.Perm.closure_cycle_coprime_swap ๐ Mathlib.GroupTheory.Perm.Closure
{ฮฑ : Type u_1} [DecidableEq ฮฑ] [Fintype ฮฑ] {n : โ} {ฯ : Equiv.Perm ฮฑ} (h0 : n.Coprime (Fintype.card ฮฑ)) (h1 : ฯ.IsCycle) (h2 : ฯ.support = Finset.univ) (x : ฮฑ) : Subgroup.closure {ฯ, Equiv.swap x ((ฯ ^ n) x)} = โค - Equiv.Perm.IsSwap.mul_mem_closure_three_cycles ๐ Mathlib.GroupTheory.Perm.Cycle.Type
{ฮฑ : Type u_1} [Fintype ฮฑ] [DecidableEq ฮฑ] {ฯ ฯ : Equiv.Perm ฮฑ} (hฯ : ฯ.IsSwap) (hฯ : ฯ.IsSwap) : ฯ * ฯ โ Subgroup.closure {ฯ | ฯ.IsThreeCycle} - Equiv.Perm.swap_mul_swap_same_mem_closure_three_cycles ๐ Mathlib.GroupTheory.Perm.Cycle.Type
{ฮฑ : Type u_1} [Fintype ฮฑ] [DecidableEq ฮฑ] {a b c : ฮฑ} (ab : a โ b) (ac : a โ c) : Equiv.swap a b * Equiv.swap a c โ Subgroup.closure {ฯ | ฯ.IsThreeCycle} - Group.rank_le ๐ Mathlib.GroupTheory.Rank
{G : Type u_1} [Group G] [h : Group.FG G] {S : Finset G} (hS : Subgroup.closure โS = โค) : Group.rank G โค S.card - Group.rank_spec ๐ Mathlib.GroupTheory.Rank
(G : Type u_1) [Group G] [h : Group.FG G] : โ S, S.card = Group.rank G โง Subgroup.closure โS = โค - Subgroup.rank_closure_finite_le_nat_card ๐ Mathlib.GroupTheory.Rank
{G : Type u_1} [Group G] (s : Set G) [Finite โs] : Group.rank โฅ(Subgroup.closure s) โค Nat.card โs - Subgroup.rank_closure_finset_le_card ๐ Mathlib.GroupTheory.Rank
{G : Type u_1} [Group G] (s : Finset G) : Group.rank โฅ(Subgroup.closure โs) โค s.card - Subgroup.closure_image_isMulIndecomposable_baseOf ๐ Mathlib.Algebra.Group.Irreducible.Indecomposable
{ฮน : Type u_1} {G : Type u_3} {S : Type u_4} [CommGroup G] [LinearOrder S] [Finite ฮน] [InvolutiveInv ฮน] [CommGroup S] [IsOrderedMonoid S] (v : ฮน โ G) (hv_inv : โ (i : ฮน), v iโปยน = (v i)โปยน) (f : G โ* S) (hf : โ (i : ฮน), f (v i) โ 1) : Subgroup.closure (v '' IsMulIndecomposable.baseOf v f) = Subgroup.closure (Set.range v) - MonoidWithZeroHom.valueGroup_def ๐ Mathlib.Algebra.GroupWithZero.Range
{A : Type u_1} {B : Type u_2} [MonoidWithZero A] [MonoidWithZero B] (f : A โ*โ B) : f.valueGroup = Subgroup.closure โf.valueMonoid - RootPairing.range_weylGroupToPerm ๐ Mathlib.LinearAlgebra.RootSystem.WeylGroup
{ฮน : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ฮน R M N) : P.weylGroupToPerm.range = Subgroup.closure (Set.range P.reflectionPerm) - RootPairing.range_weylGroup_weightHom ๐ Mathlib.LinearAlgebra.RootSystem.WeylGroup
{ฮน : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ฮน R M N) : ((RootPairing.Equiv.weightHom P).domRestrict P.weylGroup).range = Subgroup.closure (Set.range P.reflection) - RootPairing.range_weylGroup_coweightHom ๐ Mathlib.LinearAlgebra.RootSystem.WeylGroup
{ฮน : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ฮน R M N) : ((RootPairing.Equiv.coweightHom P).domRestrict P.weylGroup).range = Subgroup.closure (Set.range (MulOpposite.op โ P.coreflection)) - Subgroup.cyclic_of_min ๐ Mathlib.GroupTheory.Archimedean
{G : Type u_1} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] [MulArchimedean G] {H : Subgroup G} {a : G} (ha : IsLeast {g | g โ H โง 1 < g} a) : H = Subgroup.closure {a} - Subgroup.cyclic_of_isolated_one ๐ Mathlib.GroupTheory.Archimedean
{G : Type u_1} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] [MulArchimedean G] {H : Subgroup G} {a : G} (hโ : 1 < a) (hd : Disjoint (โH) (Set.Ioo 1 a)) : โ b, H = Subgroup.closure {b} - Subgroup.dense_or_cyclic ๐ Mathlib.Topology.Algebra.Order.Archimedean
{G : Type u_1} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] [TopologicalSpace G] [OrderTopology G] [MulArchimedean G] (S : Subgroup G) : Dense โS โจ โ a, S = Subgroup.closure {a} - LinearIsometryEquiv.reflections_generate ๐ Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional
{F : Type u_3} [NormedAddCommGroup F] [InnerProductSpace โ F] [FiniteDimensional โ F] : Subgroup.closure (Set.range fun v => (โ โ v)แฎ.reflection) = โค - Subgroup.mem_closure_singleton_iff_existsUnique_zpow ๐ Mathlib.GroupTheory.ArchimedeanDensely
{G : Type u_1} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] {a b : G} (ha : a โ 1) : b โ Subgroup.closure {a} โ โ! k, a ^ k = b - Subgroup.isLeast_of_closure_iff_eq_mabs ๐ Mathlib.GroupTheory.ArchimedeanDensely
{G : Type u_1} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] [MulArchimedean G] {a b : G} : IsLeast {y | y โ Subgroup.closure {a} โง 1 < y} b โ b = |a|โ โง 1 < b - LinearOrderedCommGroup.closure_equiv_closure ๐ Mathlib.GroupTheory.ArchimedeanDensely
{G : Type u_1} {G' : Type u_2} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] [CommGroup G'] [LinearOrder G'] [IsOrderedMonoid G'] (x : G) (y : G') (hxy : x = 1 โ y = 1) : โฅ(Subgroup.closure {x}) โ*o โฅ(Subgroup.closure {y}) - Quiver.SchreierGraph.evalWord_mem_closure ๐ Mathlib.Combinatorics.Quiver.Schreier
{M : Type u_1} [Group M] {S : Type u_2} (ฮน : S โ M) (w : List (S ร Bool)) : Quiver.SchreierGraph.evalWord ฮน w โ Subgroup.closure (Set.range ฮน) - Quiver.SchreierGraph.exists_evalWord_of_mem_closure ๐ Mathlib.Combinatorics.Quiver.Schreier
{M : Type u_1} [Group M] {S : Type u_2} (ฮน : S โ M) {g : M} (hg : g โ Subgroup.closure (Set.range ฮน)) : โ w, Quiver.SchreierGraph.evalWord ฮน w = g - Quiver.SchreierGraph.exists_mem_closure_of_path ๐ Mathlib.Combinatorics.Quiver.Schreier
{V : Type u_1} {M : Type u_2} [Group M] [MulAction M V] {S : Type u_3} (ฮน : S โ M) {x : Quiver.SchreierGraph V ฮน} {y : Quiver.Symmetrify (Quiver.SchreierGraph V ฮน)} (p : Quiver.Path (Quiver.Symmetrify.of.obj x) y) : โ g โ Subgroup.closure (Set.range ฮน), g โข x = y - Quiver.SchreierGraph.reachable_of_mem_closure ๐ Mathlib.Combinatorics.Quiver.Schreier
{V : Type u_1} {M : Type u_2} [Group M] [MulAction M V] {S : Type u_3} (ฮน : S โ M) {g : M} (hg : g โ Subgroup.closure (Set.range ฮน)) (y : Quiver.SchreierGraph V ฮน) : Quiver.Reachable (Quiver.Symmetrify.of.obj y) (Quiver.Symmetrify.of.obj (g โข y)) - Quiver.SchreierGraph.reachable_iff ๐ Mathlib.Combinatorics.Quiver.Schreier
{V : Type u_1} {M : Type u_2} [Group M] [MulAction M V] {S : Type u_3} (ฮน : S โ M) (x y : Quiver.SchreierGraph V ฮน) : Quiver.Reachable (Quiver.Symmetrify.of.obj x) (Quiver.Symmetrify.of.obj y) โ โ g โ Subgroup.closure (Set.range ฮน), g โข x = y - Finset.pow_right_strictMono ๐ Mathlib.Geometry.Group.Growth.LinearLowerBound
{G : Type u_1} [Group G] [DecidableEq G] {X : Finset G} (hXโ : 1 โ X) (hXclosure : (โ(Subgroup.closure โX)).Infinite) : StrictMono fun n => X ^ n - Finset.add_one_le_card_pow ๐ Mathlib.Geometry.Group.Growth.LinearLowerBound
{G : Type u_1} [Group G] [DecidableEq G] {X : Finset G} (hXโ : 1 โ X) (hXclosure : (โ(Subgroup.closure โX)).Infinite) (n : โ) : n + 1 โค (X ^ n).card - Finset.pow_right_strictMonoOn ๐ Mathlib.Geometry.Group.Growth.LinearLowerBound
{G : Type u_1} [Group G] [DecidableEq G] {X : Finset G} (hXโ : 1 โ X) (hX : X.Nontrivial) : StrictMonoOn (fun n => X ^ n) {n | โX ^ (n - 1) โ โ(Subgroup.closure โX)} - Finset.pow_ssubset_pow_succ_of_pow_ne_closure ๐ Mathlib.Geometry.Group.Growth.LinearLowerBound
{G : Type u_1} [Group G] [DecidableEq G] {X : Finset G} {n : โ} (hXโ : 1 โ X) (hX : X.Nontrivial) (hXclosure : โX ^ n โ โ(Subgroup.closure โX)) : X ^ n โ X ^ (n + 1) - Monoid.Coprod.closure_range_inl_union_inr ๐ Mathlib.GroupTheory.Coprod.Basic
{G : Type u_1} {H : Type u_2} [Group G] [Group H] : Subgroup.closure (Set.range โMonoid.Coprod.inl โช Set.range โMonoid.Coprod.inr) = โค - PresentedGroup.closure_range_of ๐ Mathlib.GroupTheory.PresentedGroup
{ฮฑ : Type u_1} (rels : Set (FreeGroup ฮฑ)) : Subgroup.closure (Set.range PresentedGroup.of) = โค - CoxeterSystem.subgroup_closure_range_simple ๐ Mathlib.GroupTheory.Coxeter.Basic
{B : Type u_1} {W : Type u_3} [Group W] {M : CoxeterMatrix B} (cs : CoxeterSystem M W) : Subgroup.closure (Set.range cs.simple) = โค - Subgroup.closure_mul_image_eq ๐ Mathlib.GroupTheory.Schreier
{G : Type u_1} [Group G] {H : Subgroup G} {R S : Set G} (hR : Subgroup.IsComplement (โH) R) (hR1 : 1 โ R) (hS : Subgroup.closure S = โค) : Subgroup.closure ((fun g => g * (โ(hR.toRightFun g))โปยน) '' (R * S)) = H - Subgroup.closure_mul_image_mul_eq_top ๐ Mathlib.GroupTheory.Schreier
{G : Type u_1} [Group G] {H : Subgroup G} {R S : Set G} (hR : Subgroup.IsComplement (โH) R) (hR1 : 1 โ R) (hS : Subgroup.closure S = โค) : โ(Subgroup.closure ((fun g => g * (โ(hR.toRightFun g))โปยน) '' (R * S))) * R = โค - Subgroup.exists_finset_card_le_mul ๐ Mathlib.GroupTheory.Schreier
{G : Type u_1} [Group G] (H : Subgroup G) [H.FiniteIndex] {S : Finset G} (hS : Subgroup.closure โS = โค) : โ T, T.card โค H.index * S.card โง Subgroup.closure โT = โค - Subgroup.closure_mul_image_eq_top ๐ Mathlib.GroupTheory.Schreier
{G : Type u_1} [Group G] {H : Subgroup G} {R S : Set G} (hR : Subgroup.IsComplement (โH) R) (hR1 : 1 โ R) (hS : Subgroup.closure S = โค) : Subgroup.closure ((fun g => โจg * (โ(hR.toRightFun g))โปยน, โฏโฉ) '' (R * S)) = โค - Subgroup.closure_mul_image_eq_top' ๐ Mathlib.GroupTheory.Schreier
{G : Type u_1} [Group G] {H : Subgroup G} [DecidableEq G] {R S : Finset G} (hR : Subgroup.IsComplement โH โR) (hR1 : 1 โ R) (hS : Subgroup.closure โS = โค) : Subgroup.closure โ(Finset.image (fun g => โจg * (โ(hR.toRightFun g))โปยน, โฏโฉ) (R * S)) = โค - Subgroup.focalSubgroup_def ๐ Mathlib.GroupTheory.Focal
{G : Type u_1} [Group G] (H : Subgroup G) : H.focalSubgroup = Subgroup.closure {g | g โ H โง โ x โ H, โ u, g = โ x, uโ} - Subgroup.focalSubgroupOf_eq_closure ๐ Mathlib.GroupTheory.Focal
{G : Type u_1} [Group G] (H : Subgroup G) : H.focalSubgroupOf = Subgroup.closure {g | โ x โ H, โ u, โg = โ x, uโ} - mem_lowerCentralSeries_succ_iff ๐ Mathlib.GroupTheory.Nilpotent
{G : Type u_1} [Group G] (S : Subgroup G) (n : โ) (q : G) : q โ S.lowerCentralSeries (n + 1) โ q โ Subgroup.closure {x | โ p โ S.lowerCentralSeries n, โ q โ S, โ p, qโ = x} - Subgroup.mem_lowerCentralSeries_succ_iff ๐ Mathlib.GroupTheory.Nilpotent
{G : Type u_1} [Group G] (S : Subgroup G) (n : โ) (q : G) : q โ S.lowerCentralSeries (n + 1) โ q โ Subgroup.closure {x | โ p โ S.lowerCentralSeries n, โ q โ S, โ p, qโ = x} - Group.Generators.ofSet ๐ Mathlib.GroupTheory.Generators
{G : Type u_1} [Group G] {S : Set G} (h : Subgroup.closure S = โค) : Group.Generators G โS - Group.Generators.mk ๐ Mathlib.GroupTheory.Generators
{G : Type u_5} [Group G] {ฮน : Type u_6} (val : ฮน โ G) (closure_eq_top : Subgroup.closure (Set.range val) = โค) : Group.Generators G ฮน - Group.Generators.closure_eq_top ๐ Mathlib.GroupTheory.Generators
{G : Type u_5} [Group G] {ฮน : Type u_6} (self : Group.Generators G ฮน) : Subgroup.closure (Set.range self.val) = โค - Group.Generators.ofSet_val ๐ Mathlib.GroupTheory.Generators
{G : Type u_1} [Group G] {S : Set G} (hS : Subgroup.closure S = โค) : (Group.Generators.ofSet hS).val = Subtype.val - Equiv.Perm.closure_three_cycles_eq_alternating ๐ Mathlib.GroupTheory.SpecificGroups.Alternating
{ฮฑ : Type u_1} [Fintype ฮฑ] [DecidableEq ฮฑ] : Subgroup.closure {ฯ | ฯ.IsThreeCycle} = alternatingGroup ฮฑ - Equiv.Perm.closure_cycleType_eq_2_2_eq_alternatingGroup ๐ Mathlib.GroupTheory.SpecificGroups.Alternating
{ฮฑ : Type u_1} [Fintype ฮฑ] [DecidableEq ฮฑ] (h5 : 5 โค Nat.card ฮฑ) : Subgroup.closure {g | g.cycleType = {2, 2}} = alternatingGroup ฮฑ - Equiv.Perm.closure_cycleType_eq_two_two_eq_alternatingGroup ๐ Mathlib.GroupTheory.SpecificGroups.Alternating
{ฮฑ : Type u_1} [Fintype ฮฑ] [DecidableEq ฮฑ] (h5 : 5 โค Nat.card ฮฑ) : Subgroup.closure {g | g.cycleType = {2, 2}} = alternatingGroup ฮฑ - alternatingGroup.closure_isThreeCycles_eq_top ๐ Mathlib.GroupTheory.SpecificGroups.Alternating
{ฮฑ : Type u_1} [Fintype ฮฑ] [DecidableEq ฮฑ] : Subgroup.closure {g | (โg).IsThreeCycle} = โค - alternatingGroup.closure_cycleType_eq_two_two_eq_top ๐ Mathlib.GroupTheory.SpecificGroups.Alternating
{ฮฑ : Type u_1} [Fintype ฮฑ] [DecidableEq ฮฑ] (h5 : 5 โค Nat.card ฮฑ) : Subgroup.closure {g | (โg).cycleType = {2, 2}} = โค - mem_closure_isSwap' ๐ Mathlib.GroupTheory.Perm.ClosureSwap
{ฮฑ : Type u_2} [DecidableEq ฮฑ] {f : Equiv.Perm ฮฑ} : f โ Subgroup.closure {ฯ | ฯ.IsSwap} โ (MulAction.fixedBy ฮฑ f)แถ.Finite - finite_compl_fixedBy_closure_iff ๐ Mathlib.GroupTheory.Perm.ClosureSwap
{G : Type u_1} {ฮฑ : Type u_2} [Group G] [MulAction G ฮฑ] {S : Set G} : (โ g โ Subgroup.closure S, (MulAction.fixedBy ฮฑ g)แถ.Finite) โ โ g โ S, (MulAction.fixedBy ฮฑ g)แถ.Finite - surjective_of_isSwap_of_isPretransitive ๐ Mathlib.GroupTheory.Perm.ClosureSwap
{G : Type u_1} {ฮฑ : Type u_2} [Group G] [MulAction G ฮฑ] [DecidableEq ฮฑ] [Finite ฮฑ] (S : Set G) (hS1 : โ ฯ โ S, ((MulAction.toPermHom G ฮฑ) ฯ).IsSwap) (hS2 : Subgroup.closure S = โค) [h : MulAction.IsPretransitive G ฮฑ] : Function.Surjective โ(MulAction.toPermHom G ฮฑ) - surjective_of_isSwap_of_isPretransitive' ๐ Mathlib.GroupTheory.Perm.ClosureSwap
{G : Type u_1} {ฮฑ : Type u_2} [Group G] [MulAction G ฮฑ] [DecidableEq ฮฑ] [Finite ฮฑ] (S : Set G) (hS1 : โ ฯ โ S, (MulAction.toPermHom G ฮฑ) ฯ = 1 โจ ((MulAction.toPermHom G ฮฑ) ฯ).IsSwap) (hS2 : Subgroup.closure S = โค) [h : MulAction.IsPretransitive G ฮฑ] : Function.Surjective โ(MulAction.toPermHom G ฮฑ) - exists_smul_notMem_of_subset_orbit_closure ๐ Mathlib.GroupTheory.Perm.ClosureSwap
{G : Type u_1} {ฮฑ : Type u_2} [Group G] [MulAction G ฮฑ] (S : Set G) (T : Set ฮฑ) {a : ฮฑ} (hS : โ g โ S, gโปยน โ S) (subset : T โ MulAction.orbit (โฅ(Subgroup.closure S)) a) (notMem : a โ T) (nonempty : T.Nonempty) : โ ฯ โ S, โ a โ T, ฯ โข a โ T - closure_of_isSwap_of_isPretransitive ๐ Mathlib.GroupTheory.Perm.ClosureSwap
{ฮฑ : Type u_2} [DecidableEq ฮฑ] [Finite ฮฑ] {S : Set (Equiv.Perm ฮฑ)} (hS : โ ฯ โ S, ฯ.IsSwap) [MulAction.IsPretransitive (โฅ(Subgroup.closure S)) ฮฑ] : Subgroup.closure S = โค - swap_mem_closure_isSwap ๐ Mathlib.GroupTheory.Perm.ClosureSwap
{ฮฑ : Type u_2} [DecidableEq ฮฑ] {S : Set (Equiv.Perm ฮฑ)} (hS : โ f โ S, f.IsSwap) {x y : ฮฑ} : Equiv.swap x y โ Subgroup.closure S โ x โ MulAction.orbit (โฅ(Subgroup.closure S)) y - mem_closure_isSwap ๐ Mathlib.GroupTheory.Perm.ClosureSwap
{ฮฑ : Type u_2} [DecidableEq ฮฑ] {S : Set (Equiv.Perm ฮฑ)} (hS : โ f โ S, f.IsSwap) {f : Equiv.Perm ฮฑ} : f โ Subgroup.closure S โ (MulAction.fixedBy ฮฑ f)แถ.Finite โง โ (x : ฮฑ), f x โ MulAction.orbit (โฅ(Subgroup.closure S)) x - SpecialLinearGroup.SL2Z_generators ๐ Mathlib.LinearAlgebra.Matrix.FixedDetMatrices
: Subgroup.closure {ModularGroup.S, ModularGroup.T} = โค - NumberField.Units.closure_fundSystem_sup_torsion_eq_top ๐ Mathlib.NumberTheory.NumberField.Units.DirichletTheorem
(K : Type u_1) [Field K] [NumberField K] : Subgroup.closure (Set.range (NumberField.Units.fundSystem K)) โ NumberField.Units.torsion K = โค - SlashInvariantForm.slash_action_generators ๐ Mathlib.NumberTheory.ModularForms.Identities
{f : UpperHalfPlane โ โ} {ฮ : Subgroup (GL (Fin 2) โ)} {s : Set (GL (Fin 2) โ)} (hฮ : ฮ = Subgroup.closure s) {k : โค} : (โ ฮณ โ ฮ, SlashAction.map k ฮณ f = f) โ โ ฮณ โ s, SlashAction.map k ฮณ f = f - NumberField.Units.isMaxRank_iff_closure_finiteIndex ๐ Mathlib.NumberTheory.NumberField.Units.Regulator
{K : Type u_1} [Field K] [NumberField K] {u : Fin (NumberField.Units.rank K) โ (NumberField.RingOfIntegers K)หฃ} : NumberField.Units.IsMaxRank u โ (Subgroup.closure (Set.range u)).FiniteIndex - NumberField.Units.regOfFamily_div_regulator ๐ Mathlib.NumberTheory.NumberField.Units.Regulator
{K : Type u_1} [Field K] [NumberField K] (u : Fin (NumberField.Units.rank K) โ (NumberField.RingOfIntegers K)หฃ) : NumberField.Units.regOfFamily u / NumberField.Units.regulator K = โ(Subgroup.closure (Set.range u) โ NumberField.Units.torsion K).index - NumberField.Units.regOfFamily_div_regOfFamily ๐ Mathlib.NumberTheory.NumberField.Units.Regulator
{K : Type u_1} [Field K] [NumberField K] {u v : Fin (NumberField.Units.rank K) โ (NumberField.RingOfIntegers K)หฃ} (hv : NumberField.Units.IsMaxRank v) (h : Subgroup.closure (Set.range u) โ NumberField.Units.torsion K โค Subgroup.closure (Set.range v) โ NumberField.Units.torsion K) : NumberField.Units.regOfFamily u / NumberField.Units.regOfFamily v = โ((Subgroup.closure (Set.range u) โ NumberField.Units.torsion K).relIndex (Subgroup.closure (Set.range v) โ NumberField.Units.torsion K)) - NumberField.Units.span_basisOfIsMaxRank ๐ Mathlib.NumberTheory.NumberField.Units.Regulator
{K : Type u_1} [Field K] [NumberField K] {u : Fin (NumberField.Units.rank K) โ (NumberField.RingOfIntegers K)หฃ} (hu : NumberField.Units.IsMaxRank u) : (Submodule.span โค (Set.range โ(NumberField.Units.basisOfIsMaxRank hu))).toAddSubgroup = AddSubgroup.map (NumberField.Units.logEmbedding K) (Subgroup.toAddSubgroup (Subgroup.closure (Set.range u))) - NumberField.IsCMField.closure_realFundSystem_sup_torsion ๐ Mathlib.NumberTheory.NumberField.CMField
(K : Type u_1) [Field K] [CharZero K] [NumberField.IsCMField K] [NumberField K] : Subgroup.closure (Set.range (NumberField.IsCMField.realFundSystem K)) โ NumberField.Units.torsion K = NumberField.IsCMField.realUnits K โ NumberField.Units.torsion K - dense_submonoidClosure_iff_subgroupClosure ๐ Mathlib.Topology.Algebra.Group.SubmonoidClosure
{G : Type u_1} [Group G] [TopologicalSpace G] [CompactSpace G] [IsTopologicalGroup G] {s : Set G} : Dense โ(Submonoid.closure s) โ Dense โ(Subgroup.closure s) - closure_submonoidClosure_eq_closure_subgroupClosure ๐ Mathlib.Topology.Algebra.Group.SubmonoidClosure
{G : Type u_1} [Group G] [TopologicalSpace G] [CompactSpace G] [IsTopologicalGroup G] (s : Set G) : closure โ(Submonoid.closure s) = closure โ(Subgroup.closure s) - topologicalClosure_subgroupClosure_toSubmonoid ๐ Mathlib.Topology.Algebra.Group.SubmonoidClosure
{G : Type u_1} [Group G] [TopologicalSpace G] [CompactSpace G] [IsTopologicalGroup G] (s : Set G) : (Subgroup.closure s).topologicalClosure = (Submonoid.closure s).topologicalClosure
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
๐Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
๐"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
๐_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
๐Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
๐(?a -> ?b) -> List ?a -> List ?b
๐List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
๐|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allโandโ) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
๐|- _ < _ โ tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
โข (_ : Type _)finds all definitions which provide data whileโข (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
๐ Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ โ _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c