Loogle!
Result
Found 163 declarations mentioning Group, HasQuotient.Quotient, and Subgroup.Normal.
- QuotientGroup.Quotient.group 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : Group (G ⧸ N) - QuotientGroup.eq_iff_div_mem 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] {N : Subgroup G} [nN : N.Normal] {x y : G} : ↑x = ↑y ↔ x / y ∈ N - QuotientGroup.ker_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : (QuotientGroup.mk' N).ker = N - QuotientGroup.mk' 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : G →* G ⧸ N - QuotientGroup.preimage_image_coe 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] (s : Set G) : QuotientGroup.mk ⁻¹' QuotientGroup.mk '' s = ↑N * s - QuotientGroup.range_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : (QuotientGroup.mk' N).range = ⊤ - QuotientGroup.map_mk'_self 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : Subgroup.map (QuotientGroup.mk' N) N = ⊥ - QuotientGroup.mk_inv 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] (a : G) : ↑a⁻¹ = (↑a)⁻¹ - QuotientGroup.mk_one 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : ↑1 = 1 - QuotientGroup.eq_one_iff 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] {N : Subgroup G} [N.Normal] (x : G) : ↑x = 1 ↔ x ∈ N - QuotientGroup.mk_div 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] (a b : G) : ↑(a / b) = ↑a / ↑b - QuotientGroup.mk_zpow 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] (a : G) (n : ℤ) : ↑(a ^ n) = ↑a ^ n - QuotientGroup.lift 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] (N : Subgroup G) [nN : N.Normal] (φ : G →* M) (HN : N ≤ φ.ker) : G ⧸ N →* M - QuotientGroup.image_coe 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : QuotientGroup.mk '' ↑N = 1 - QuotientGroup.mk_pow 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] (a : G) (n : ℕ) : ↑(a ^ n) = ↑a ^ n - QuotientGroup.image_coe_inj 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] {s t : Set G} : QuotientGroup.mk '' s = QuotientGroup.mk '' t ↔ ↑N * s = ↑N * t - QuotientGroup.ker_lift 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] (N : Subgroup G) [nN : N.Normal] (φ : G →* M) (HN : N ≤ φ.ker) : (QuotientGroup.lift N φ HN).ker = Subgroup.map (QuotientGroup.mk' N) φ.ker - QuotientGroup.mk_mul 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] (a b : G) : ↑(a * b) = ↑a * ↑b - QuotientGroup.lift_comp_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] (N : Subgroup G) [nN : N.Normal] (φ : G →* M) (HN : N ≤ φ.ker) : (QuotientGroup.lift N φ HN).comp (QuotientGroup.mk' N) = φ - QuotientGroup.mk'_surjective 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : Function.Surjective ⇑(QuotientGroup.mk' N) - QuotientGroup.coe_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : ⇑(QuotientGroup.mk' N) = QuotientGroup.mk - QuotientGroup.map 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] (M : Subgroup H) [M.Normal] (f : G →* H) (h : N ≤ Subgroup.comap f M) : G ⧸ N →* H ⧸ M - QuotientGroup.mk'_apply 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] (x : G) : (QuotientGroup.mk' N) x = ↑x - QuotientGroup.liftEquiv 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] {φ : G →* H} (hφ : Function.Surjective ⇑φ) (HN : N = φ.ker) : G ⧸ N ≃* H - QuotientGroup.ker_map 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] (M : Subgroup H) [M.Normal] (f : G →* H) (h : N ≤ Subgroup.comap f M) : (QuotientGroup.map N M f h).ker = Subgroup.map (QuotientGroup.mk' N) (Subgroup.comap f M) - QuotientGroup.injective_lift_iff 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] (N : Subgroup G) [nN : N.Normal] (φ : G →* M) (HN : N ≤ φ.ker) : Function.Injective ⇑(QuotientGroup.lift N φ HN) ↔ N = φ.ker - QuotientGroup.lift_mk 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] (N : Subgroup G) [nN : N.Normal] {φ : G →* M} (HN : N ≤ φ.ker) (g : G) : (QuotientGroup.lift N φ HN) ↑g = φ g - QuotientGroup.lift_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] (N : Subgroup G) [nN : N.Normal] {φ : G →* M} (HN : N ≤ φ.ker) (g : G) : (QuotientGroup.lift N φ HN) ↑g = φ g - QuotientGroup.lift_quot_mk 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] (N : Subgroup G) [nN : N.Normal] {φ : G →* M} (HN : N ≤ φ.ker) (g : G) : (QuotientGroup.lift N φ HN) (Quot.mk (⇑(QuotientGroup.leftRel N)) g) = φ g - QuotientGroup.lift_surjective_of_surjective 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] (N : Subgroup G) [nN : N.Normal] (φ : G →* M) (hφ : Function.Surjective ⇑φ) (HN : N ≤ φ.ker) : Function.Surjective ⇑(QuotientGroup.lift N φ HN) - QuotientGroup.map_id 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] (h : N ≤ Subgroup.comap (MonoidHom.id G) N := ⋯) : QuotientGroup.map N N (MonoidHom.id G) h = MonoidHom.id (G ⧸ N) - QuotientGroup.mk'_eq_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] {x y : G} : (QuotientGroup.mk' N) x = (QuotientGroup.mk' N) y ↔ ∃ z ∈ N, x * z = y - QuotientGroup.map_id_apply 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] (h : N ≤ Subgroup.comap (MonoidHom.id G) N := ⋯) (x : G ⧸ N) : (QuotientGroup.map N N (MonoidHom.id G) h) x = x - QuotientGroup.monoidHom_ext 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] (N : Subgroup G) [nN : N.Normal] ⦃f g : G ⧸ N →* M⦄ (h : f.comp (QuotientGroup.mk' N) = g.comp (QuotientGroup.mk' N)) : f = g - QuotientGroup.monoidHom_ext_iff 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [Group G] [Monoid M] {N : Subgroup G} [nN : N.Normal] {f g : G ⧸ N →* M} : f = g ↔ f.comp (QuotientGroup.mk' N) = g.comp (QuotientGroup.mk' N) - QuotientGroup.congr 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (G' : Subgroup G) (H' : Subgroup H) [G'.Normal] [H'.Normal] (e : G ≃* H) (he : Subgroup.map (↑e) G' = H') : G ⧸ G' ≃* H ⧸ H' - QuotientGroup.map_mk 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] (M : Subgroup H) [M.Normal] (f : G →* H) (h : N ≤ Subgroup.comap f M) (x : G) : (QuotientGroup.map N M f h) ↑x = ↑(f x) - QuotientGroup.map_surjective_of_surjective 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] (M : Subgroup H) [M.Normal] (f : G →* H) (hf : Function.Surjective (QuotientGroup.mk ∘ ⇑f)) (h : N ≤ Subgroup.comap f M) : Function.Surjective ⇑(QuotientGroup.map N M f h) - QuotientGroup.liftEquiv_coe 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] {φ : G →* H} (hφ : Function.Surjective ⇑φ) (HN : N = φ.ker) (g : G) : (QuotientGroup.liftEquiv N hφ HN) ↑g = φ g - QuotientGroup.liftEquiv_mk 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] {φ : G →* H} (hφ : Function.Surjective ⇑φ) (HN : N = φ.ker) (g : G) : (QuotientGroup.liftEquiv N hφ HN) ↑g = φ g - QuotientGroup.congr_refl 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (G' : Subgroup G) [G'.Normal] (he : Subgroup.map (↑(MulEquiv.refl G)) G' = G' := ⋯) : QuotientGroup.congr G' G' (MulEquiv.refl G) he = MulEquiv.refl (G ⧸ G') - QuotientGroup.map_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] (M : Subgroup H) [M.Normal] (f : G →* H) (h : N ≤ Subgroup.comap f M) (x : G) : (QuotientGroup.map N M f h) ((QuotientGroup.mk' N) x) = ↑(f x) - QuotientGroup.map_comp_map 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] {I : Type u_5} [Group I] (M : Subgroup H) (O : Subgroup I) [M.Normal] [O.Normal] (f : G →* H) (g : H →* I) (hf : N ≤ Subgroup.comap f M) (hg : M ≤ Subgroup.comap g O) (hgf : N ≤ Subgroup.comap (g.comp f) O := ⋯) : (QuotientGroup.map M O g hg).comp (QuotientGroup.map N M f hf) = QuotientGroup.map N O (g.comp f) hgf - QuotientGroup.mk'_comp_subtype 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [Group G] (N : Subgroup G) [nN : N.Normal] : (QuotientGroup.mk' N).comp N.subtype = 1 - QuotientGroup.congr_mk 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (G' : Subgroup G) (H' : Subgroup H) [G'.Normal] [H'.Normal] (e : G ≃* H) (he : Subgroup.map (↑e) G' = H') (x : G) : (QuotientGroup.congr G' H' e he) ↑x = ↑(e x) - QuotientGroup.congr_apply 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (G' : Subgroup G) (H' : Subgroup H) [G'.Normal] [H'.Normal] (e : G ≃* H) (he : Subgroup.map (↑e) G' = H') (x : G) : (QuotientGroup.congr G' H' e he) ↑x = (QuotientGroup.mk' H') (e x) - QuotientGroup.congr_symm 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (G' : Subgroup G) (H' : Subgroup H) [G'.Normal] [H'.Normal] (e : G ≃* H) (he : Subgroup.map (↑e) G' = H') : (QuotientGroup.congr G' H' e he).symm = QuotientGroup.congr H' G' e.symm ⋯ - QuotientGroup.congr_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (G' : Subgroup G) (H' : Subgroup H) [G'.Normal] [H'.Normal] (e : G ≃* H) (he : Subgroup.map (↑e) G' = H') (x : G) : (QuotientGroup.congr G' H' e he) ((QuotientGroup.mk' G') x) = (QuotientGroup.mk' H') (e x) - QuotientGroup.map_map 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [Group G] [Group H] (N : Subgroup G) [nN : N.Normal] {I : Type u_5} [Group I] (M : Subgroup H) (O : Subgroup I) [M.Normal] [O.Normal] (f : G →* H) (g : H →* I) (hf : N ≤ Subgroup.comap f M) (hg : M ≤ Subgroup.comap g O) (hgf : N ≤ Subgroup.comap (g.comp f) O := ⋯) (x : G ⧸ N) : (QuotientGroup.map M O g hg) ((QuotientGroup.map N M f hf) x) = (QuotientGroup.map N O (g.comp f) hgf) x - QuotientGroup.ker_le_range_iff 📋 Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} {I : Type u_3} [Group G] [Group H] [MulOneClass I] (f : G →* H) [f.range.Normal] (g : H →* I) : g.ker ≤ f.range ↔ (QuotientGroup.mk' f.range).comp g.ker.subtype = 1 - QuotientGroup.fg 📋 Mathlib.GroupTheory.Finiteness
{G : Type u_3} [Group G] [Group.FG G] (N : Subgroup G) [N.Normal] : Group.FG (G ⧸ N) - Subgroup.Normal.quotient_commutative_iff_commutator_le 📋 Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [Group G] {N : Subgroup G} [N.Normal] : IsMulCommutative (G ⧸ N) ↔ commutator G ≤ N - QuotientGroup.map_normal 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (M : Subgroup G) [nM : M.Normal] : (Subgroup.map (QuotientGroup.mk' N) M).Normal - QuotientGroup.le_comap_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [N.Normal] (H : Subgroup (G ⧸ N)) : N ≤ Subgroup.comap (QuotientGroup.mk' N) H - QuotientGroup.comap_map_mk' 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N H : Subgroup G) [N.Normal] : Subgroup.comap (QuotientGroup.mk' N) (Subgroup.map (QuotientGroup.mk' N) H) = N ⊔ H - QuotientGroup.comapMk'OrderIso 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [hn : N.Normal] : Subgroup (G ⧸ N) ≃o { H // N ≤ H } - QuotientGroup.quotientMulEquivOfEq 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {M N : Subgroup G} [M.Normal] [N.Normal] (h : M = N) : G ⧸ M ≃* G ⧸ N - QuotientGroup.strictMono_comap_prod_map 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : StrictMono fun H => (Subgroup.comap N.subtype H, Subgroup.map (QuotientGroup.mk' N) H) - QuotientGroup.prodMulEquiv 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {H : Type v} [Group H] (A : Subgroup G) (B : Subgroup H) [A.Normal] [B.Normal] : (G × H) ⧸ A.prod B ≃* (G ⧸ A) × H ⧸ B - QuotientGroup.comap_comap_center 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {H₁ : Subgroup G} [H₁.Normal] {H₂ : Subgroup (G ⧸ H₁)} [H₂.Normal] : Subgroup.comap (QuotientGroup.mk' H₁) (Subgroup.comap (QuotientGroup.mk' H₂) (Subgroup.center ((G ⧸ H₁) ⧸ H₂))) = Subgroup.comap (QuotientGroup.mk' (Subgroup.comap (QuotientGroup.mk' H₁) H₂)) (Subgroup.center (G ⧸ Subgroup.comap (QuotientGroup.mk' H₁) H₂)) - QuotientGroup.quotientQuotientEquivQuotientAux 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (M : Subgroup G) [nM : M.Normal] (h : N ≤ M) : (G ⧸ N) ⧸ Subgroup.map (QuotientGroup.mk' N) M →* G ⧸ M - QuotientGroup.quotientMulEquivOfEq_mk 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {M N : Subgroup G} [M.Normal] [N.Normal] (h : M = N) (x : G) : (QuotientGroup.quotientMulEquivOfEq h) ↑x = ↑x - QuotientGroup.sound 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (U : Set (G ⧸ N)) (g : ↥N.op) : g • ⇑(QuotientGroup.mk' N) ⁻¹' U = ⇑(QuotientGroup.mk' N) ⁻¹' U - QuotientGroup.quotientQuotientEquivQuotient 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (M : Subgroup G) [nM : M.Normal] (h : N ≤ M) : (G ⧸ N) ⧸ Subgroup.map (QuotientGroup.mk' N) M ≃* G ⧸ M - QuotientGroup.quotientMapSubgroupOfOfLe 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {A' A B' B : Subgroup G} [_hAN : (A'.subgroupOf A).Normal] [_hBN : (B'.subgroupOf B).Normal] (h' : A' ≤ B') (h : A ≤ B) : ↥A ⧸ A'.subgroupOf A →* ↥B ⧸ B'.subgroupOf B - QuotientGroup.equivQuotientSubgroupOfOfEq 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {A' A B' B : Subgroup G} [hAN : (A'.subgroupOf A).Normal] [hBN : (B'.subgroupOf B).Normal] (h' : A' = B') (h : A = B) : ↥A ⧸ A'.subgroupOf A ≃* ↥B ⧸ B'.subgroupOf B - QuotientGroup.quotientQuotientEquivQuotientAux_mk_mk 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (M : Subgroup G) [nM : M.Normal] (h : N ≤ M) (x : G) : (QuotientGroup.quotientQuotientEquivQuotientAux N M h) ↑↑x = ↑x - QuotientGroup.quotientQuotientEquivQuotientAux_mk 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (M : Subgroup G) [nM : M.Normal] (h : N ≤ M) (x : G ⧸ N) : (QuotientGroup.quotientQuotientEquivQuotientAux N M h) ↑x = (QuotientGroup.map N M (MonoidHom.id G) h) x - QuotientGroup.prodMulEquiv_apply 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {H : Type v} [Group H] (A : Subgroup G) (B : Subgroup H) [A.Normal] [B.Normal] (q : (G × H) ⧸ A.prod B) : (QuotientGroup.prodMulEquiv A B) q = Quotient.liftOn' q (fun x => (↑x.1, ↑x.2)) ⋯ - MonoidHom.restrictHomKerEquiv 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (A : Type u_1) [CommGroup A] (H : Subgroup G) [H.Normal] : ↥(MonoidHom.restrictHom H A).ker ≃* (G ⧸ H →* A) - QuotientGroup.prodMulEquiv_symm_apply 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {H : Type v} [Group H] (A : Subgroup G) (B : Subgroup H) [A.Normal] [B.Normal] (q : (G ⧸ A) × H ⧸ B) : (QuotientGroup.prodMulEquiv A B).symm q = Quotient.liftOn₂' q.1 q.2 (fun g h => ↑(g, h)) ⋯ - QuotientGroup.quotientInfEquivProdNormalQuotient 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (H N : Subgroup G) [hN : N.Normal] : ↥H ⧸ N.subgroupOf H ≃* ↥(H ⊔ N) ⧸ N.subgroupOf (H ⊔ N) - QuotientGroup.quotientMapSubgroupOfOfLe_mk 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {A' A B' B : Subgroup G} [_hAN : (A'.subgroupOf A).Normal] [_hBN : (B'.subgroupOf B).Normal] (h' : A' ≤ B') (h : A ≤ B) (x : ↥A) : (QuotientGroup.quotientMapSubgroupOfOfLe h' h) ↑x = ↑((Subgroup.inclusion h) x) - MonoidHom.restrictHomKerEquiv_apply_coe 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (A : Type u_1) [CommGroup A] (H : Subgroup G) [H.Normal] (f : ↥(MonoidHom.restrictHom H A).ker) (g : G) : ((MonoidHom.restrictHomKerEquiv A H) f) ↑g = ↑f g - MonoidHom.restrictHomKerEquiv_symm_coe_apply 📋 Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (A : Type u_1) [CommGroup A] (H : Subgroup G) [H.Normal] (f : G ⧸ H →* A) (g : G) : ↑((MonoidHom.restrictHomKerEquiv A H).symm f) g = f ↑g - Group.fintypeOfDomOfCoker 📋 Mathlib.GroupTheory.QuotientGroup.Finite
{F : Type u_1} {G : Type u_2} [Group F] [Group G] [Fintype F] (f : F →* G) [f.range.Normal] [Fintype (G ⧸ f.range)] : Fintype G - MulAction.coe_quotient_smul 📋 Mathlib.GroupTheory.GroupAction.Quotient
{G : Type u} {X : Type v} [Group G] {H : Subgroup G} [H.Normal] [SMul G X] [MulAction (G ⧸ H) X] [IsScalarTower G (G ⧸ H) X] (g : G) (x : X) : ↑g • x = g • x - QuotientGroup.instIsTopologicalGroup 📋 Mathlib.Topology.Algebra.Group.Quotient
{G : Type u_1} [TopologicalSpace G] [Group G] [IsTopologicalGroup G] (N : Subgroup G) [N.Normal] : IsTopologicalGroup (G ⧸ N) - QuotientGroup.instT3Space 📋 Mathlib.Topology.Algebra.Group.Quotient
{G : Type u_1} [TopologicalSpace G] [Group G] [IsTopologicalGroup G] (N : Subgroup G) [N.Normal] [hN : IsClosed ↑N] : T3Space (G ⧸ N) - QuotientGroup.completeSpace_left' 📋 Mathlib.Topology.Algebra.IsUniformGroup.Basic
(G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [FirstCountableTopology G] (N : Subgroup G) [N.Normal] [hG : CompleteSpace G] : CompleteSpace (G ⧸ N) - QuotientGroup.completeSpace_right' 📋 Mathlib.Topology.Algebra.IsUniformGroup.Basic
(G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [FirstCountableTopology G] (N : Subgroup G) [N.Normal] [CompleteSpace G] : CompleteSpace (G ⧸ N) - QuotientGroup.completeSpace_left 📋 Mathlib.Topology.Algebra.IsUniformGroup.Basic
(G : Type u_1) [Group G] [us : UniformSpace G] [IsLeftUniformGroup G] [FirstCountableTopology G] (N : Subgroup G) [N.Normal] [hG : CompleteSpace G] : CompleteSpace (G ⧸ N) - QuotientGroup.completeSpace_right 📋 Mathlib.Topology.Algebra.IsUniformGroup.Basic
(G : Type u_1) [Group G] [us : UniformSpace G] [IsRightUniformGroup G] [FirstCountableTopology G] (N : Subgroup G) [N.Normal] [hG : CompleteSpace G] : CompleteSpace (G ⧸ N) - Group.exponent_quotient_dvd 📋 Mathlib.GroupTheory.Exponent
{G : Type u} [Group G] (H : Subgroup G) [H.Normal] : Monoid.exponent (G ⧸ H) ∣ Monoid.exponent G - IsPGroup.to_quotient 📋 Mathlib.GroupTheory.PGroup
{p : ℕ} {G : Type u_1} [Group G] (hG : IsPGroup p G) (H : Subgroup G) [H.Normal] : IsPGroup p (G ⧸ H) - Representation.ofQuotient 📋 Mathlib.RepresentationTheory.Basic
{k : Type u_1} {G : Type u_2} {V : Type u_3} [Semiring k] [Group G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V) (S : Subgroup G) [S.Normal] [Representation.IsTrivial (MonoidHom.comp ρ S.subtype)] : Representation k (G ⧸ S) V - Representation.ofQuotient_coe_apply 📋 Mathlib.RepresentationTheory.Basic
{k : Type u_1} {G : Type u_2} {V : Type u_3} [Semiring k] [Group G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V) (S : Subgroup G) [S.Normal] [Representation.IsTrivial (MonoidHom.comp ρ S.subtype)] (g : G) (x : V) : ((ρ.ofQuotient S) ↑g) x = (ρ g) x - solvable_quotient_of_solvable 📋 Mathlib.GroupTheory.Solvable
{G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] [IsSolvable G] : IsSolvable (G ⧸ H) - instMulSemiringActionQuotientSubgroupSubtypeMemSubringSubring 📋 Mathlib.RingTheory.Invariant.Basic
{B : Type u_2} [CommRing B] {G : Type u_3} [Group G] [MulSemiringAction G B] (H : Subgroup G) [H.Normal] : MulSemiringAction (G ⧸ H) ↥(FixedPoints.subring B ↥H) - instMulSemiringActionQuotientSubgroupSubtypeMemSubalgebraSubalgebra 📋 Mathlib.RingTheory.Invariant.Basic
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [Algebra A B] {G : Type u_3} [Group G] [MulSemiringAction G B] [SMulCommClass G A B] (H : Subgroup G) [H.Normal] : MulSemiringAction (G ⧸ H) ↥(FixedPoints.subalgebra A B ↥H) - instIsInvariantSubtypeMemSubalgebraSubalgebraSubgroupQuotient 📋 Mathlib.RingTheory.Invariant.Basic
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [Algebra A B] {G : Type u_3} [Group G] [MulSemiringAction G B] [SMulCommClass G A B] (H : Subgroup G) [H.Normal] [Algebra.IsInvariant A B G] : Algebra.IsInvariant A (↥(FixedPoints.subalgebra A B ↥H)) (G ⧸ H) - instSMulCommClassQuotientSubgroupSubtypeMemSubalgebraSubalgebra 📋 Mathlib.RingTheory.Invariant.Basic
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [Algebra A B] {G : Type u_3} [Group G] [MulSemiringAction G B] [SMulCommClass G A B] (H : Subgroup G) [H.Normal] : SMulCommClass (G ⧸ H) A ↥(FixedPoints.subalgebra A B ↥H) - IsGaloisGroup.mulSemiringActionQuotient 📋 Mathlib.RingTheory.IsGaloisGroup.Basic
(G : Type u_1) [Group G] (B : Type u_3) (C : Type u_4) [Semiring C] [MulSemiringAction G C] (N : Subgroup G) [CommSemiring B] [Algebra B C] [FaithfulSMul B C] [IsGaloisGroup (↥N) B C] [N.Normal] : MulSemiringAction (G ⧸ N) B - IsGaloisGroup.instMulSemiringActionQuotientSubgroupSubtypeMemIntermediateField 📋 Mathlib.RingTheory.IsGaloisGroup.Basic
(G : Type u_1) [Group G] {K : Type u_2} {L : Type u_3} [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] (F : IntermediateField K L) (N : Subgroup G) [N.Normal] [IsGaloisGroup (↥N) (↥F) L] : MulSemiringAction (G ⧸ N) ↥F - IsGaloisGroup.mulSemiringActionQuotient_smul_def 📋 Mathlib.RingTheory.IsGaloisGroup.Basic
(G : Type u_1) [Group G] (B : Type u_3) (C : Type u_4) [Semiring C] [MulSemiringAction G C] (N : Subgroup G) [CommSemiring B] [Algebra B C] [FaithfulSMul B C] [MulSemiringAction G B] [SMulDistribClass G B C] [IsGaloisGroup (↥N) B C] [N.Normal] (g : G) (b : B) : ↑g • b = g • b - IsGaloisGroup.isScalarTower_mulSemiringActionQuotient 📋 Mathlib.RingTheory.IsGaloisGroup.Basic
(G : Type u_1) [Group G] (B : Type u_3) (C : Type u_4) [Semiring C] [MulSemiringAction G C] (N : Subgroup G) [CommSemiring B] [Algebra B C] [FaithfulSMul B C] [MulSemiringAction G B] [SMulDistribClass G B C] [IsGaloisGroup (↥N) B C] [N.Normal] : IsScalarTower G (G ⧸ N) B - IsGaloisGroup.smulCommClassQuotient 📋 Mathlib.RingTheory.IsGaloisGroup.Basic
(G : Type u_1) [Group G] (A : Type u_2) (B : Type u_3) (C : Type u_4) [CommSemiring A] [Semiring C] [Algebra A C] [MulSemiringAction G C] (N : Subgroup G) [CommSemiring B] [Algebra B C] [FaithfulSMul B C] [N.Normal] [Algebra A B] [IsScalarTower A B C] [SMulCommClass G A C] [MulSemiringAction G B] [MulAction (G ⧸ N) B] [SMulDistribClass G B C] [IsScalarTower G (G ⧸ N) B] : SMulCommClass (G ⧸ N) A B - IsGaloisGroup.instSMulCommClassQuotientSubgroupSubtypeMemIntermediateFieldOfSMulDistribClassOfIsScalarTower 📋 Mathlib.RingTheory.IsGaloisGroup.Basic
(G : Type u_1) [Group G] {K : Type u_2} {L : Type u_3} [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] (F : IntermediateField K L) (N : Subgroup G) [N.Normal] [IsGaloisGroup (↥N) (↥F) L] [SMulCommClass G K L] [MulSemiringAction G ↥F] [SMulDistribClass G (↥F) L] [IsScalarTower G (G ⧸ N) ↥F] : SMulCommClass (G ⧸ N) K ↥F - IsGaloisGroup.quotientMulEquiv 📋 Mathlib.FieldTheory.Galois.IsGaloisGroup
(G : Type u_1) (G' : Type u_2) [Group G] [Group G'] (A : Type u_5) (B : Type u_6) (C : Type u_7) [CommRing A] [CommRing B] [CommRing C] [IsDomain C] [Algebra A B] [Algebra A C] [Algebra B C] [FaithfulSMul A B] [FaithfulSMul B C] [IsScalarTower A B C] [Finite G] [Finite G'] (N : Subgroup G) [N.Normal] [MulSemiringAction G C] [IsGaloisGroup G A C] [IsGaloisGroup (↥N) B C] [MulSemiringAction G' B] [IsGaloisGroup G' A B] : G ⧸ N ≃* G' - IsGaloisGroup.instQuotientSubgroupSubtypeMemIntermediateFieldOfFinite 📋 Mathlib.FieldTheory.Galois.IsGaloisGroup
(G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] (F : IntermediateField K L) (N : Subgroup G) [N.Normal] [IsGaloisGroup (↥N) (↥F) L] [Finite G] [IsGaloisGroup G K L] : IsGaloisGroup (G ⧸ N) K ↥F - IsGaloisGroup.algebraMap_quotientMulEquiv_smul 📋 Mathlib.FieldTheory.Galois.IsGaloisGroup
(G : Type u_1) (G' : Type u_2) [Group G] [Group G'] (A : Type u_5) (B : Type u_6) (C : Type u_7) [CommRing A] [CommRing B] [CommRing C] [IsDomain C] [Algebra A B] [Algebra A C] [Algebra B C] [FaithfulSMul A B] [FaithfulSMul B C] [IsScalarTower A B C] [Finite G] [Finite G'] (N : Subgroup G) [N.Normal] [MulSemiringAction G C] [IsGaloisGroup G A C] [IsGaloisGroup (↥N) B C] [MulSemiringAction G' B] [IsGaloisGroup G' A B] (g : G) (x : B) : (algebraMap B C) ((IsGaloisGroup.quotientMulEquiv G G' A B C N) ↑g • x) = g • (algebraMap B C) x - IsGaloisGroup.quotient 📋 Mathlib.FieldTheory.Galois.IsGaloisGroup
(G : Type u_1) [Group G] (A : Type u_5) (B : Type u_6) (C : Type u_7) [CommRing A] [CommRing B] [CommRing C] [IsDomain C] [Algebra A B] [Algebra A C] [Algebra B C] [FaithfulSMul A B] [FaithfulSMul B C] [IsScalarTower A B C] [Finite G] (N : Subgroup G) [N.Normal] [MulSemiringAction G C] [hG : IsGaloisGroup G A C] [MulSemiringAction G B] [MulSemiringAction (G ⧸ N) B] [SMulCommClass (G ⧸ N) A B] [SMulDistribClass G B C] [IsScalarTower G (G ⧸ N) B] [IsGaloisGroup (↥N) B C] : IsGaloisGroup (G ⧸ N) A B - IsGaloisGroup.map_quotientMk' 📋 Mathlib.FieldTheory.Galois.IsGaloisGroup
(G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] (H : Subgroup G) (F : IntermediateField K L) (N : Subgroup G) [N.Normal] [IsGaloisGroup (↥N) (↥F) L] (E : IntermediateField K L) [hE : IsGaloisGroup (↥H) (↥E) L] [Finite G] [IsGaloisGroup G K L] (h : E ≤ F) : IsGaloisGroup ↥(Subgroup.map (QuotientGroup.mk' N) H) ↥E ↥F - IsGaloisGroup.quotientMap 📋 Mathlib.FieldTheory.Galois.IsGaloisGroup
(G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] (H : Subgroup G) (F : IntermediateField K L) (N : Subgroup G) [N.Normal] [IsGaloisGroup (↥N) (↥F) L] (E : IntermediateField K L) [hE : IsGaloisGroup (↥H) (↥E) L] [Finite G] [IsGaloisGroup G K L] (h : E ≤ F) : IsGaloisGroup ↥(Subgroup.map (QuotientGroup.mk' N) H) ↥E ↥F - QuotientGroup.borelSpace 📋 Mathlib.MeasureTheory.Constructions.Polish.Basic
{G : Type u_3} [TopologicalSpace G] [PolishSpace G] [Group G] [IsTopologicalGroup G] [MeasurableSpace G] [BorelSpace G] {N : Subgroup G} [N.Normal] [IsClosed ↑N] : BorelSpace (G ⧸ N) - Subgroup.IsComplement'.QuotientMulEquiv 📋 Mathlib.GroupTheory.Complement
{G : Type u_1} [Group G] {H K : Subgroup G} [K.Normal] (h : H.IsComplement' K) : G ⧸ K ≃* ↥H - Subgroup.IsComplement'.QuotientMulEquiv_apply 📋 Mathlib.GroupTheory.Complement
{G : Type u_1} [Group G] {H K : Subgroup G} [K.Normal] (h : H.IsComplement' K) (a✝ : G ⧸ K) : h.QuotientMulEquiv a✝ = (Subgroup.IsComplement.leftQuotientEquiv h) a✝ - Subgroup.IsComplement'.QuotientMulEquiv_symm_apply 📋 Mathlib.GroupTheory.Complement
{G : Type u_1} [Group G] {H K : Subgroup G} [K.Normal] (h : H.IsComplement' K) (a✝ : ↥H) : h.QuotientMulEquiv.symm a✝ = (Subgroup.IsComplement.leftQuotientEquiv h).symm a✝ - MeasureTheory.QuotientMeasureEqMeasurePreimage.haarMeasure_quotient 📋 Mathlib.MeasureTheory.Measure.Haar.Quotient
{G : Type u_1} [Group G] [MeasurableSpace G] [TopologicalSpace G] [IsTopologicalGroup G] [BorelSpace G] [PolishSpace G] {Γ : Subgroup G} [Γ.Normal] [T2Space (G ⧸ Γ)] [SecondCountableTopology (G ⧸ Γ)] {μ : MeasureTheory.Measure (G ⧸ Γ)} [Countable ↥Γ] (ν : MeasureTheory.Measure G) [ν.IsHaarMeasure] [ν.IsMulRightInvariant] [LocallyCompactSpace G] [MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] [i : MeasureTheory.HasFundamentalDomain (↥Γ.op) G ν] [MeasureTheory.IsFiniteMeasure μ] : μ.IsHaarMeasure - MeasureTheory.QuotientMeasureEqMeasurePreimage.mulInvariantMeasure_quotient 📋 Mathlib.MeasureTheory.Measure.Haar.Quotient
{G : Type u_1} [Group G] [MeasurableSpace G] [TopologicalSpace G] [IsTopologicalGroup G] [BorelSpace G] [PolishSpace G] {Γ : Subgroup G} [Γ.Normal] [T2Space (G ⧸ Γ)] [SecondCountableTopology (G ⧸ Γ)] {μ : MeasureTheory.Measure (G ⧸ Γ)} (ν : MeasureTheory.Measure G) [ν.IsMulLeftInvariant] [hasFun : MeasureTheory.HasFundamentalDomain (↥Γ.op) G ν] [MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] : μ.IsMulLeftInvariant - IsFundamentalDomain.QuotientMeasureEqMeasurePreimage_smulHaarMeasure 📋 Mathlib.MeasureTheory.Measure.Haar.Quotient
{G : Type u_1} [Group G] [MeasurableSpace G] [TopologicalSpace G] [IsTopologicalGroup G] [BorelSpace G] [PolishSpace G] {Γ : Subgroup G} [Γ.Normal] [T2Space (G ⧸ Γ)] [SecondCountableTopology (G ⧸ Γ)] [Countable ↥Γ] (ν : MeasureTheory.Measure G) [ν.IsHaarMeasure] [ν.IsMulRightInvariant] [MeasureTheory.SigmaFinite ν] (K : TopologicalSpace.PositiveCompacts (G ⧸ Γ)) {𝓕 : Set G} (h𝓕 : MeasureTheory.IsFundamentalDomain (↥Γ.op) 𝓕 ν) (h𝓕_finite : ν 𝓕 ≠ ⊤) : MeasureTheory.QuotientMeasureEqMeasurePreimage ν (ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕) • MeasureTheory.Measure.haarMeasure K) - MeasureTheory.leftInvariantIsQuotientMeasureEqMeasurePreimage 📋 Mathlib.MeasureTheory.Measure.Haar.Quotient
{G : Type u_1} [Group G] [MeasurableSpace G] [TopologicalSpace G] [IsTopologicalGroup G] [BorelSpace G] [PolishSpace G] {Γ : Subgroup G} [Γ.Normal] [T2Space (G ⧸ Γ)] [SecondCountableTopology (G ⧸ Γ)] {μ : MeasureTheory.Measure (G ⧸ Γ)} (ν : MeasureTheory.Measure G) [ν.IsMulLeftInvariant] [Countable ↥Γ] [ν.IsMulRightInvariant] [MeasureTheory.SigmaFinite ν] [μ.IsMulLeftInvariant] [MeasureTheory.SigmaFinite μ] [MeasureTheory.IsFiniteMeasure μ] [hasFun : MeasureTheory.HasFundamentalDomain (↥Γ.op) G ν] (h : MeasureTheory.covolume (↥Γ.op) G ν = μ Set.univ) : MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ - IsFundamentalDomain.QuotientMeasureEqMeasurePreimage_HaarMeasure 📋 Mathlib.MeasureTheory.Measure.Haar.Quotient
{G : Type u_1} [Group G] [MeasurableSpace G] [TopologicalSpace G] [IsTopologicalGroup G] [BorelSpace G] [PolishSpace G] {Γ : Subgroup G} [Γ.Normal] [T2Space (G ⧸ Γ)] [SecondCountableTopology (G ⧸ Γ)] {μ : MeasureTheory.Measure (G ⧸ Γ)} [Countable ↥Γ] (ν : MeasureTheory.Measure G) [ν.IsHaarMeasure] [ν.IsMulRightInvariant] [MeasureTheory.SigmaFinite ν] {𝓕 : Set G} (h𝓕 : MeasureTheory.IsFundamentalDomain (↥Γ.op) 𝓕 ν) [μ.IsMulLeftInvariant] [MeasureTheory.SigmaFinite μ] {V : Set (G ⧸ Γ)} (hV : (interior V).Nonempty) (meas_V : MeasurableSet V) (hμK : μ V = ν (QuotientGroup.mk ⁻¹' V ∩ 𝓕)) (neTopV : μ V ≠ ⊤) : MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ - MeasureTheory.Measure.IsMulLeftInvariant.quotientMeasureEqMeasurePreimage_of_set 📋 Mathlib.MeasureTheory.Measure.Haar.Quotient
{G : Type u_1} [Group G] [MeasurableSpace G] [TopologicalSpace G] [IsTopologicalGroup G] [BorelSpace G] [PolishSpace G] {Γ : Subgroup G} [Γ.Normal] [T2Space (G ⧸ Γ)] [SecondCountableTopology (G ⧸ Γ)] {μ : MeasureTheory.Measure (G ⧸ Γ)} (ν : MeasureTheory.Measure G) [ν.IsMulLeftInvariant] [Countable ↥Γ] [ν.IsMulRightInvariant] [MeasureTheory.SigmaFinite ν] [μ.IsMulLeftInvariant] [MeasureTheory.SigmaFinite μ] {s : Set G} (fund_dom_s : MeasureTheory.IsFundamentalDomain (↥Γ.op) s ν) {V : Set (G ⧸ Γ)} (meas_V : MeasurableSet V) (neZeroV : μ V ≠ 0) (hV : μ V = ν (QuotientGroup.mk ⁻¹' V ∩ s)) (neTopV : μ V ≠ ⊤) : MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ - Action.FintypeCat.toEndHom 📋 Mathlib.CategoryTheory.Action.Concrete
{G : Type u_1} [Group G] (N : Subgroup G) [Fintype (G ⧸ N)] [N.Normal] : G →* CategoryTheory.End (Action.FintypeCat.ofMulAction G (FintypeCat.of (G ⧸ N))) - Action.FintypeCat.quotientToEndHom 📋 Mathlib.CategoryTheory.Action.Concrete
{G : Type u_1} [Group G] (H N : Subgroup G) [Fintype (G ⧸ N)] [N.Normal] : ↥H ⧸ N.subgroupOf H →* CategoryTheory.End (Action.FintypeCat.ofMulAction G (FintypeCat.of (G ⧸ N))) - Action.FintypeCat.toEndHom_trivial_of_mem 📋 Mathlib.CategoryTheory.Action.Concrete
{G : Type u_1} [Group G] {N : Subgroup G} [Fintype (G ⧸ N)] [N.Normal] {n : G} (hn : n ∈ N) : (Action.FintypeCat.toEndHom N) n = CategoryTheory.CategoryStruct.id (Action.FintypeCat.ofMulAction G (FintypeCat.of (G ⧸ N))) - Action.FintypeCat.toEndHom_apply 📋 Mathlib.CategoryTheory.Action.Concrete
{G : Type u_1} [Group G] (N : Subgroup G) [Fintype (G ⧸ N)] [N.Normal] (g h : G) : (CategoryTheory.ConcreteCategory.hom ((Action.FintypeCat.toEndHom N) g).hom) ⟦h⟧ = ⟦h * g⁻¹⟧ - Action.FintypeCat.quotientToEndHom_mk 📋 Mathlib.CategoryTheory.Action.Concrete
{G : Type u_1} [Group G] (H N : Subgroup G) [Fintype (G ⧸ N)] [N.Normal] (x : ↥H) (g : G) : (CategoryTheory.ConcreteCategory.hom ((Action.FintypeCat.quotientToEndHom H N) ⟦x⟧).hom) ⟦g⟧ = ⟦g * ↑x⁻¹⟧ - Finset.le_card_quotient_mul_sq_inter_subgroup 📋 Mathlib.Geometry.Group.Growth.QuotientInter
{G : Type u_1} [Group G] [DecidableEq G] {H : Subgroup G} [DecidablePred fun x => x ∈ H] [H.Normal] {A : Finset G} (hAsymm : A⁻¹ = A) : A.card ≤ (Finset.image (⇑(QuotientGroup.mk' H)) A).card * {x ∈ A ^ 2 | x ∈ H}.card - Finset.card_pow_quotient_mul_pow_inter_subgroup_le 📋 Mathlib.Geometry.Group.Growth.QuotientInter
{G : Type u_1} [Group G] [DecidableEq G] {H : Subgroup G} [DecidablePred fun x => x ∈ H] [H.Normal] {A : Finset G} {m n : ℕ} : (Finset.image (⇑(QuotientGroup.mk' H)) (A ^ m)).card * {x ∈ A ^ n | x ∈ H}.card ≤ (A ^ (m + n)).card - Subgroup.commProb_quotient_le 📋 Mathlib.GroupTheory.CommutingProbability
{G : Type u_2} [Group G] [Finite G] (H : Subgroup G) [H.Normal] : commProb (G ⧸ H) ≤ commProb G * ↑(Nat.card ↥H) - Group.IsFinitelyPresented.quotient 📋 Mathlib.GroupTheory.FinitelyPresentedGroup
{G : Type u_1} [Group G] [hG : Group.IsFinitelyPresented G] (N : Subgroup G) [N.Normal] (hN : N.IsFinitelyNormallyGenerated) : Group.IsFinitelyPresented (G ⧸ N) - nilpotent_quotient_of_nilpotent 📋 Mathlib.GroupTheory.Nilpotent
{G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] [_h : Group.IsNilpotent G] : Group.IsNilpotent (G ⧸ H) - Group.nilpotent_quotient_of_nilpotent 📋 Mathlib.GroupTheory.Nilpotent
{G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] [_h : Group.IsNilpotent G] : Group.IsNilpotent (G ⧸ H) - nilpotencyClass_quotient_le 📋 Mathlib.GroupTheory.Nilpotent
{G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] [_h : Group.IsNilpotent G] : Group.nilpotencyClass (G ⧸ H) ≤ Group.nilpotencyClass G - Group.nilpotencyClass_quotient_le 📋 Mathlib.GroupTheory.Nilpotent
{G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] [_h : Group.IsNilpotent G] : Group.nilpotencyClass (G ⧸ H) ≤ Group.nilpotencyClass G - upperCentralSeriesStep_eq_comap_center 📋 Mathlib.GroupTheory.Nilpotent
{G : Type u_1} [Group G] (N : Subgroup G) [N.Normal] : N.upperCentralSeriesStep = Subgroup.comap (QuotientGroup.mk' N) (Subgroup.center (G ⧸ N)) - Subgroup.upperCentralSeriesStep_eq_comap_center 📋 Mathlib.GroupTheory.Nilpotent
{G : Type u_1} [Group G] (N : Subgroup G) [N.Normal] : N.upperCentralSeriesStep = Subgroup.comap (QuotientGroup.mk' N) (Subgroup.center (G ⧸ N)) - Subgroup.goursat_surjective 📋 Mathlib.GroupTheory.Goursat
{G : Type u_1} {H : Type u_2} [Group G] [Group H] {I : Subgroup (G × H)} (hI₁ : Function.Surjective (Prod.fst ∘ ⇑I.subtype)) (hI₂ : Function.Surjective (Prod.snd ∘ ⇑I.subtype)) : have this := ⋯; have this_1 := ⋯; ∃ e, (((QuotientGroup.mk' I.goursatFst).prodMap (QuotientGroup.mk' I.goursatSnd)).comp I.subtype).range = e.toMonoidHom.graph - Subgroup.goursat 📋 Mathlib.GroupTheory.Goursat
{G : Type u_1} {H : Type u_2} [Group G] [Group H] {I : Subgroup (G × H)} : ∃ G' H' M N, ∃ (x : M.Normal) (x_1 : N.Normal), ∃ e, I = Subgroup.map (G'.subtype.prodMap H'.subtype) (Subgroup.comap ((QuotientGroup.mk' M).prodMap (QuotientGroup.mk' N)) e.toMonoidHom.graph) - MulAction.instQuotientSubgroupElemFixedPointsSubtypeMem 📋 Mathlib.GroupTheory.GroupAction.OfQuotient
{G : Type u_1} [Group G] {A : Type u_2} [MulAction G A] {H : Subgroup G} [H.Normal] : MulAction (G ⧸ H) ↑(MulAction.fixedPoints (↥H) A) - MulDistribMulAction.instQuotientSubgroupSubtypeMemSubmonoidSubmonoid 📋 Mathlib.GroupTheory.GroupAction.OfQuotient
{G : Type u_1} [Group G] {A : Type u_2} [Monoid A] [MulDistribMulAction G A] {H : Subgroup G} [H.Normal] : MulDistribMulAction (G ⧸ H) ↥(FixedPoints.submonoid (↥H) A) - MulDistribMulAction.instQuotientSubgroupSubtypeMemSubgroup 📋 Mathlib.GroupTheory.GroupAction.OfQuotient
{G : Type u_1} [Group G] {H : Subgroup G} [H.Normal] {α : Type u_3} [Group α] [MulDistribMulAction G α] : MulDistribMulAction (G ⧸ H) ↥(FixedPoints.subgroup (↥H) α) - MulAction.coe_quotient_smul_fixedPoints 📋 Mathlib.GroupTheory.GroupAction.OfQuotient
{G : Type u_1} [Group G] {A : Type u_2} [MulAction G A] {H : Subgroup G} [H.Normal] (g : G) (a : ↑(MulAction.fixedPoints (↥H) A)) : ↑g • a = g • a - MulAction.quotient_out_smul_fixedPoints 📋 Mathlib.GroupTheory.GroupAction.OfQuotient
{G : Type u_1} [Group G] {A : Type u_2} [MulAction G A] {H : Subgroup G} [H.Normal] (g : G ⧸ H) (a : ↑(MulAction.fixedPoints (↥H) A)) : Quotient.out g • a = g • a - Group.IsPerfect.instQuotientSubgroup 📋 Mathlib.GroupTheory.IsPerfect
{G : Type u_1} [Group G] {H : Subgroup G} [H.Normal] [Group.IsPerfect G] : Group.IsPerfect (G ⧸ H) - Subgroup.IsSubnormal.quotient 📋 Mathlib.GroupTheory.IsSubnormal
{G : Type u_1} [Group G] {H K : Subgroup G} [K.Normal] (hS : H.IsSubnormal) : (Subgroup.map (QuotientGroup.mk' K) H).IsSubnormal - IsZGroup.instQuotientSubgroupOfFinite 📋 Mathlib.GroupTheory.SpecificGroups.ZGroup
{G : Type u_1} [Group G] [Finite G] [IsZGroup G] (H : Subgroup G) [H.Normal] : IsZGroup (G ⧸ H) - TopologicalGroup.IsSES.ofClosedSubgroup 📋 Mathlib.Topology.Algebra.Group.Extension
{G : Type u_1} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] (H : Subgroup G) [H.Normal] (hH : IsClosed ↑H) : TopologicalGroup.IsSES H.subtype (QuotientGroup.mk' H) - Rep.ofQuotient 📋 Mathlib.RepresentationTheory.Rep.Res
{k : Type u} [Semiring k] {G : Type v} [Group G] (A : Rep.{u_1, u, v} k G) (S : Subgroup G) [S.Normal] [Representation.IsTrivial (MonoidHom.comp A.ρ S.subtype)] : Rep.{u_1, u, v} k (G ⧸ S) - Rep.resOfQuotientIso 📋 Mathlib.RepresentationTheory.Rep.Res
{k : Type u} [Semiring k] {G : Type v} [Group G] (A : Rep.{u_1, u, v} k G) (S : Subgroup G) [S.Normal] [Representation.IsTrivial (MonoidHom.comp A.ρ S.subtype)] : Rep.res (QuotientGroup.mk' S) (A.ofQuotient S) ≅ A - Rep.quotientToInvariants 📋 Mathlib.RepresentationTheory.Invariants
{k : Type u} {G : Type v} [CommRing k] [Group G] (A : Rep.{w, u, v} k G) (S : Subgroup G) [S.Normal] : Rep.{w, u, v} k (G ⧸ S) - Rep.quotientToInvariantsFunctor 📋 Mathlib.RepresentationTheory.Invariants
(k : Type u) {G : Type v} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] : CategoryTheory.Functor (Rep.{w, u, v} k G) (Rep.{w, u, v} k (G ⧸ S)) - Representation.quotientToInvariants 📋 Mathlib.RepresentationTheory.Invariants
{k : Type u_1} {G : Type u_2} [CommRing k] [Group G] {V : Type u_5} [AddCommGroup V] [Module k V] (ρ : Representation k G V) (S : Subgroup G) [S.Normal] : Representation k (G ⧸ S) ↥(Representation.invariants (MonoidHom.comp ρ S.subtype)) - Representation.quotientToInvariants_lift 📋 Mathlib.RepresentationTheory.Invariants
{k : Type u_1} {G : Type u_2} [CommRing k] [Group G] {V : Type u_5} [AddCommGroup V] [Module k V] (ρ : Representation k G V) (S : Subgroup G) [S.Normal] : Representation.IntertwiningMap (MonoidHom.comp (ρ.quotientToInvariants S) (QuotientGroup.mk' S)) ρ - Rep.quotientToCoinvariants 📋 Mathlib.RepresentationTheory.Coinvariants
{k : Type u} {G : Type v} [CommRing k] [Group G] (A : Rep.{w, u, v} k G) (S : Subgroup G) [S.Normal] : Rep.{w, u, v} k (G ⧸ S) - Rep.quotientToCoinvariantsFunctor 📋 Mathlib.RepresentationTheory.Coinvariants
(k : Type u) {G : Type v} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] : CategoryTheory.Functor (Rep.{w, u, v} k G) (Rep.{w, u, v} k (G ⧸ S)) - Rep.quotientToCoinvariantsFunctor_obj_V 📋 Mathlib.RepresentationTheory.Coinvariants
(k : Type u) {G : Type v} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] (X : Rep.{w, u, v} k G) : ↑((Rep.quotientToCoinvariantsFunctor k S).obj X) = Representation.Coinvariants (MonoidHom.comp X.ρ S.subtype) - Representation.quotientToCoinvariants 📋 Mathlib.RepresentationTheory.Coinvariants
{k : Type u_6} {G : Type u_7} {V : Type u_8} [CommRing k] [Group G] [AddCommGroup V] [Module k V] (ρ : Representation k G V) (S : Subgroup G) [S.Normal] : Representation k (G ⧸ S) (Representation.Coinvariants (MonoidHom.comp ρ S.subtype)) - Rep.quotientToCoinvariantsFunctor_map_hom_toLinearMap 📋 Mathlib.RepresentationTheory.Coinvariants
(k : Type u) {G : Type v} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] {X Y : Rep.{w, u, v} k G} (f : X ⟶ Y) : (Rep.Hom.hom ((Rep.quotientToCoinvariantsFunctor k S).map f)).toLinearMap = Representation.Coinvariants.map (MonoidHom.comp X.ρ S.subtype) (MonoidHom.comp Y.ρ S.subtype) (Rep.Hom.hom (Rep.resMap S.subtype f)) - groupCohomology.H1InfRes_X₁ 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] : (groupCohomology.H1InfRes A S).X₁ = groupCohomology (A.quotientToInvariants S) 1 - groupCohomology.infNatTrans 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality
(k : Type u) {G : Type u} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] (n : ℕ) : (Rep.quotientToInvariantsFunctor k S).comp (groupCohomology.functor k (G ⧸ S) n) ⟶ groupCohomology.functor k G n - groupCohomology.H1InfRes_f 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] : (groupCohomology.H1InfRes A S).f = groupCohomology.map (QuotientGroup.mk' S) (Rep.ofHom (A.ρ.quotientToInvariants_lift S)) 1 - groupCohomology.infNatTrans_app 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality
(k : Type u) {G : Type u} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] (n : ℕ) (A : Rep.{u, u, u} k G) : (groupCohomology.infNatTrans k S n).app A = groupCohomology.map (QuotientGroup.mk' S) (Rep.ofHom (A.ρ.quotientToInvariants_lift S)) n - groupHomology.H1CoresCoinf_X₃ 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] : (groupHomology.H1CoresCoinf A S).X₃ = groupHomology.H1 (A.quotientToCoinvariants S) - groupHomology.H1CoresCoinf_g 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] : (groupHomology.H1CoresCoinf A S).g = groupHomology.map (QuotientGroup.mk' S) (A.toCoinvariantsMkQ S) 1 - groupHomology.coinfNatTrans 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality
(k : Type u) {G : Type u} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] (n : ℕ) : groupHomology.functor k G n ⟶ (Rep.quotientToCoinvariantsFunctor k S).comp (groupHomology.functor k (G ⧸ S) n) - groupHomology.coinfNatTrans_app 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality
(k : Type u) {G : Type u} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] (n : ℕ) (A : Rep.{u, u, u} k G) : (groupHomology.coinfNatTrans k S n).app A = groupHomology.map (QuotientGroup.mk' S) (A.toCoinvariantsMkQ S) n - groupHomology.H1CoresCoinfOfTrivial_X₃ 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] [Representation.IsTrivial (MonoidHom.comp A.ρ S.subtype)] : (groupHomology.H1CoresCoinfOfTrivial A S).X₃ = groupHomology.H1 (A.ofQuotient S) - groupHomology.map₁_quotientGroupMk'_epi 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] [Representation.IsTrivial (MonoidHom.comp A.ρ S.subtype)] : CategoryTheory.Epi (groupHomology.map (QuotientGroup.mk' S) (A.resOfQuotientIso S).inv 1) - groupHomology.H1CoresCoinfOfTrivial_g 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] [Representation.IsTrivial (MonoidHom.comp A.ρ S.subtype)] : (groupHomology.H1CoresCoinfOfTrivial A S).g = groupHomology.map (QuotientGroup.mk' S) (A.resOfQuotientIso S).inv 1 - groupHomology.mapCycles₁_quotientGroupMk'_epi 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] [Representation.IsTrivial (MonoidHom.comp A.ρ S.subtype)] : CategoryTheory.Epi (groupHomology.mapCycles₁ (QuotientGroup.mk' S) (A.resOfQuotientIso S).inv)
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 30ff0d5