Loogle!
Result
Found 109 declarations mentioning Group, HasQuotient.Quotient and Subgroup.Normal.
- QuotientGroup.Quotient.group π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : Group (G β§Έ N) - QuotientGroup.Quotient.group.eq_1 π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : QuotientGroup.Quotient.group N = (QuotientGroup.con N).group - QuotientGroup.eq_iff_div_mem π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] {N : Subgroup G} [nN : N.Normal] {x y : G} : βx = βy β x / y β N - QuotientGroup.mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : G β* G β§Έ N - QuotientGroup.ker_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : (QuotientGroup.mk' N).ker = N - QuotientGroup.preimage_image_coe π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [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} [Group G] (N : Subgroup G) [nN : N.Normal] : (QuotientGroup.mk' N).range = β€ - QuotientGroup.map_mk'_self π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : Subgroup.map (QuotientGroup.mk' N) N = β₯ - QuotientGroup.Quotient.commGroup.eq_1 π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [CommGroup G] (N : Subgroup G) : QuotientGroup.Quotient.commGroup N = { toGroup := let_fun this := β―; QuotientGroup.Quotient.group N, mul_comm := β― } - QuotientGroup.mk_inv π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (a : G) : βaβ»ΒΉ = (βa)β»ΒΉ - QuotientGroup.mk'.eq_1 π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : QuotientGroup.mk' N = MonoidHom.mk' QuotientGroup.mk β― - QuotientGroup.mk_zpow π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (a : G) (n : β€) : β(a ^ n) = βa ^ n - QuotientGroup.mk_one π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : β1 = 1 - QuotientGroup.lift π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {M : Type x} [Monoid M] (Ο : G β* M) (HN : N β€ Ο.ker) : G β§Έ N β* M - QuotientGroup.eq_one_iff π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] {N : Subgroup G} [N.Normal] (x : G) : βx = 1 β x β N - QuotientGroup.mk_div π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (a b : G) : β(a / b) = βa / βb - QuotientGroup.mk_pow π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (a : G) (n : β) : β(a ^ n) = βa ^ n - QuotientGroup.image_coe π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : QuotientGroup.mk '' βN = 1 - QuotientGroup.image_coe_inj π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [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} [Group G] (N : Subgroup G) [nN : N.Normal] {M : Type x} [Monoid M] (Ο : 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} [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} [Group G] (N : Subgroup G) [nN : N.Normal] {M : Type x} [Monoid M] (Ο : G β* M) (HN : N β€ Ο.ker) : (QuotientGroup.lift N Ο HN).comp (QuotientGroup.mk' N) = Ο - QuotientGroup.mk'_surjective π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : Function.Surjective β(QuotientGroup.mk' N) - QuotientGroup.lift.eq_1 π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {M : Type x} [Monoid M] (Ο : G β* M) (HN : N β€ Ο.ker) : QuotientGroup.lift N Ο HN = (QuotientGroup.con N).lift Ο β― - QuotientGroup.coe_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] : β(QuotientGroup.mk' N) = QuotientGroup.mk - QuotientGroup.mk'_apply π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (x : G) : (QuotientGroup.mk' N) x = βx - QuotientGroup.map π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {H : Type v} [Group H] (M : Subgroup H) [M.Normal] (f : G β* H) (h : N β€ Subgroup.comap f M) : G β§Έ N β* H β§Έ M - QuotientGroup.ker_map π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {H : Type v} [Group H] (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.lift_mk π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {M : Type x} [Monoid M] {Ο : G β* M} (HN : N β€ Ο.ker) (g : G) : (QuotientGroup.lift N Ο HN) βg = Ο g - QuotientGroup.lift_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {M : Type x} [Monoid M] {Ο : G β* M} (HN : N β€ Ο.ker) (g : G) : (QuotientGroup.lift N Ο HN) βg = Ο g - QuotientGroup.lift_quot_mk π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {M : Type x} [Monoid M] {Ο : 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} [Group G] (N : Subgroup G) [nN : N.Normal] {M : Type x} [Monoid M] (Ο : G β* M) (hΟ : Function.Surjective βΟ) (HN : N β€ Ο.ker) : Function.Surjective β(QuotientGroup.lift N Ο HN) - QuotientGroup.map_id π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [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.map.eq_1 π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {H : Type v} [Group H] (M : Subgroup H) [M.Normal] (f : G β* H) (h : N β€ Subgroup.comap f M) : QuotientGroup.map N M f h = QuotientGroup.lift N ((QuotientGroup.mk' M).comp f) β― - QuotientGroup.monoidHom_ext π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {M : Type x} [Monoid M] β¦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} [Group G] {N : Subgroup G} [nN : N.Normal] {M : Type x} [Monoid M] {f g : G β§Έ N β* M} : f = g β f.comp (QuotientGroup.mk' N) = g.comp (QuotientGroup.mk' N) - QuotientGroup.mk'_eq_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [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.congr π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] {H : Type v} [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_id_apply π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [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.map_mk π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {H : Type v} [Group H] (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} [Group G] (N : Subgroup G) [nN : N.Normal] {H : Type v} [Group H] (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.congr_refl π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [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} [Group G] (N : Subgroup G) [nN : N.Normal] {H : Type v} [Group H] (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} [Group G] (N : Subgroup G) [nN : N.Normal] {H : Type v} [Group H] {I : Type u_1} [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.congr_mk π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] {H : Type v} [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} [Group G] {H : Type v} [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} [Group G] {H : Type v} [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} [Group G] {H : Type v} [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.ker_le_range_iff π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] {H : Type v} [Group H] {I : Type w} [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.map_map π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] {H : Type v} [Group H] {I : Type u_1} [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.congr.eq_1 π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u} [Group G] {H : Type v} [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 = { toFun := β(QuotientGroup.map G' H' βe β―), invFun := β(QuotientGroup.map H' G' βe.symm β―), left_inv := β―, right_inv := β―, map_mul' := β― } - 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.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.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.eq_1 π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] {M N : Subgroup G} [M.Normal] [N.Normal] (h : M = N) : QuotientGroup.quotientMulEquivOfEq h = { toEquiv := Subgroup.quotientEquivOfEq h, map_mul' := β― } - 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.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.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.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.quotientQuotientEquivQuotientAux.eq_1 π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (M : Subgroup G) [nM : M.Normal] (h : N β€ M) : QuotientGroup.quotientQuotientEquivQuotientAux N M h = QuotientGroup.lift (Subgroup.map (QuotientGroup.mk' N) M) (QuotientGroup.map N M (MonoidHom.id G) h) β― - QuotientGroup.comapMk'OrderIso.eq_1 π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [hn : N.Normal] : QuotientGroup.comapMk'OrderIso N = { toFun := fun H' => β¨Subgroup.comap (QuotientGroup.mk' N) H', β―β©, invFun := fun H => Subgroup.map (QuotientGroup.mk' N) βH, left_inv := β―, right_inv := β―, map_rel_iff' := β― } - 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.quotientMapSubgroupOfOfLe.eq_1 π 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) : QuotientGroup.quotientMapSubgroupOfOfLe h' h = QuotientGroup.map (A'.subgroupOf A) (B'.subgroupOf B) (Subgroup.inclusion h) β― - 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.quotientQuotientEquivQuotient.eq_1 π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (N : Subgroup G) [nN : N.Normal] (M : Subgroup G) [nM : M.Normal] (h : N β€ M) : QuotientGroup.quotientQuotientEquivQuotient N M h = (QuotientGroup.quotientQuotientEquivQuotientAux N M h).toMulEquiv (QuotientGroup.map M (Subgroup.map (QuotientGroup.mk' N) M) (QuotientGroup.mk' N) β―) β― β― - 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.equivQuotientSubgroupOfOfEq.eq_1 π 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) : QuotientGroup.equivQuotientSubgroupOfOfEq h' h = (QuotientGroup.quotientMapSubgroupOfOfLe β― β―).toMulEquiv (QuotientGroup.quotientMapSubgroupOfOfLe β― β―) β― β― - 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.quotientInfEquivProdNormalQuotient.eq_1 π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [Group G] (H N : Subgroup G) [hN : N.Normal] : QuotientGroup.quotientInfEquivProdNormalQuotient H N = QuotientGroup.quotientInfEquivProdNormalizerQuotient 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) - Group.fintypeOfDomOfCoker π Mathlib.GroupTheory.QuotientGroup.Finite
{F G : Type u} [Group F] [Group G] [Fintype F] (f : F β* G) [f.range.Normal] [Fintype (G β§Έ f.range)] : Fintype G - Group.fintypeOfDomOfCoker.eq_1 π Mathlib.GroupTheory.QuotientGroup.Finite
{F G : Type u} [Group F] [Group G] [Fintype F] (f : F β* G) [f.range.Normal] [Fintype (G β§Έ f.range)] : Group.fintypeOfDomOfCoker f = Group.fintypeOfKerLeRange f (QuotientGroup.mk' f.range) β― - 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.Abelianization
{G : Type u} [Group G] {N : Subgroup G} [N.Normal] : (Std.Commutative fun x1 x2 => x1 * x2) β commutator G β€ N - 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' π 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 π Mathlib.Topology.Algebra.IsUniformGroup.Basic
(G : Type u) [Group G] [us : UniformSpace G] [IsUniformGroup G] [FirstCountableTopology G] (N : Subgroup G) [N.Normal] [hG : CompleteSpace G] : CompleteSpace (G β§Έ N) - 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) - solvable_quotient_of_solvable π Mathlib.GroupTheory.Solvable
{G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] [IsSolvable G] : IsSolvable (G β§Έ H) - 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) - 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 - 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.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_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) - 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 Ξ½ ΞΌ - 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β - 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) : ((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) : ((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) - 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 - upperCentralSeriesStep_eq_comap_center π Mathlib.GroupTheory.Nilpotent
{G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] : upperCentralSeriesStep H = Subgroup.comap (QuotientGroup.mk' H) (Subgroup.center (G β§Έ H)) - 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)) : let_fun this := β―; let_fun 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) - IsZGroup.instQuotientSubgroupOfFinite π Mathlib.GroupTheory.SpecificGroups.ZGroup
{G : Type u_1} [Group G] [Finite G] [IsZGroup G] (H : Subgroup G) [H.Normal] : IsZGroup (G β§Έ H)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. 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 ?a
If 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 ?b
By 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_tsum
even though the hypothesisf i < g i
is not the last.
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.
This is Loogle revision 19971e9
serving mathlib revision bce1d65