Loogle!
Result
Found 241 declarations mentioning AddSubgroup.Normal. Of these, only the first 200 are shown.
- AddSubgroup.Normal π Mathlib.Algebra.Group.Subgroup.Defs
{A : Type u_2} [AddGroup A] (H : AddSubgroup A) : Prop - AddSubgroup.normal_of_isAddCommutative π Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] [IsAddCommutative G] (H : AddSubgroup G) : H.Normal - AddSubgroup.Normal.mem_comm π Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} (nH : H.Normal) {a b : G} (h : a + b β H) : b + a β H - AddSubgroup.Normal.mem_comm_iff π Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} (nH : H.Normal) {a b : G} : a + b β H β b + a β H - AddSubgroup.Normal.conj_mem π Mathlib.Algebra.Group.Subgroup.Defs
{A : Type u_2} [AddGroup A] {H : AddSubgroup A} (self : H.Normal) (n : A) : n β H β β (g : A), g + n + -g β H - AddSubgroup.Normal.mk π Mathlib.Algebra.Group.Subgroup.Defs
{A : Type u_2} [AddGroup A] {H : AddSubgroup A} (conj_mem : β n β H, β (g : A), g + n + -g β H) : H.Normal - AddSubgroup.Normal.addConj_mem' π Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} (nH : H.Normal) (n : G) (hn : n β H) (g : G) : -g + n + g β H - AddSubgroup.mem_sup_of_normal_left π Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [AddGroup G] {s t : AddSubgroup G} [hs : s.Normal] {x : G} : x β s β t β β y β s, β z β t, y + z = x - AddSubgroup.mem_sup_of_normal_right π Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [AddGroup G] {s t : AddSubgroup G} [ht : t.Normal] {x : G} : x β s β t β β y β s, β z β t, y + z = x - AddMonoidHom.normal_ker π Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_6} [AddZeroClass M] (f : G β+ M) : f.ker.Normal - AddSubgroup.normalClosure_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {s : Set G} : (AddSubgroup.normalClosure s).Normal - AddSubgroup.normalCore_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) : H.normalCore.Normal - AddSubgroup.normal_bot π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] : β₯.Normal - AddSubgroup.normal_top π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] : β€.Normal - AddSubgroup.normal_of_characteristic π Mathlib.Algebra.Group.Subgroup.Basic
{A : Type u_3} [AddGroup A] (H : AddSubgroup A) [h : H.Characteristic] : H.Normal - AddSubgroup.normalCore_eq_self π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) [H.Normal] : H.normalCore = H - AddSubgroup.normal_iInf_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {ΞΉ : Sort u_5} {a : ΞΉ β AddSubgroup G} (norm : β (i : ΞΉ), (a i).Normal) : (iInf a).Normal - AddSubgroup.normalClosure_eq_self π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) [H.Normal] : AddSubgroup.normalClosure βH = H - AddSubgroup.normal_inf_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (H K : AddSubgroup G) [hH : H.Normal] [hK : K.Normal] : (H β K).Normal - AddSubgroup.normalizer_eq_top π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) [h : H.Normal] : AddSubgroup.normalizer βH = β€ - AddSubgroup.normalizer_eq_top_iff π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} : AddSubgroup.normalizer βH = β€ β H.Normal - AddSubgroup.prod_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_4} [AddGroup N] (H : AddSubgroup G) (K : AddSubgroup N) [hH : H.Normal] [hK : K.Normal] : (H.prod K).Normal - AddSubgroup.subset_normalizer_of_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} {S : Set G} [hH : H.Normal] : S β β(AddSubgroup.normalizer βH) - AddSubgroup.le_normalizer_of_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} [H.Normal] : K β€ AddSubgroup.normalizer βH - AddSubgroup.normal_addSubgroupOf π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H N : AddSubgroup G} [N.Normal] : (N.addSubgroupOf H).Normal - AddSubgroup.Normal.addSubgroupOf π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} (hH : H.Normal) (K : AddSubgroup G) : (H.addSubgroupOf K).Normal - AddSubgroup.normal_comap π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_4} [AddGroup N] {H : AddSubgroup N} [nH : H.Normal] (f : G β+ N) : (AddSubgroup.comap f H).Normal - AddSubgroup.Normal.comap π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_4} [AddGroup N] {H : AddSubgroup N} (hH : H.Normal) (f : G β+ N) : (AddSubgroup.comap f H).Normal - AddGroup.addConjugatesOfSet_subset π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {s : Set G} {N : AddSubgroup G} [N.Normal] (h : s β βN) : AddGroup.addConjugatesOfSet s β βN - AddSubgroup.normal_addSubgroupOf_closure_normalizer π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (s : Set G) : ((AddSubgroup.closure s).addSubgroupOf (AddSubgroup.normalizer s)).Normal - AddSubgroup.normalClosure_le_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {s : Set G} {N : AddSubgroup G} [N.Normal] (h : s β βN) : AddSubgroup.normalClosure s β€ N - AddGroup.addConjugates_subset_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : AddSubgroup G} [tn : N.Normal] {a : G} (h : a β N) : addConjugatesOf a β βN - AddSubgroup.normalClosure_subset_iff π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {s : Set G} {N : AddSubgroup G} [N.Normal] : s β βN β AddSubgroup.normalClosure s β€ N - AddSubgroup.normal_le_normalCore π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H N : AddSubgroup G} [hN : N.Normal] : N β€ H.normalCore β N β€ H - AddSubgroup.maximal_normal_addSubgroupOf_normalizer π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} : Maximal (fun x => (H.addSubgroupOf x).Normal) (AddSubgroup.normalizer βH) - AddSubgroup.normal_addSubgroupOf_of_le_normalizer π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H N : AddSubgroup G} (hLE : H β€ AddSubgroup.normalizer βN) : (N.addSubgroupOf H).Normal - AddSubgroup.normal_in_normalizer π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} : (H.addSubgroupOf (AddSubgroup.normalizer βH)).Normal - AddSubgroup.normal_addSubgroupOf_iff_le_normalizer_inf π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} : (H.addSubgroupOf K).Normal β K β€ AddSubgroup.normalizer β(H β K) - AddSubgroup.normalClosure_eq_iInf π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {s : Set G} : AddSubgroup.normalClosure s = β¨ N, β¨ (_ : N.Normal), β¨ (_ : s β βN), N - AddSubgroup.le_normalizer_of_normal_addSubgroupOf π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} [hK : (H.addSubgroupOf K).Normal] (HK : H β€ K) : K β€ AddSubgroup.normalizer βH - AddSubgroup.normal_addSubgroupOf_iff_le_normalizer π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} (h : H β€ K) : (H.addSubgroupOf K).Normal β K β€ AddSubgroup.normalizer βH - AddSubgroup.Normal.map π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_4} [AddGroup N] {H : AddSubgroup G} (h : H.Normal) (f : G β+ N) (hf : Function.Surjective βf) : (AddSubgroup.map f H).Normal - AddSubgroup.addCommute_of_normal_of_disjoint π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (Hβ Hβ : AddSubgroup G) (hHβ : Hβ.Normal) (hHβ : Hβ.Normal) (hdis : Disjoint Hβ Hβ) (x y : G) (hx : x β Hβ) (hy : y β Hβ) : AddCommute x y - AddSubgroup.inf_addSubgroupOf_inf_normal_of_left π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {A' A : AddSubgroup G} (B : AddSubgroup G) [hN : (A'.addSubgroupOf A).Normal] : ((A' β B).addSubgroupOf (A β B)).Normal - AddSubgroup.inf_addSubgroupOf_inf_normal_of_right π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (A B' B : AddSubgroup G) [hN : (B'.addSubgroupOf B).Normal] : ((A β B').addSubgroupOf (A β B)).Normal - AddSubgroup.normalCore_eq_iSup π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) : H.normalCore = β¨ N, β¨ (_ : N.Normal), β¨ (_ : N β€ H), N - AddSubgroup.normal_addSubgroupOf_sup_of_le_normalizer π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H N : AddSubgroup G} (hLE : H β€ AddSubgroup.normalizer βN) : (N.addSubgroupOf (H β N)).Normal - AddSubgroup.SubgroupNormal.mem_comm π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} (hK : H β€ K) [hN : (H.addSubgroupOf K).Normal] {a b : G} (hb : b β K) (h : a + b β H) : b + a β H - AddSubgroup.normal_addSubgroupOf_iff π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} (hHK : H β€ K) : (H.addSubgroupOf K).Normal β β (h k : G), h β H β k β K β k + h + -k β H - AddSubgroup.prod_addSubgroupOf_prod_normal π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_4} [AddGroup N] {Hβ Kβ : AddSubgroup G} {Hβ Kβ : AddSubgroup N} [hβ : (Hβ.addSubgroupOf Kβ).Normal] [hβ : (Hβ.addSubgroupOf Kβ).Normal] : ((Hβ.prod Hβ).addSubgroupOf (Kβ.prod Kβ)).Normal - AddSubgroup.Normal.map_addConj_eq π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) [H.Normal] (g : G) : AddSubgroup.map (β(AddAut.addConj g)) H = H - AddSubgroup.normal_iff_map_addConj_eq π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} : H.Normal β β (g : G), AddSubgroup.map (β(AddAut.addConj g)) H = H - AddSubgroup.Normal.of_op π Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [AddGroup G] {H : AddSubgroup G} : H.op.Normal β H.Normal - AddSubgroup.Normal.op π Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [AddGroup G] {H : AddSubgroup G} : H.Normal β H.op.Normal - AddSubgroup.op.instNormal π Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [AddGroup G] {H : AddSubgroup G} [H.Normal] : H.op.Normal - AddSubgroup.normal_op π Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [AddGroup G] {H : AddSubgroup G} : H.op.Normal β H.Normal - AddSubgroup.Normal.of_unop π Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [AddGroup G] {H : AddSubgroup Gα΅α΅α΅} : H.unop.Normal β H.Normal - AddSubgroup.Normal.unop π Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [AddGroup G] {H : AddSubgroup Gα΅α΅α΅} : H.Normal β H.unop.Normal - AddSubgroup.unop.instNormal π Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [AddGroup G] {H : AddSubgroup Gα΅α΅α΅} [H.Normal] : H.unop.Normal - AddSubgroup.normal_unop π Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas
{G : Type u_2} [AddGroup G] {H : AddSubgroup Gα΅α΅α΅} : H.unop.Normal β H.Normal - AddSubgroup.instNormalCenter π Mathlib.GroupTheory.Subgroup.Center
{G : Type u_1} [AddGroup G] : (AddSubgroup.center G).Normal - AddSubgroup.normal_of_le_center π Mathlib.GroupTheory.Subgroup.Center
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} (hH : H β€ AddSubgroup.center G) : H.Normal - AddSubgroup.normal_centralizer π Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} [H.Normal] : (AddSubgroup.centralizer βH).Normal - AddSubgroup.normal_addSubgroupOf_centralizer_normalizer π Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [AddGroup G] (s : Set G) : ((AddSubgroup.centralizer s).addSubgroupOf (AddSubgroup.normalizer s)).Normal - AddSubgroup.iSup_normal π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] {ΞΉ : Sort u_5} (H : ΞΉ β AddSubgroup G) [β (i : ΞΉ), (H i).Normal] : (β¨ i, H i).Normal - AddSubgroup.sup_normal π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] (H K : AddSubgroup G) [hH : H.Normal] [hK : K.Normal] : (H β K).Normal - AddSubgroup.sSup_normal π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] (Hs : Set (AddSubgroup G)) (h : β H β Hs, H.Normal) : (sSup Hs).Normal - AddSubgroup.normalizer_le_normalizer_sup_normal π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] {H K : AddSubgroup G} [hK : K.Normal] : AddSubgroup.normalizer βH β€ AddSubgroup.normalizer β(H β K) - AddSubgroup.set_add_normal_comm π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] (S : Set G) (N : AddSubgroup G) [hN : N.Normal] : S + βN = βN + S - AddSubgroup.add_normal π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] (H N : AddSubgroup G) [hN : N.Normal] : β(H β N) = βH + βN - AddSubgroup.normal_add π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] (N H : AddSubgroup G) [N.Normal] : β(N β H) = βN + βH - AddSubgroup.biSup_normal π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] {ΞΉ : Type u_5} (s : Set ΞΉ) (H : ΞΉ β AddSubgroup G) (h : β i β s, (H i).Normal) : (β¨ i β s, H i).Normal - QuotientAddGroup.Quotient.addGroup π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : AddGroup (G β§Έ N) - AddCon.addSubgroup_quotientAddGroupCon π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) [H.Normal] : (QuotientAddGroup.con H).addSubgroup = H - QuotientAddGroup.con π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : AddCon G - QuotientAddGroup.instNormalAddSubgroup π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (c : AddCon G) : c.addSubgroup.Normal - QuotientAddGroup.eq_iff_sub_mem π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] {N : AddSubgroup G} [nN : N.Normal] {x y : G} : βx = βy β x - y β N - AddSubgroup.orderIsoAddCon π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] : { N // N.Normal } βo AddCon G - QuotientAddGroup.ker_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : (QuotientAddGroup.mk' N).ker = N - QuotientAddGroup.con_mono π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] {N M : AddSubgroup G} [hN : N.Normal] [hM : M.Normal] (h : N β€ M) : QuotientAddGroup.con N β€ QuotientAddGroup.con M - QuotientAddGroup.con_le_iff π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] {N M : AddSubgroup G} [N.Normal] [M.Normal] : QuotientAddGroup.con N β€ QuotientAddGroup.con M β N β€ M - QuotientAddGroup.mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : G β+ G β§Έ N - QuotientAddGroup.preimage_image_coe π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (s : Set G) : QuotientAddGroup.mk β»ΒΉ' QuotientAddGroup.mk '' s = βN + s - QuotientAddGroup.range_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : (QuotientAddGroup.mk' N).range = β€ - QuotientAddGroup.map_mk'_self π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : AddSubgroup.map (QuotientAddGroup.mk' N) N = β₯ - QuotientAddGroup.mk_neg π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (a : G) : β(-a) = -βa - QuotientAddGroup.mk_zero π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : β0 = 0 - QuotientAddGroup.eq_zero_iff π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] {N : AddSubgroup G} [N.Normal] (x : G) : βx = 0 β x β N - QuotientAddGroup.mk_sub π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (a b : G) : β(a - b) = βa - βb - QuotientAddGroup.mk_zsmul π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (a : G) (n : β€) : β(n β’ a) = n β’ βa - QuotientAddGroup.lift π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] (N : AddSubgroup G) [nN : N.Normal] (Ο : G β+ M) (HN : N β€ Ο.ker) : G β§Έ N β+ M - QuotientAddGroup.image_coe π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : QuotientAddGroup.mk '' βN = 0 - QuotientAddGroup.mk_nsmul π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (a : G) (n : β) : β(n β’ a) = n β’ βa - QuotientAddGroup.image_coe_inj π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] {s t : Set G} : QuotientAddGroup.mk '' s = QuotientAddGroup.mk '' t β βN + s = βN + t - QuotientAddGroup.ker_lift π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] (N : AddSubgroup G) [nN : N.Normal] (Ο : G β+ M) (HN : N β€ Ο.ker) : (QuotientAddGroup.lift N Ο HN).ker = AddSubgroup.map (QuotientAddGroup.mk' N) Ο.ker - QuotientAddGroup.mk_add π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (a b : G) : β(a + b) = βa + βb - QuotientAddGroup.lift_comp_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] (N : AddSubgroup G) [nN : N.Normal] (Ο : G β+ M) (HN : N β€ Ο.ker) : (QuotientAddGroup.lift N Ο HN).comp (QuotientAddGroup.mk' N) = Ο - QuotientAddGroup.mk'_surjective π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : Function.Surjective β(QuotientAddGroup.mk' N) - QuotientAddGroup.coe_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : β(QuotientAddGroup.mk' N) = QuotientAddGroup.mk - QuotientAddGroup.map π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup H) [M.Normal] (f : G β+ H) (h : N β€ AddSubgroup.comap f M) : G β§Έ N β+ H β§Έ M - QuotientAddGroup.mk'_apply π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (x : G) : (QuotientAddGroup.mk' N) x = βx - QuotientAddGroup.liftEquiv π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] {Ο : G β+ H} (hΟ : Function.Surjective βΟ) (HN : N = Ο.ker) : G β§Έ N β+ H - QuotientAddGroup.ker_map π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup H) [M.Normal] (f : G β+ H) (h : N β€ AddSubgroup.comap f M) : (QuotientAddGroup.map N M f h).ker = AddSubgroup.map (QuotientAddGroup.mk' N) (AddSubgroup.comap f M) - QuotientAddGroup.injective_lift_iff π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] (N : AddSubgroup G) [nN : N.Normal] (Ο : G β+ M) (HN : N β€ Ο.ker) : Function.Injective β(QuotientAddGroup.lift N Ο HN) β N = Ο.ker - QuotientAddGroup.lift_mk π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] (N : AddSubgroup G) [nN : N.Normal] {Ο : G β+ M} (HN : N β€ Ο.ker) (g : G) : (QuotientAddGroup.lift N Ο HN) βg = Ο g - QuotientAddGroup.lift_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] (N : AddSubgroup G) [nN : N.Normal] {Ο : G β+ M} (HN : N β€ Ο.ker) (g : G) : (QuotientAddGroup.lift N Ο HN) βg = Ο g - QuotientAddGroup.lift_quot_mk π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] (N : AddSubgroup G) [nN : N.Normal] {Ο : G β+ M} (HN : N β€ Ο.ker) (g : G) : (QuotientAddGroup.lift N Ο HN) (Quot.mk (β(QuotientAddGroup.leftRel N)) g) = Ο g - QuotientAddGroup.lift_surjective_of_surjective π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] (N : AddSubgroup G) [nN : N.Normal] (Ο : G β+ M) (hΟ : Function.Surjective βΟ) (HN : N β€ Ο.ker) : Function.Surjective β(QuotientAddGroup.lift N Ο HN) - QuotientAddGroup.map_id π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (h : N β€ AddSubgroup.comap (AddMonoidHom.id G) N := β―) : QuotientAddGroup.map N N (AddMonoidHom.id G) h = AddMonoidHom.id (G β§Έ N) - QuotientAddGroup.mk'_eq_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] {x y : G} : (QuotientAddGroup.mk' N) x = (QuotientAddGroup.mk' N) y β β z β N, x + z = y - AddSubgroup.orderIsoAddCon_apply π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : { N // N.Normal }) : AddSubgroup.orderIsoAddCon N = QuotientAddGroup.con βN - QuotientAddGroup.map_id_apply π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (h : N β€ AddSubgroup.comap (AddMonoidHom.id G) N := β―) (x : G β§Έ N) : (QuotientAddGroup.map N N (AddMonoidHom.id G) h) x = x - QuotientAddGroup.addMonoidHom_ext π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] (N : AddSubgroup G) [nN : N.Normal] β¦f g : G β§Έ N β+ Mβ¦ (h : f.comp (QuotientAddGroup.mk' N) = g.comp (QuotientAddGroup.mk' N)) : f = g - QuotientAddGroup.addMonoidHom_ext_iff π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {M : Type u_4} [AddGroup G] [AddMonoid M] {N : AddSubgroup G} [nN : N.Normal] {f g : G β§Έ N β+ M} : f = g β f.comp (QuotientAddGroup.mk' N) = g.comp (QuotientAddGroup.mk' N) - QuotientAddGroup.congr π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (G' : AddSubgroup G) (H' : AddSubgroup H) [G'.Normal] [H'.Normal] (e : G β+ H) (he : AddSubgroup.map (βe) G' = H') : G β§Έ G' β+ H β§Έ H' - QuotientAddGroup.map_mk π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup H) [M.Normal] (f : G β+ H) (h : N β€ AddSubgroup.comap f M) (x : G) : (QuotientAddGroup.map N M f h) βx = β(f x) - QuotientAddGroup.map_surjective_of_surjective π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup H) [M.Normal] (f : G β+ H) (hf : Function.Surjective (QuotientAddGroup.mk β βf)) (h : N β€ AddSubgroup.comap f M) : Function.Surjective β(QuotientAddGroup.map N M f h) - QuotientAddGroup.liftEquiv_coe π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] {Ο : G β+ H} (hΟ : Function.Surjective βΟ) (HN : N = Ο.ker) (g : G) : (QuotientAddGroup.liftEquiv N hΟ HN) βg = Ο g - QuotientAddGroup.liftEquiv_mk π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] {Ο : G β+ H} (hΟ : Function.Surjective βΟ) (HN : N = Ο.ker) (g : G) : (QuotientAddGroup.liftEquiv N hΟ HN) βg = Ο g - AddSubgroup.orderIsoAddCon_symm_apply_coe π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (c : AddCon G) : β((RelIso.symm AddSubgroup.orderIsoAddCon) c) = c.addSubgroup - QuotientAddGroup.map_mk' π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup H) [M.Normal] (f : G β+ H) (h : N β€ AddSubgroup.comap f M) (x : G) : (QuotientAddGroup.map N M f h) ((QuotientAddGroup.mk' N) x) = β(f x) - QuotientAddGroup.mk'_comp_subtype π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : (QuotientAddGroup.mk' N).comp N.subtype = 0 - QuotientAddGroup.map_comp_map π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] {I : Type u_5} [AddGroup I] (M : AddSubgroup H) (O : AddSubgroup I) [M.Normal] [O.Normal] (f : G β+ H) (g : H β+ I) (hf : N β€ AddSubgroup.comap f M) (hg : M β€ AddSubgroup.comap g O) (hgf : N β€ AddSubgroup.comap (g.comp f) O := β―) : (QuotientAddGroup.map M O g hg).comp (QuotientAddGroup.map N M f hf) = QuotientAddGroup.map N O (g.comp f) hgf - QuotientAddGroup.ker_le_range_iff π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} {I : Type u_3} [AddGroup G] [AddGroup H] [AddZeroClass I] (f : G β+ H) [f.range.Normal] (g : H β+ I) : g.ker β€ f.range β (QuotientAddGroup.mk' f.range).comp g.ker.subtype = 0 - QuotientAddGroup.map_map π Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} {H : Type u_2} [AddGroup G] [AddGroup H] (N : AddSubgroup G) [nN : N.Normal] {I : Type u_5} [AddGroup I] (M : AddSubgroup H) (O : AddSubgroup I) [M.Normal] [O.Normal] (f : G β+ H) (g : H β+ I) (hf : N β€ AddSubgroup.comap f M) (hg : M β€ AddSubgroup.comap g O) (hgf : N β€ AddSubgroup.comap (g.comp f) O := β―) (x : G β§Έ N) : (QuotientAddGroup.map M O g hg) ((QuotientAddGroup.map N M f hf) x) = (QuotientAddGroup.map N O (g.comp f) hgf) x - QuotientAddGroup.fg π Mathlib.GroupTheory.Finiteness
{G : Type u_3} [AddGroup G] [AddGroup.FG G] (N : AddSubgroup G) [N.Normal] : AddGroup.FG (G β§Έ N) - instNormalAddCommutator π Mathlib.GroupTheory.Commutator.Basic
(G : Type u_1) [AddGroup G] : (addCommutator G).Normal - AddSubgroup.Normal.of_addCommutator_le π Mathlib.GroupTheory.Commutator.Basic
(G : Type u_1) [AddGroup G] {H : AddSubgroup G} (h : addCommutator G β€ H) : H.Normal - AddSubgroup.addCommutator_normal π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] (Hβ Hβ : AddSubgroup G) [hβ : Hβ.Normal] [hβ : Hβ.Normal] : β Hβ, Hββ.Normal - AddSubgroup.addCommutator_le_left π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] (Hβ Hβ : AddSubgroup G) [Hβ.Normal] : β Hβ, Hββ β€ Hβ - AddSubgroup.addCommutator_le_right π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] (Hβ Hβ : AddSubgroup G) [h : Hβ.Normal] : β Hβ, Hββ β€ Hβ - AddSubgroup.addCommutator_top_left_le_iff π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} : β β€, Hβ β€ H β H.Normal - AddSubgroup.addCommutator_top_right_le_iff π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} : β H, β€β β€ H β H.Normal - AddSubgroup.addCommutator_le_inf π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] (Hβ Hβ : AddSubgroup G) [Hβ.Normal] [Hβ.Normal] : β Hβ, Hββ β€ Hβ β Hβ - AddSubgroup.Normal.addCommutator_le_of_self_sup_commutative_eq_top π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] {N : AddSubgroup G} [N.Normal] {H : AddSubgroup G} (hHN : N β H = β€) (hH : IsAddCommutative β₯H) : addCommutator G β€ N - AddSubgroup.addCommutator_def' π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] (Hβ Hβ : AddSubgroup G) [Hβ.Normal] [Hβ.Normal] : β Hβ, Hββ = AddSubgroup.normalClosure {g | β gβ β Hβ, β gβ β Hβ, β gβ, gββ = g} - AddSubgroup.addCommutator_sup_left π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] (N H K : AddSubgroup G) [N.Normal] : β N, H β Kβ = β N, Hβ β β N, Kβ - AddSubgroup.addCommutator_sup_right π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] (H K N : AddSubgroup G) [N.Normal] : β H β K, Nβ = β H, Nβ β β K, Nβ - AddSubgroup.Normal.quotient_commutative_iff_addCommutator_le π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] {N : AddSubgroup G} [N.Normal] : IsAddCommutative (G β§Έ N) β addCommutator G β€ N - AddSubgroup.normal_addSubgroupOf_addCommutator_sup π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [AddGroup G] (Hβ Hβ : AddSubgroup G) : (β Hβ, Hββ.addSubgroupOf (Hβ β Hβ)).Normal - fixedPointsSubAddOfNormal π Mathlib.GroupTheory.GroupAction.SubMulAction
{G : Type u_1} [AddGroup G] {Ξ± : Type u_2} [AddAction G Ξ±] {H : AddSubgroup G} [hH : H.Normal] : SubAddAction G Ξ± - vadd_mem_fixedPoints_of_normal π Mathlib.GroupTheory.GroupAction.SubMulAction
{G : Type u_1} [AddGroup G] {Ξ± : Type u_2} [AddAction G Ξ±] {H : AddSubgroup G} [hH : H.Normal] (g : G) {a : Ξ±} (ha : a β AddAction.fixedPoints (β₯H) Ξ±) : g +α΅₯ a β AddAction.fixedPoints (β₯H) Ξ± - eq_addCosets_of_normal π Mathlib.GroupTheory.Coset.Basic
{Ξ± : Type u_1} [AddGroup Ξ±] (s : AddSubgroup Ξ±) (N : s.Normal) (g : Ξ±) : g +α΅₯ βs = AddOpposite.op g +α΅₯ βs - normal_of_eq_addCosets π Mathlib.GroupTheory.Coset.Basic
{Ξ± : Type u_1} [AddGroup Ξ±] (s : AddSubgroup Ξ±) (h : β (g : Ξ±), g +α΅₯ βs = AddOpposite.op g +α΅₯ βs) : s.Normal - normal_iff_eq_addCosets π Mathlib.GroupTheory.Coset.Basic
{Ξ± : Type u_1} [AddGroup Ξ±] (s : AddSubgroup Ξ±) : s.Normal β β (g : Ξ±), g +α΅₯ βs = AddOpposite.op g +α΅₯ βs - QuotientAddGroup.map_normal π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup G) [nM : M.Normal] : (AddSubgroup.map (QuotientAddGroup.mk' N) M).Normal - QuotientAddGroup.le_comap_mk' π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [N.Normal] (H : AddSubgroup (G β§Έ N)) : N β€ AddSubgroup.comap (QuotientAddGroup.mk' N) H - QuotientAddGroup.comap_map_mk' π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N H : AddSubgroup G) [N.Normal] : AddSubgroup.comap (QuotientAddGroup.mk' N) (AddSubgroup.map (QuotientAddGroup.mk' N) H) = N β H - QuotientAddGroup.comapMk'OrderIso π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [hn : N.Normal] : AddSubgroup (G β§Έ N) βo { H // N β€ H } - QuotientAddGroup.quotientAddEquivOfEq π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] {M N : AddSubgroup G} [M.Normal] [N.Normal] (h : M = N) : G β§Έ M β+ G β§Έ N - QuotientAddGroup.mk_int_mul π Mathlib.GroupTheory.QuotientGroup.Basic
{R : Type u_1} [NonAssocRing R] (N : AddSubgroup R) [N.Normal] (n : β€) (a : R) : β(βn * a) = n β’ βa - QuotientAddGroup.mk_nat_mul π Mathlib.GroupTheory.QuotientGroup.Basic
{R : Type u_1} [NonAssocRing R] (N : AddSubgroup R) [N.Normal] (n : β) (a : R) : β(βn * a) = n β’ βa - QuotientAddGroup.strictMono_comap_prod_map π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : StrictMono fun H => (AddSubgroup.comap N.subtype H, AddSubgroup.map (QuotientAddGroup.mk' N) H) - QuotientAddGroup.prodAddEquiv π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] {H : Type v} [AddGroup H] (A : AddSubgroup G) (B : AddSubgroup H) [A.Normal] [B.Normal] : (G Γ H) β§Έ A.prod B β+ (G β§Έ A) Γ H β§Έ B - QuotientAddGroup.comap_comap_center π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] {Hβ : AddSubgroup G} [Hβ.Normal] {Hβ : AddSubgroup (G β§Έ Hβ)} [Hβ.Normal] : AddSubgroup.comap (QuotientAddGroup.mk' Hβ) (AddSubgroup.comap (QuotientAddGroup.mk' Hβ) (AddSubgroup.center ((G β§Έ Hβ) β§Έ Hβ))) = AddSubgroup.comap (QuotientAddGroup.mk' (AddSubgroup.comap (QuotientAddGroup.mk' Hβ) Hβ)) (AddSubgroup.center (G β§Έ AddSubgroup.comap (QuotientAddGroup.mk' Hβ) Hβ)) - QuotientAddGroup.quotientQuotientEquivQuotientAux π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup G) [nM : M.Normal] (h : N β€ M) : (G β§Έ N) β§Έ AddSubgroup.map (QuotientAddGroup.mk' N) M β+ G β§Έ M - QuotientAddGroup.quotientAddEquivOfEq_mk π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] {M N : AddSubgroup G} [M.Normal] [N.Normal] (h : M = N) (x : G) : (QuotientAddGroup.quotientAddEquivOfEq h) βx = βx - QuotientAddGroup.sound π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (U : Set (G β§Έ N)) (g : β₯N.op) : g +α΅₯ β(QuotientAddGroup.mk' N) β»ΒΉ' U = β(QuotientAddGroup.mk' N) β»ΒΉ' U - QuotientAddGroup.quotientQuotientEquivQuotient π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup G) [nM : M.Normal] (h : N β€ M) : (G β§Έ N) β§Έ AddSubgroup.map (QuotientAddGroup.mk' N) M β+ G β§Έ M - QuotientAddGroup.quotientMapAddSubgroupOfOfLe π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] {A' A B' B : AddSubgroup G} [_hAN : (A'.addSubgroupOf A).Normal] [_hBN : (B'.addSubgroupOf B).Normal] (h' : A' β€ B') (h : A β€ B) : β₯A β§Έ A'.addSubgroupOf A β+ β₯B β§Έ B'.addSubgroupOf B - QuotientAddGroup.equivQuotientAddSubgroupOfOfEq π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] {A' A B' B : AddSubgroup G} [hAN : (A'.addSubgroupOf A).Normal] [hBN : (B'.addSubgroupOf B).Normal] (h' : A' = B') (h : A = B) : β₯A β§Έ A'.addSubgroupOf A β+ β₯B β§Έ B'.addSubgroupOf B - QuotientAddGroup.quotientQuotientEquivQuotientAux_mk_mk π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup G) [nM : M.Normal] (h : N β€ M) (x : G) : (QuotientAddGroup.quotientQuotientEquivQuotientAux N M h) ββx = βx - QuotientAddGroup.quotientQuotientEquivQuotientAux_mk π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup G) [nM : M.Normal] (h : N β€ M) (x : G β§Έ N) : (QuotientAddGroup.quotientQuotientEquivQuotientAux N M h) βx = (QuotientAddGroup.map N M (AddMonoidHom.id G) h) x - QuotientAddGroup.prodAddEquiv_apply π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] {H : Type v} [AddGroup H] (A : AddSubgroup G) (B : AddSubgroup H) [A.Normal] [B.Normal] (q : (G Γ H) β§Έ A.prod B) : (QuotientAddGroup.prodAddEquiv A B) q = Quotient.liftOn' q (fun x => (βx.1, βx.2)) β― - AddMonoidHom.domRestrictHomKerEquiv π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (A : Type u_1) [AddCommGroup A] (H : AddSubgroup G) [H.Normal] : β₯(AddMonoidHom.domRestrictHom H A).ker β+ (G β§Έ H β+ A) - AddMonoidHom.restrictHomKerEquiv π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (A : Type u_1) [AddCommGroup A] (H : AddSubgroup G) [H.Normal] : β₯(AddMonoidHom.domRestrictHom H A).ker β+ (G β§Έ H β+ A) - QuotientAddGroup.prodAddEquiv_symm_apply π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] {H : Type v} [AddGroup H] (A : AddSubgroup G) (B : AddSubgroup H) [A.Normal] [B.Normal] (q : (G β§Έ A) Γ H β§Έ B) : (QuotientAddGroup.prodAddEquiv A B).symm q = Quotient.liftOnβ' q.1 q.2 (fun g h => β(g, h)) β― - QuotientAddGroup.quotientQuotientEquivQuotient_apply_mk π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup G) [nM : M.Normal] (h : N β€ M) (x : G) : (QuotientAddGroup.quotientQuotientEquivQuotient N M h) ββx = βx - QuotientAddGroup.quotientInfEquivSumNormalQuotient π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (H N : AddSubgroup G) [hN : N.Normal] : β₯H β§Έ N.addSubgroupOf H β+ β₯(H β N) β§Έ N.addSubgroupOf (H β N) - QuotientAddGroup.quotientQuotientEquivQuotient_symm_mk π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] (M : AddSubgroup G) [nM : M.Normal] (h : N β€ M) (x : G) : (QuotientAddGroup.quotientQuotientEquivQuotient N M h).symm βx = ββx - QuotientAddGroup.quotientMapAddSubgroupOfOfLe_mk π Mathlib.GroupTheory.QuotientGroup.Basic
{G : Type u} [AddGroup G] {A' A B' B : AddSubgroup G} [_hAN : (A'.addSubgroupOf A).Normal] [_hBN : (B'.addSubgroupOf B).Normal] (h' : A' β€ B') (h : A β€ B) (x : β₯A) : (QuotientAddGroup.quotientMapAddSubgroupOfOfLe h' h) βx = β((AddSubgroup.inclusion h) x) - AddGroup.fintypeOfDomOfCoker π Mathlib.GroupTheory.QuotientGroup.Finite
{F : Type u_1} {G : Type u_2} [AddGroup F] [AddGroup G] [Fintype F] (f : F β+ G) [f.range.Normal] [Fintype (G β§Έ f.range)] : Fintype G - AddAction.right_quotientAction' π Mathlib.GroupTheory.GroupAction.Quotient
{G : Type u} [AddGroup G] (H : AddSubgroup G) [hH : H.Normal] : AddAction.QuotientAction Gα΅α΅α΅ H - AddAction.coe_quotient_vadd π Mathlib.GroupTheory.GroupAction.Quotient
{G : Type u} {X : Type v} [AddGroup G] {H : AddSubgroup G} [H.Normal] [VAdd G X] [AddAction (G β§Έ H) X] [VAddAssocClass G (G β§Έ H) X] (g : G) (x : X) : βg +α΅₯ x = g +α΅₯ x - AddSubgroup.relIndex_dvd_index_of_normal π Mathlib.GroupTheory.Index
{G : Type u_1} [AddGroup G] (H K : AddSubgroup G) [H.Normal] : H.relIndex K β£ H.index - AddSubgroup.relIndex_sup_left π Mathlib.GroupTheory.Index
{G : Type u_1} [AddGroup G] (H K : AddSubgroup G) [K.Normal] : K.relIndex (K β H) = K.relIndex H - AddSubgroup.relIndex_sup_right π Mathlib.GroupTheory.Index
{G : Type u_1} [AddGroup G] (H K : AddSubgroup G) [K.Normal] : K.relIndex (H β K) = K.relIndex H - AddSubgroup.nsmul_index_mem π Mathlib.GroupTheory.OrderOfElement
{G : Type u_6} [AddGroup G] (H : AddSubgroup G) [H.Normal] (g : G) : H.index β’ g β H - AddSubgroup.nsmul_relIndex_mem π Mathlib.GroupTheory.OrderOfElement
{G : Type u_6} [AddGroup G] (H : AddSubgroup G) [H.Normal] {K : AddSubgroup G} {g : G} (hg : g β K) : H.relIndex K β’ g β H - AddSubgroup.is_normal_topologicalClosure π Mathlib.Topology.Algebra.Group.Subgroup
{G : Type u_3} [TopologicalSpace G] [AddGroup G] [IsTopologicalAddGroup G] (N : AddSubgroup G) [N.Normal] : N.topologicalClosure.Normal - QuotientAddGroup.instIsTopologicalAddGroup π Mathlib.Topology.Algebra.Group.Quotient
{G : Type u_1} [TopologicalSpace G] [AddGroup G] [IsTopologicalAddGroup G] (N : AddSubgroup G) [N.Normal] : IsTopologicalAddGroup (G β§Έ N) - QuotientAddGroup.instT3Space π Mathlib.Topology.Algebra.Group.Quotient
{G : Type u_1} [TopologicalSpace G] [AddGroup G] [IsTopologicalAddGroup G] (N : AddSubgroup G) [N.Normal] [hN : IsClosed βN] : T3Space (G β§Έ N) - QuotientAddGroup.completeSpace_left' π Mathlib.Topology.Algebra.IsUniformGroup.Basic
(G : Type u) [AddGroup G] [TopologicalSpace G] [IsTopologicalAddGroup G] [FirstCountableTopology G] (N : AddSubgroup G) [N.Normal] [hG : CompleteSpace G] : CompleteSpace (G β§Έ N) - QuotientAddGroup.completeSpace_right' π Mathlib.Topology.Algebra.IsUniformGroup.Basic
(G : Type u) [AddGroup G] [TopologicalSpace G] [IsTopologicalAddGroup G] [FirstCountableTopology G] (N : AddSubgroup G) [N.Normal] [CompleteSpace G] : CompleteSpace (G β§Έ N) - QuotientAddGroup.completeSpace_left π Mathlib.Topology.Algebra.IsUniformGroup.Basic
(G : Type u_1) [AddGroup G] [us : UniformSpace G] [IsLeftUniformAddGroup G] [FirstCountableTopology G] (N : AddSubgroup G) [N.Normal] [hG : CompleteSpace G] : CompleteSpace (G β§Έ N) - QuotientAddGroup.completeSpace_right π Mathlib.Topology.Algebra.IsUniformGroup.Basic
(G : Type u_1) [AddGroup G] [us : UniformSpace G] [IsRightUniformAddGroup G] [FirstCountableTopology G] (N : AddSubgroup G) [N.Normal] [hG : CompleteSpace G] : CompleteSpace (G β§Έ N) - AddGroup.exponent_quotient_dvd π Mathlib.GroupTheory.Exponent
{G : Type u} [AddGroup G] (H : AddSubgroup G) [H.Normal] : AddMonoid.exponent (G β§Έ H) β£ AddMonoid.exponent G - IsSimpleAddGroup.eq_bot_or_eq_top_of_normal π Mathlib.GroupTheory.Subgroup.Simple
{A : Type u_2} {instβ : AddGroup A} [self : IsSimpleAddGroup A] (H : AddSubgroup A) : H.Normal β H = β₯ β¨ H = β€ - AddSubgroup.Normal.eq_bot_or_eq_top π Mathlib.GroupTheory.Subgroup.Simple
{G : Type u_1} [AddGroup G] [IsSimpleAddGroup G] {H : AddSubgroup G} (Hn : H.Normal) : H = β₯ β¨ H = β€ - IsSimpleAddGroup.mk π Mathlib.GroupTheory.Subgroup.Simple
{A : Type u_2} [AddGroup A] [toNontrivial : Nontrivial A] (eq_bot_or_eq_top_of_normal : β (H : AddSubgroup A), H.Normal β H = β₯ β¨ H = β€) : IsSimpleAddGroup A - isSimpleAddGroup_iff π Mathlib.GroupTheory.Subgroup.Simple
(A : Type u_2) [AddGroup A] : IsSimpleAddGroup A β Nontrivial A β§ β (H : AddSubgroup A), H.Normal β H = β₯ β¨ H = β€ - AddSubgroup.isSimpleAddGroup_iff π Mathlib.GroupTheory.Subgroup.Simple
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} : IsSimpleAddGroup β₯H β H β β₯ β§ β H' β€ H, (H'.addSubgroupOf H).Normal β H' = β₯ β¨ H' = H - QuotientAddGroup.borelSpace π Mathlib.MeasureTheory.Constructions.Polish.Basic
{G : Type u_3} [TopologicalSpace G] [PolishSpace G] [AddGroup G] [IsTopologicalAddGroup G] [MeasurableSpace G] [BorelSpace G] {N : AddSubgroup G} [N.Normal] [IsClosed βN] : BorelSpace (G β§Έ N) - AddSubgroup.Normal.pathComponentZero π Mathlib.Topology.Connected.PathConnected
(G : Type u_4) [AddGroup G] [TopologicalSpace G] [IsTopologicalAddGroup G] : (AddSubgroup.pathComponentZero G).Normal - OpenNormalAddSubgroup.instNormal π Mathlib.Topology.Algebra.OpenSubgroup
{G : Type u} [AddGroup G] [TopologicalSpace G] (H : OpenNormalAddSubgroup G) : (βH.toOpenAddSubgroup).Normal - OpenNormalAddSubgroup.isNormal' π Mathlib.Topology.Algebra.OpenSubgroup
{G : Type u} [AddGroup G] [TopologicalSpace G] (self : OpenNormalAddSubgroup G) : (βself.toOpenAddSubgroup).Normal - OpenNormalAddSubgroup.mk π Mathlib.Topology.Algebra.OpenSubgroup
{G : Type u} [AddGroup G] [TopologicalSpace G] (toOpenAddSubgroup : OpenAddSubgroup G) (isNormal' : (βtoOpenAddSubgroup).Normal := by infer_instance) : OpenNormalAddSubgroup G - MeasureTheory.AddQuotientMeasureEqMeasurePreimage.addHaarMeasure_quotient π Mathlib.MeasureTheory.Measure.Haar.Quotient
{G : Type u_1} [AddGroup G] [MeasurableSpace G] [TopologicalSpace G] [IsTopologicalAddGroup G] [BorelSpace G] [PolishSpace G] {Ξ : AddSubgroup G} [Ξ.Normal] [T2Space (G β§Έ Ξ)] [SecondCountableTopology (G β§Έ Ξ)] {ΞΌ : MeasureTheory.Measure (G β§Έ Ξ)} [Countable β₯Ξ] (Ξ½ : MeasureTheory.Measure G) [Ξ½.IsAddHaarMeasure] [Ξ½.IsAddRightInvariant] [LocallyCompactSpace G] [MeasureTheory.AddQuotientMeasureEqMeasurePreimage Ξ½ ΞΌ] [i : MeasureTheory.HasAddFundamentalDomain (β₯Ξ.op) G Ξ½] [MeasureTheory.IsFiniteMeasure ΞΌ] : ΞΌ.IsAddHaarMeasure - MeasureTheory.AddQuotientMeasureEqMeasurePreimage.addInvariantMeasure_quotient π Mathlib.MeasureTheory.Measure.Haar.Quotient
{G : Type u_1} [AddGroup G] [MeasurableSpace G] [TopologicalSpace G] [IsTopologicalAddGroup G] [BorelSpace G] [PolishSpace G] {Ξ : AddSubgroup G} [Ξ.Normal] [T2Space (G β§Έ Ξ)] [SecondCountableTopology (G β§Έ Ξ)] {ΞΌ : MeasureTheory.Measure (G β§Έ Ξ)} (Ξ½ : MeasureTheory.Measure G) [Ξ½.IsAddLeftInvariant] [hasFun : MeasureTheory.HasAddFundamentalDomain (β₯Ξ.op) G Ξ½] [MeasureTheory.AddQuotientMeasureEqMeasurePreimage Ξ½ ΞΌ] : ΞΌ.IsAddLeftInvariant - IsFundamentalDomain.AddQuotientMeasureEqMeasurePreimage_vaddAddHaarMeasure π Mathlib.MeasureTheory.Measure.Haar.Quotient
{G : Type u_1} [AddGroup G] [MeasurableSpace G] [TopologicalSpace G] [IsTopologicalAddGroup G] [BorelSpace G] [PolishSpace G] {Ξ : AddSubgroup G} [Ξ.Normal] [T2Space (G β§Έ Ξ)] [SecondCountableTopology (G β§Έ Ξ)] [Countable β₯Ξ] (Ξ½ : MeasureTheory.Measure G) [Ξ½.IsAddHaarMeasure] [Ξ½.IsAddRightInvariant] [MeasureTheory.SigmaFinite Ξ½] (K : TopologicalSpace.PositiveCompacts (G β§Έ Ξ)) {π : Set G} (hπ : MeasureTheory.IsAddFundamentalDomain (β₯Ξ.op) π Ξ½) (hπ_finite : Ξ½ π β β€) : MeasureTheory.AddQuotientMeasureEqMeasurePreimage Ξ½ (Ξ½ (QuotientAddGroup.mk β»ΒΉ' βK β© π) β’ MeasureTheory.Measure.addHaarMeasure K)
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