Loogle!
Result
Found 456 declarations mentioning AddSubgroup and AddMonoidHom. Of these, only the first 200 are shown.
- AddSubgroup.subtype ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) : โฅH โ+ G - AddSubgroup.inclusion ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} (h : H โค K) : โฅH โ+ โฅK - AddSubgroup.subtype_injective ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] (s : AddSubgroup G) : Function.Injective โs.subtype - AddSubgroup.coe_subtype ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) : โH.subtype = Subtype.val - AddSubgroup.subtype_apply ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {s : AddSubgroup G} (x : โฅs) : s.subtype x = โx - AddSubgroup.subtype_comp_inclusion ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} (hH : H โค K) : K.subtype.comp (AddSubgroup.inclusion hH) = H.subtype - AddSubgroup.subtype.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] (H : AddSubgroup G) : H.subtype = { toFun := Subtype.val, map_zero' := โฏ, map_add' := โฏ } - AddSubgroup.inclusion.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} (h : H โค K) : AddSubgroup.inclusion h = AddMonoidHom.mk' (fun x => โจโx, โฏโฉ) โฏ - AddSubgroup.inclusion_injective ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} (h : H โค K) : Function.Injective โ(AddSubgroup.inclusion h) - AddSubgroup.coe_inclusion ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} (h : H โค K) (a : โฅH) : โ((AddSubgroup.inclusion h) a) = โa - AddSubgroup.inclusion_inj ๐ Mathlib.Algebra.Group.Subgroup.Defs
{G : Type u_1} [AddGroup G] {H K : AddSubgroup G} (h : H โค K) {x y : โฅH} : (AddSubgroup.inclusion h) x = (AddSubgroup.inclusion h) y โ x = y - AddSubgroup.comap ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_7} [AddGroup N] (f : G โ+ N) (H : AddSubgroup N) : AddSubgroup G - AddSubgroup.map ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (H : AddSubgroup G) : AddSubgroup N - AddSubgroup.comap_top ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : AddSubgroup.comap f โค = โค - AddSubgroup.map_bot ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : AddSubgroup.map f โฅ = โฅ - AddSubgroup.le_comap_map ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (H : AddSubgroup G) : H โค AddSubgroup.comap f (AddSubgroup.map f H) - AddSubgroup.map_comap_le ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (H : AddSubgroup N) : AddSubgroup.map f (AddSubgroup.comap f H) โค H - AddSubgroup.comap_iInf ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {ฮน : Sort u_7} (f : G โ+ N) (s : ฮน โ AddSubgroup N) : AddSubgroup.comap f (iInf s) = โจ i, AddSubgroup.comap f (s i) - AddSubgroup.comap_inf ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H K : AddSubgroup N) (f : G โ+ N) : AddSubgroup.comap f (H โ K) = AddSubgroup.comap f H โ AddSubgroup.comap f K - AddSubgroup.gc_map_comap ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : GaloisConnection (AddSubgroup.map f) (AddSubgroup.comap f) - AddSubgroup.map_iSup ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {ฮน : Sort u_7} (f : G โ+ N) (s : ฮน โ AddSubgroup G) : AddSubgroup.map f (iSup s) = โจ i, AddSubgroup.map f (s i) - AddSubgroup.map_isAddCommutative ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (H : AddSubgroup G) (f : G โ+ G') [IsAddCommutative โฅH] : IsAddCommutative โฅ(AddSubgroup.map f H) - AddSubgroup.map_zero_eq_bot ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] (K : AddSubgroup G) {N : Type u_5} [AddGroup N] : AddSubgroup.map 0 K = โฅ - AddSubgroup.map_inf_le ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H K : AddSubgroup G) (f : G โ+ N) : AddSubgroup.map f (H โ K) โค AddSubgroup.map f H โ AddSubgroup.map f K - AddSubgroup.comap_mono ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {K K' : AddSubgroup N} : K โค K' โ AddSubgroup.comap f K โค AddSubgroup.comap f K' - AddSubgroup.map_mono ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {K K' : AddSubgroup G} : K โค K' โ AddSubgroup.map f K โค AddSubgroup.map f K' - AddSubgroup.map_le_iff_le_comap ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {K : AddSubgroup G} {H : AddSubgroup N} : AddSubgroup.map f K โค H โ K โค AddSubgroup.comap f H - AddMonoidHom.map_closure ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (s : Set G) : AddSubgroup.map f (AddSubgroup.closure s) = AddSubgroup.closure (โf '' s) - AddSubgroup.map_sup ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H K : AddSubgroup G) (f : G โ+ N) : AddSubgroup.map f (H โ K) = AddSubgroup.map f H โ AddSubgroup.map f K - AddSubgroup.map_top_of_surjective ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (h : Function.Surjective โf) : AddSubgroup.map f โค = โค - AddSubgroup.iSup_comap_le ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {ฮน : Sort u_7} (f : G โ+ N) (s : ฮน โ AddSubgroup N) : โจ i, AddSubgroup.comap f (s i) โค AddSubgroup.comap f (iSup s) - AddSubgroup.coe_comap ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (K : AddSubgroup N) (f : G โ+ N) : โ(AddSubgroup.comap f K) = โf โปยน' โK - AddSubgroup.coe_map ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (K : AddSubgroup G) : โ(AddSubgroup.map f K) = โf '' โK - AddSubgroup.comap_comap ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {P : Type u_6} [AddGroup P] (K : AddSubgroup P) (g : N โ+ P) (f : G โ+ N) : AddSubgroup.comap f (AddSubgroup.comap g K) = AddSubgroup.comap (g.comp f) K - AddSubgroup.map_map ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] (K : AddSubgroup G) {N : Type u_5} [AddGroup N] {P : Type u_6} [AddGroup P] (g : N โ+ P) (f : G โ+ N) : AddSubgroup.map g (AddSubgroup.map f K) = AddSubgroup.map (g.comp f) K - AddSubgroup.mem_map_of_mem ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) {K : AddSubgroup G} {x : G} (hx : x โ K) : f x โ AddSubgroup.map f K - AddSubgroup.mem_comap ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {K : AddSubgroup N} {f : G โ+ N} {x : G} : x โ AddSubgroup.comap f K โ f x โ K - AddMonoidHom.closure_preimage_le ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (s : Set N) : AddSubgroup.closure (โf โปยน' s) โค AddSubgroup.comap f (AddSubgroup.closure s) - AddSubgroup.comap_sup_comap_le ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H K : AddSubgroup N) (f : G โ+ N) : AddSubgroup.comap f H โ AddSubgroup.comap f K โค AddSubgroup.comap f (H โ K) - AddSubgroup.map_iInf ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {ฮน : Sort u_7} [Nonempty ฮน] (f : G โ+ N) (hf : Function.Injective โf) (s : ฮน โ AddSubgroup G) : AddSubgroup.map f (iInf s) = โจ i, AddSubgroup.map f (s i) - AddSubgroup.map_inf ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H K : AddSubgroup G) (f : G โ+ N) (hf : Function.Injective โf) : AddSubgroup.map f (H โ K) = AddSubgroup.map f H โ AddSubgroup.map f K - AddSubgroup.map_inf_eq ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H K : AddSubgroup G) (f : G โ+ N) (hf : Function.Injective โf) : AddSubgroup.map f (H โ K) = AddSubgroup.map f H โ AddSubgroup.map f K - AddSubgroup.mem_map ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {K : AddSubgroup G} {y : N} : y โ AddSubgroup.map f K โ โ x โ K, f x = y - AddSubgroup.surjOn_iff_le_map ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {H : AddSubgroup G} {K : AddSubgroup N} : Set.SurjOn โf โH โK โ K โค AddSubgroup.map f H - AddSubgroup.apply_coe_mem_map ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (K : AddSubgroup G) (x : โฅK) : f โx โ AddSubgroup.map f K - AddSubgroup.map_toAddSubmonoid ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G โ+ G') (K : AddSubgroup G) : (AddSubgroup.map f K).toAddSubmonoid = AddSubmonoid.map f K.toAddSubmonoid - AddSubgroup.equivMapOfInjective ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H : AddSubgroup G) (f : G โ+ N) (hf : Function.Injective โf) : โฅH โ+ โฅ(AddSubgroup.map f H) - AddSubgroup.comap_injective_isAddCommutative ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (H : AddSubgroup G) {f : G' โ+ G} (hf : Function.Injective โf) [IsAddCommutative โฅH] : IsAddCommutative โฅ(AddSubgroup.comap f H) - AddSubgroup.comap.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_7} [AddGroup N] (f : G โ+ N) (H : AddSubgroup N) : AddSubgroup.comap f H = { carrier := โf โปยน' โH, add_mem' := โฏ, zero_mem' := โฏ, neg_mem' := โฏ } - AddSubgroup.map.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (H : AddSubgroup G) : AddSubgroup.map f H = { carrier := โf '' โH, add_mem' := โฏ, zero_mem' := โฏ, neg_mem' := โฏ } - AddSubgroup.mem_map_iff_mem ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (hf : Function.Injective โf) {K : AddSubgroup G} {x : G} : f x โ AddSubgroup.map f K โ x โ K - AddSubgroup.codisjoint_map ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (hf : Function.Surjective โf) {H K : AddSubgroup G} (h : Codisjoint H K) : Codisjoint (AddSubgroup.map f H) (AddSubgroup.map f K) - AddSubgroup.disjoint_map ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (hf : Function.Injective โf) {H K : AddSubgroup G} (h : Disjoint H K) : Disjoint (AddSubgroup.map f H) (AddSubgroup.map f K) - AddMonoidHom.addSubgroupComap ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G โ+ G') (H' : AddSubgroup G') : โฅ(AddSubgroup.comap f H') โ+ โฅH' - AddMonoidHom.addSubgroupMap ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G โ+ G') (H : AddSubgroup G) : โฅH โ+ โฅ(AddSubgroup.map f H) - AddSubgroup.map_eq_comap_of_inverse ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {g : N โ+ G} (hl : Function.LeftInverse โg โf) (hr : Function.RightInverse โg โf) (H : AddSubgroup G) : AddSubgroup.map f H = AddSubgroup.comap g H - AddSubgroup.equivMapOfInjective.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H : AddSubgroup G) (f : G โ+ N) (hf : Function.Injective โf) : H.equivMapOfInjective f hf = { toEquiv := Equiv.Set.image (โf) (โH) hf, map_add' := โฏ } - AddMonoidHom.addSubgroupComap.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G โ+ G') (H' : AddSubgroup G') : f.addSubgroupComap H' = f.addSubmonoidComap H'.toAddSubmonoid - AddMonoidHom.addSubgroupMap.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G โ+ G') (H : AddSubgroup G) : f.addSubgroupMap H = f.addSubmonoidMap H.toAddSubmonoid - AddSubgroup.comap_toAddSubmonoid ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (e : G โ+ N) (s : AddSubgroup N) : (AddSubgroup.comap (โe) s).toAddSubmonoid = AddSubmonoid.comap e.toAddMonoidHom s.toAddSubmonoid - AddSubgroup.coe_addSubgroupOf ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] (H K : AddSubgroup G) : โ(H.addSubgroupOf K) = โK.subtype โปยน' โH - AddSubgroup.coe_equivMapOfInjective_apply ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H : AddSubgroup G) (f : G โ+ N) (hf : Function.Injective โf) (h : โฅH) : โ((H.equivMapOfInjective f hf) h) = f โh - AddMonoidHom.addSubgroupMap_surjective ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G โ+ G') (H : AddSubgroup G) : Function.Surjective โ(f.addSubgroupMap H) - AddMonoidHom.addSubgroupComap_surjective_of_surjective ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G โ+ G') (H' : AddSubgroup G') (hf : Function.Surjective โf) : Function.Surjective โ(f.addSubgroupComap H') - AddSubgroup.toSubgroup_comap ๐ Mathlib.Algebra.Group.Subgroup.Map
{A : Type u_7} {Aโ : Type u_8} [AddGroup A] [AddGroup Aโ] (f : A โ+ Aโ) (s : AddSubgroup Aโ) : Subgroup.comap (AddMonoidHom.toMultiplicative f) (AddSubgroup.toSubgroup s) = AddSubgroup.toSubgroup (AddSubgroup.comap f s) - Subgroup.toAddSubgroup_comap ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} [Group G] {Gโ : Type u_7} [Group Gโ] (f : G โ* Gโ) (s : Subgroup Gโ) : AddSubgroup.comap (MonoidHom.toAdditive f) (Subgroup.toAddSubgroup s) = Subgroup.toAddSubgroup (Subgroup.comap f s) - AddMonoidHom.addSubgroupMap_apply_coe ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G โ+ G') (H : AddSubgroup G) (x : โฅH.toAddSubmonoid) : โ((f.addSubgroupMap H) x) = f โx - AddMonoidHom.addSubgroupComap_apply_coe ๐ Mathlib.Algebra.Group.Subgroup.Map
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G โ+ G') (H' : AddSubgroup G') (x : โฅ(AddSubmonoid.comap f H'.toAddSubmonoid)) : โ((f.addSubgroupComap H') x) = f โx - AddMonoidHom.ker ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] (f : G โ+ M) : AddSubgroup G - AddMonoidHom.range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : AddSubgroup N - AddMonoidHom.eqLocus ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddMonoid M] (f g : G โ+ M) : AddSubgroup G - AddMonoidHom.decidableMemKer ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] [DecidableEq M] (f : G โ+ M) : DecidablePred fun x => x โ f.ker - AddMonoidHom.eqLocus_same ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : f.eqLocus f = โค - AddMonoidHom.ker_toHomAddUnits ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_8} [AddMonoid M] (f : G โ+ M) : f.toHomAddUnits.ker = f.ker - AddMonoidHom.range_eq_map ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : f.range = AddSubgroup.map f โค - AddMonoidHom.comap_bot ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : AddSubgroup.comap f โฅ = f.ker - AddSubgroup.map_comap_eq ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (H : AddSubgroup N) : AddSubgroup.map f (AddSubgroup.comap f H) = f.range โ H - AddMonoidHom.range_isAddCommutative ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_7} [AddCommGroup G] {N : Type u_8} [AddGroup N] (f : G โ+ N) : IsAddCommutative โฅf.range - AddSubgroup.map_le_range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (H : AddSubgroup G) : AddSubgroup.map f H โค f.range - AddMonoidHom.ker_zero ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] : AddMonoidHom.ker 0 = โค - AddSubgroup.ker_le_comap ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (H : AddSubgroup N) : f.ker โค AddSubgroup.comap f H - AddMonoidHom.eqLocus.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddMonoid M] (f g : G โ+ M) : f.eqLocus g = { toAddSubmonoid := f.eqLocusM g, neg_mem' := โฏ } - AddMonoidHom.ker_eq_bot_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] (f : G โ+ M) : f.ker = โฅ โ Function.Injective โf - AddSubgroup.map_comap_eq_self ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {H : AddSubgroup N} (h : H โค f.range) : AddSubgroup.map f (AddSubgroup.comap f H) = H - AddSubgroup.comap_map_eq ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (H : AddSubgroup G) : AddSubgroup.comap f (AddSubgroup.map f H) = H โ f.ker - AddSubgroup.comap_map_eq_self ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {H : AddSubgroup G} (h : f.ker โค H) : AddSubgroup.comap f (AddSubgroup.map f H) = H - AddSubgroup.map_eq_bot_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H : AddSubgroup G) {f : G โ+ N} : AddSubgroup.map f H = โฅ โ H โค f.ker - AddMonoidHom.range_zero ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] : AddMonoidHom.range 0 = โฅ - AddMonoidHom.ker.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] (f : G โ+ M) : f.ker = { toAddSubmonoid := AddMonoidHom.mker f, neg_mem' := โฏ } - AddMonoidHom.ker_prod ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_8} {N : Type u_9} [AddZeroClass M] [AddZeroClass N] (f : G โ+ M) (g : G โ+ N) : (f.prod g).ker = f.ker โ g.ker - AddSubgroup.comap_injective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (h : Function.Surjective โf) : Function.Injective (AddSubgroup.comap f) - AddSubgroup.map_injective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (h : Function.Injective โf) : Function.Injective (AddSubgroup.map f) - AddMonoidHom.mem_ker ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] {f : G โ+ M} {x : G} : x โ f.ker โ f x = 0 - AddMonoidHom.coe_ker ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] (f : G โ+ M) : โf.ker = โf โปยน' {0} - AddMonoidHom.comap_ker ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {P : Type u_8} [AddZeroClass P] (g : N โ+ P) (f : G โ+ N) : AddSubgroup.comap f g.ker = (g.comp f).ker - AddMonoidHom.coe_range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : โf.range = Set.range โf - AddMonoidHom.range_eq_top_of_surjective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_7} [AddGroup N] (f : G โ+ N) (hf : Function.Surjective โf) : f.range = โค - AddMonoidHom.range_eq_top ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_7} [AddGroup N] {f : G โ+ N} : f.range = โค โ Function.Surjective โf - AddSubgroup.comap_map_eq_self_of_injective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (h : Function.Injective โf) (H : AddSubgroup G) : AddSubgroup.comap f (AddSubgroup.map f H) = H - AddSubgroup.map_comap_eq_self_of_surjective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (h : Function.Surjective โf) (H : AddSubgroup N) : AddSubgroup.map f (AddSubgroup.comap f H) = H - AddMonoidHom.ker_eq_top_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] {f : G โ+ M} : f.ker = โค โ f = 0 - AddMonoidHom.mem_range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {y : N} : y โ f.range โ โ x, f x = y - AddMonoidHom.map_range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} {P : Type u_6} [AddGroup N] [AddGroup P] (g : N โ+ P) (f : G โ+ N) : AddSubgroup.map g f.range = (g.comp f).range - AddMonoidHom.range_comp ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} {P : Type u_6} [AddGroup N] [AddGroup P] (g : N โ+ P) (f : G โ+ N) : (g.comp f).range = AddSubgroup.map g f.range - AddMonoidHom.restrict_range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (K : AddSubgroup G) (f : G โ+ N) : (f.restrict K).range = AddSubgroup.map f K - AddSubgroup.map_eq_range_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {H : AddSubgroup G} : AddSubgroup.map f H = f.range โ Codisjoint H f.ker - AddMonoidHom.range.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : f.range = (AddSubgroup.map f โค).copy (Set.range โf) โฏ - AddSubgroup.map_eq_bot_iff_of_injective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H : AddSubgroup G) {f : G โ+ N} (hf : Function.Injective โf) : AddSubgroup.map f H = โฅ โ H = โฅ - AddSubgroup.map_eq_map_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {H K : AddSubgroup G} : AddSubgroup.map f H = AddSubgroup.map f K โ H โ f.ker = K โ f.ker - AddMonoidHom.ofInjective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (hf : Function.Injective โf) : G โ+ โฅf.range - AddSubgroup.comap_le_comap_of_le_range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {K L : AddSubgroup N} (hf : K โค f.range) : AddSubgroup.comap f K โค AddSubgroup.comap f L โ K โค L - AddSubgroup.map_le_map_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {H K : AddSubgroup G} : AddSubgroup.map f H โค AddSubgroup.map f K โ H โค K โ f.ker - AddSubgroup.map_injective_of_ker_le ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) {H K : AddSubgroup G} (hH : f.ker โค H) (hK : f.ker โค K) (hf : AddSubgroup.map f H = AddSubgroup.map f K) : H = K - AddMonoidHom.range_eq_bot_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] {f : G โ+ G'} : f.range = โฅ โ f = 0 - AddMonoidHom.ker_restrict ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (K : AddSubgroup G) (f : G โ+ N) : (f.restrict K).ker = f.ker.addSubgroupOf K - AddSubgroup.comap_le_comap_of_surjective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {K L : AddSubgroup N} (hf : Function.Surjective โf) : AddSubgroup.comap f K โค AddSubgroup.comap f L โ K โค L - AddSubgroup.comap_lt_comap_of_surjective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {K L : AddSubgroup N} (hf : Function.Surjective โf) : AddSubgroup.comap f K < AddSubgroup.comap f L โ K < L - AddSubgroup.map_le_map_iff_of_injective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (hf : Function.Injective โf) {H K : AddSubgroup G} : AddSubgroup.map f H โค AddSubgroup.map f K โ H โค K - AddSubgroup.map_lt_map_iff_of_injective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (hf : Function.Injective โf) {H K : AddSubgroup G} : AddSubgroup.map f H < AddSubgroup.map f K โ H < K - AddMonoidHom.eq_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] (f : G โ+ M) {x y : G} : f x = f y โ -y + x โ f.ker - AddSubgroup.comap_sup_eq ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (H K : AddSubgroup N) (hf : Function.Surjective โf) : AddSubgroup.comap f H โ AddSubgroup.comap f K = AddSubgroup.comap f (H โ K) - AddMonoidHom.eq_of_eqOn_top ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddMonoid M] {f g : G โ+ M} (h : Set.EqOn โf โg โโค) : f = g - AddMonoidHom.ker_rangeRestrict ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : f.rangeRestrict.ker = f.ker - AddSubgroup.comap_sup_eq_of_le_range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) {H K : AddSubgroup N} (hH : H โค f.range) (hK : K โค f.range) : AddSubgroup.comap f H โ AddSubgroup.comap f K = AddSubgroup.comap f (H โ K) - AddSubgroup.map_le_map_iff' ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {H K : AddSubgroup G} : AddSubgroup.map f H โค AddSubgroup.map f K โ H โ f.ker โค K โ f.ker - AddMonoidHom.eq_of_eqOn_dense ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddMonoid M] {s : Set G} (hs : AddSubgroup.closure s = โค) {f g : G โ+ M} (h : Set.EqOn (โf) (โg) s) : f = g - AddMonoidHom.rangeRestrict ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : G โ+ โฅf.range - AddMonoidHom.sub_mem_ker_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) {x y : G} : x - y โ f.ker โ f x = f y - AddMonoidHom.ker_codRestrict ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {S : Type u_8} [SetLike S N] [AddSubmonoidClass S N] (f : G โ+ N) (s : S) (h : โ (x : G), f x โ s) : (f.codRestrict s h).ker = f.ker - AddMonoidHom.decidableMemKer.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddZeroClass M] [DecidableEq M] (f : G โ+ M) (x : G) : f.decidableMemKer x = decidable_of_iff (f x = 0) โฏ - AddMonoidHom.ofLeftInverse ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {g : N โ+ G} (h : Function.LeftInverse โg โf) : G โ+ โฅf.range - AddSubgroup.ker_addSubgroupMap ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H : AddSubgroup G) (f : G โ+ N) : (f.addSubgroupMap H).ker = f.ker.addSubgroupOf H - AddMonoidHom.range_le_ker_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} {G' : Type u_2} {G'' : Type u_3} [AddGroup G] [AddGroup G'] [AddGroup G''] (f : G โ+ G') (g : G' โ+ G'') : f.range โค g.ker โ g.comp f = 0 - AddMonoidHom.rangeRestrict.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : f.rangeRestrict = f.codRestrict f.range โฏ - AddMonoidHom.subtype_comp_rangeRestrict ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : f.range.subtype.comp f.rangeRestrict = f - AddMonoidHom.eqOn_closure ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {M : Type u_7} [AddMonoid M] {f g : G โ+ M} {s : Set G} (h : Set.EqOn (โf) (โg) s) : Set.EqOn โf โg โ(AddSubgroup.closure s) - AddMonoidHom.ofInjective_apply ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (hf : Function.Injective โf) {x : G} : โ((AddMonoidHom.ofInjective hf) x) = f x - AddMonoidHom.addSubgroupOf_range_eq_of_le ๐ Mathlib.Algebra.Group.Subgroup.Ker
{Gโ : Type u_7} {Gโ : Type u_8} [AddGroup Gโ] [AddGroup Gโ] {K : AddSubgroup Gโ} (f : Gโ โ+ Gโ) (h : f.range โค K) : f.range.addSubgroupOf K = (f.codRestrict K โฏ).range - AddMonoidHom.rangeRestrict_surjective ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : Function.Surjective โf.rangeRestrict - AddMonoidHom.ofInjective.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (hf : Function.Injective โf) : AddMonoidHom.ofInjective hf = AddEquiv.ofBijective (f.codRestrict f.range โฏ) โฏ - AddMonoidHom.coe_rangeRestrict ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) (g : G) : โ(f.rangeRestrict g) = f g - AddMonoidHom.rangeRestrict_injective_iff ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} : Function.Injective โf.rangeRestrict โ Function.Injective โf - AddMonoidHom.ofLeftInverse_apply ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {g : N โ+ G} (h : Function.LeftInverse โg โf) (x : G) : โ((AddMonoidHom.ofLeftInverse h) x) = f x - MonoidHom.coe_toMultiplicative_ker ๐ Mathlib.Algebra.Group.Subgroup.Ker
{A : Type u_8} {A' : Type u_9} [AddGroup A] [AddZeroClass A'] (f : A โ+ A') : (AddMonoidHom.toMultiplicative f).ker = AddSubgroup.toSubgroup f.ker - AddMonoidHom.apply_ofInjective_symm ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} (hf : Function.Injective โf) (x : โฅf.range) : f ((AddMonoidHom.ofInjective hf).symm x) = โx - AddMonoidHom.coe_comp_rangeRestrict ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (f : G โ+ N) : Subtype.val โ โf.rangeRestrict = โf - AddSubgroup.closure_preimage_eq_top ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] (s : Set G) : AddSubgroup.closure (โ(AddSubgroup.closure s).subtype โปยน' s) = โค - AddMonoidHom.ofLeftInverse_symm_apply ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {g : N โ+ G} (h : Function.LeftInverse โg โf) (x : โฅf.range) : (AddMonoidHom.ofLeftInverse h).symm x = g โx - MonoidHom.coe_toAdditive_range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} {G' : Type u_2} [Group G] [Group G'] (f : G โ* G') : (MonoidHom.toAdditive f).range = Subgroup.toAddSubgroup f.range - MonoidHom.coe_toMultiplicative_range ๐ Mathlib.Algebra.Group.Subgroup.Ker
{A : Type u_7} {A' : Type u_8} [AddGroup A] [AddGroup A'] (f : A โ+ A') : (AddMonoidHom.toMultiplicative f).range = AddSubgroup.toSubgroup f.range - MonoidHom.coe_toAdditive_ker ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} {G' : Type u_2} [Group G] [Group G'] (f : G โ* G') : (MonoidHom.toAdditive f).ker = Subgroup.toAddSubgroup f.ker - AddMonoidHom.ofLeftInverse.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Ker
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {f : G โ+ N} {g : N โ+ G} (h : Function.LeftInverse โg โf) : AddMonoidHom.ofLeftInverse h = { toFun := โf.rangeRestrict, invFun := โg โ โf.range.subtype, left_inv := h, right_inv := โฏ, map_add' := โฏ } - AddSubgroup.normal_comap ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_5} [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_5} [AddGroup N] {H : AddSubgroup N} (hH : H.Normal) (f : G โ+ N) : (AddSubgroup.comap f H).Normal - AddSubgroup.le_normalizer_comap ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} {N : Type u_5} [AddGroup N] (f : N โ+ G) : AddSubgroup.comap f H.normalizer โค (AddSubgroup.comap f H).normalizer - AddSubgroup.le_normalizer_map ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} {N : Type u_5} [AddGroup N] (f : G โ+ N) : AddSubgroup.map f H.normalizer โค (AddSubgroup.map f H).normalizer - AddSubgroup.comap_normalizer_eq_of_le_range ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {H : AddSubgroup G} {N : Type u_5} [AddGroup N] {f : N โ+ G} (h : H โค f.range) : AddSubgroup.comap f H.normalizer = (AddSubgroup.comap f H).normalizer - AddSubgroup.Normal.map ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {H : AddSubgroup G} (h : H.Normal) (f : G โ+ N) (hf : Function.Surjective โf) : (AddSubgroup.map f H).Normal - AddSubgroup.comap_normalizer_eq_of_surjective ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H : AddSubgroup G) {f : N โ+ G} (hf : Function.Surjective โf) : AddSubgroup.comap f H.normalizer = (AddSubgroup.comap f H).normalizer - AddSubgroup.map_normalizer_eq_of_bijective ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] (H : AddSubgroup G) {f : G โ+ N} (hf : Function.Bijective โf) : AddSubgroup.map f H.normalizer = (AddSubgroup.map f H).normalizer - AddMonoidHom.prodMap_comap_prod ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {G' : Type u_8} {N' : Type u_9} [AddGroup G'] [AddGroup N'] (f : G โ+ N) (g : G' โ+ N') (S : AddSubgroup N) (S' : AddSubgroup N') : AddSubgroup.comap (f.prodMap g) (S.prod S') = (AddSubgroup.comap f S).prod (AddSubgroup.comap g S') - AddMonoidHom.ker_prodMap ๐ Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [AddGroup G] {N : Type u_5} [AddGroup N] {G' : Type u_8} {N' : Type u_9} [AddGroup G'] [AddGroup N'] (f : G โ+ N) (g : G' โ+ N') : (f.prodMap g).ker = f.ker.prod g.ker - AddMonoidHom.liftOfRightInverseAux ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (f_neg : Gโ โ Gโ) (hf : Function.RightInverse f_neg โf) (g : Gโ โ+ Gโ) (hg : f.ker โค g.ker) : Gโ โ+ Gโ - AddMonoidHom.liftOfSurjective ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (hf : Function.Surjective โf) : { g // f.ker โค g.ker } โ (Gโ โ+ Gโ) - AddMonoidHom.liftOfRightInverse ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (f_neg : Gโ โ Gโ) (hf : Function.RightInverse f_neg โf) : { g // f.ker โค g.ker } โ (Gโ โ+ Gโ) - AddMonoidHom.liftOfSurjective.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (hf : Function.Surjective โf) : f.liftOfSurjective hf = f.liftOfRightInverse (Function.surjInv hf) โฏ - AddMonoidHom.liftOfRightInverseAux.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (f_inv : Gโ โ Gโ) (hf : Function.RightInverse f_inv โf) (g : Gโ โ+ Gโ) (hg : f.ker โค g.ker) : f.liftOfRightInverseAux f_inv hf g hg = { toFun := fun b => g (f_inv b), map_zero' := โฏ, map_add' := โฏ } - AddMonoidHom.liftOfRightInverseAux_comp_apply ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (f_neg : Gโ โ Gโ) (hf : Function.RightInverse f_neg โf) (g : Gโ โ+ Gโ) (hg : f.ker โค g.ker) (x : Gโ) : (f.liftOfRightInverseAux f_neg hf g hg) (f x) = g x - AddMonoidHom.liftOfRightInverse.eq_1 ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (f_inv : Gโ โ Gโ) (hf : Function.RightInverse f_inv โf) : f.liftOfRightInverse f_inv hf = { toFun := fun g => f.liftOfRightInverseAux f_inv hf โg โฏ, invFun := fun ฯ => โจฯ.comp f, โฏโฉ, left_inv := โฏ, right_inv := โฏ } - AddMonoidHom.liftOfRightInverse_comp ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (f_neg : Gโ โ Gโ) (hf : Function.RightInverse f_neg โf) (g : { g // f.ker โค g.ker }) : ((f.liftOfRightInverse f_neg hf) g).comp f = โg - AddMonoidHom.eq_liftOfRightInverse ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (f_neg : Gโ โ Gโ) (hf : Function.RightInverse f_neg โf) (g : Gโ โ+ Gโ) (hg : f.ker โค g.ker) (h : Gโ โ+ Gโ) (hh : h.comp f = g) : h = (f.liftOfRightInverse f_neg hf) โจg, hgโฉ - AddMonoidHom.liftOfRightInverse_comp_apply ๐ Mathlib.Algebra.Group.Subgroup.Basic
{Gโ : Type u_5} {Gโ : Type u_6} {Gโ : Type u_7} [AddGroup Gโ] [AddGroup Gโ] [AddGroup Gโ] (f : Gโ โ+ Gโ) (f_neg : Gโ โ Gโ) (hf : Function.RightInverse f_neg โf) (g : { g // f.ker โค g.ker }) (x : Gโ) : ((f.liftOfRightInverse f_neg hf) g) (f x) = โg x - AddMonoidHom.map_zmultiples ๐ Mathlib.Algebra.Group.Subgroup.ZPowers.Basic
{G : Type u_1} [AddGroup G] {N : Type u_3} [AddGroup N] (f : G โ+ N) (x : G) : AddSubgroup.map f (AddSubgroup.zmultiples x) = AddSubgroup.zmultiples (f x) - AddSubgroup.map_centralizer_le_centralizer_image ๐ Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (s : Set G) (f : G โ+ G') : AddSubgroup.map f (AddSubgroup.centralizer s) โค AddSubgroup.centralizer (โf '' s) - FreeAddGroup.range_lift_eq_closure ๐ Mathlib.GroupTheory.FreeGroup.Basic
{ฮฑ : Type u} {ฮฒ : Type v} [AddGroup ฮฒ] {f : ฮฑ โ ฮฒ} : (FreeAddGroup.lift f).range = AddSubgroup.closure (Set.range f) - FreeAddGroup.range_lift_le ๐ Mathlib.GroupTheory.FreeGroup.Basic
{ฮฑ : Type u} {ฮฒ : Type v} [AddGroup ฮฒ] {f : ฮฑ โ ฮฒ} {s : AddSubgroup ฮฒ} (H : Set.range f โ โs) : (FreeAddGroup.lift f).range โค s - FreeAddGroup.closure_eq_range ๐ Mathlib.GroupTheory.FreeGroup.Basic
{ฮฒ : Type v} [AddGroup ฮฒ] (s : Set ฮฒ) : AddSubgroup.closure s = (FreeAddGroup.lift Subtype.val).range - QuotientAddGroup.mk' ๐ Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : G โ+ G โงธ N - QuotientAddGroup.mk'.eq_1 ๐ Mathlib.GroupTheory.QuotientGroup.Defs
{G : Type u_1} [AddGroup G] (N : AddSubgroup G) [nN : N.Normal] : QuotientAddGroup.mk' N = AddMonoidHom.mk' QuotientAddGroup.mk โฏ - 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.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.lift.eq_1 ๐ 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 = (QuotientAddGroup.con N).lift ฯ โฏ - 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.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.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.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.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.map.eq_1 ๐ 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 = QuotientAddGroup.lift N ((QuotientAddGroup.mk' M).comp f) โฏ - QuotientAddGroup.map.congr_simp ๐ 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 fโ : G โ+ H) (e_f : f = fโ) (h : N โค AddSubgroup.comap f M) : QuotientAddGroup.map N M f h = QuotientAddGroup.map N M fโ โฏ - 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 - 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.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.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)
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 ?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.
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 0ac13cd serving mathlib revision 2df2f01