Loogle!
Result
Found 20 declarations mentioning Subgroup and AddMonoidHom.
- 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) - 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 - 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.coe_toMultiplicative_map π Mathlib.Algebra.Module.Submodule.Map
{G : Type u_10} {Gβ : Type u_11} [AddGroup G] [AddGroup Gβ] (f : G β+ Gβ) (s : AddSubgroup G) : Subgroup.map (AddMonoidHom.toMultiplicative f) (AddSubgroup.toSubgroup s) = AddSubgroup.toSubgroup (AddSubgroup.map f s) - MonoidHom.coe_toAdditive_map π Mathlib.Algebra.Module.Submodule.Map
{G : Type u_10} {Gβ : Type u_11} [Group G] [Group Gβ] (f : G β* Gβ) (s : Subgroup G) : AddSubgroup.map (MonoidHom.toAdditive f) (Subgroup.toAddSubgroup s) = Subgroup.toAddSubgroup (Subgroup.map f s) - IsPrimitiveRoot.zmodEquivZPowers.eq_1 π Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots
{R : Type u_4} {k : β} [CommRing R] {ΞΆ : RΛ£} (h : IsPrimitiveRoot ΞΆ k) : h.zmodEquivZPowers = AddEquiv.ofBijective (((Int.castAddHom (ZMod k)).liftOfRightInverse ZMod.cast β―) β¨{ toFun := fun i => Additive.ofMul β¨(fun x => ΞΆ ^ x) i, β―β©, map_zero' := β―, map_add' := β― }, β―β©) β― - NumberField.Units.logEmbeddingQuot π Mathlib.NumberTheory.NumberField.Units.DirichletTheorem
(K : Type u_1) [Field K] [NumberField K] : Additive ((NumberField.RingOfIntegers K)Λ£ β§Έ NumberField.Units.torsion K) β+ NumberField.Units.dirichletUnitTheorem.logSpace K - NumberField.Units.dirichletUnitTheorem.logEmbedding_eq_zero_iff π Mathlib.NumberTheory.NumberField.Units.DirichletTheorem
{K : Type u_1} [Field K] [NumberField K] {x : (NumberField.RingOfIntegers K)Λ£} : (NumberField.Units.logEmbedding K) (Additive.ofMul x) = 0 β x β NumberField.Units.torsion K - NumberField.Units.logEmbeddingQuot_injective π Mathlib.NumberTheory.NumberField.Units.DirichletTheorem
(K : Type u_1) [Field K] [NumberField K] : Function.Injective β(NumberField.Units.logEmbeddingQuot K) - NumberField.Units.logEmbeddingQuot_apply π Mathlib.NumberTheory.NumberField.Units.DirichletTheorem
(K : Type u_1) [Field K] [NumberField K] (x : (NumberField.RingOfIntegers K)Λ£) : (NumberField.Units.logEmbeddingQuot K) (Additive.ofMul βx) = (NumberField.Units.logEmbedding K) (Additive.ofMul x) - NumberField.Units.logEmbeddingEquiv_apply π Mathlib.NumberTheory.NumberField.Units.DirichletTheorem
(K : Type u_1) [Field K] [NumberField K] (x : (NumberField.RingOfIntegers K)Λ£) : β((NumberField.Units.logEmbeddingEquiv K) (Additive.ofMul βx)) = (NumberField.Units.logEmbedding K) (Additive.ofMul x) - SlashInvariantForm.coeHom π Mathlib.NumberTheory.ModularForms.SlashInvariantForms
{Ξ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) β€)} {k : β€} : SlashInvariantForm Ξ k β+ UpperHalfPlane β β - SlashInvariantForm.coeHom_injective π Mathlib.NumberTheory.ModularForms.SlashInvariantForms
{Ξ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) β€)} {k : β€} : Function.Injective βSlashInvariantForm.coeHom - CuspForm.coeHom π Mathlib.NumberTheory.ModularForms.Basic
{Ξ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) β€)} {k : β€} : CuspForm Ξ k β+ UpperHalfPlane β β - ModularForm.coeHom π Mathlib.NumberTheory.ModularForms.Basic
{Ξ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) β€)} {k : β€} : ModularForm Ξ k β+ UpperHalfPlane β β - CuspForm.coeHom_apply π Mathlib.NumberTheory.ModularForms.Basic
{Ξ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) β€)} {k : β€} (f : CuspForm Ξ k) (a : UpperHalfPlane) : CuspForm.coeHom f a = f a - ModularForm.coeHom_apply π Mathlib.NumberTheory.ModularForms.Basic
{Ξ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) β€)} {k : β€} (f : ModularForm Ξ k) (a : UpperHalfPlane) : ModularForm.coeHom f a = f a
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. You can also try the
#loogle
command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"
somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?a
If the pattern has parameters, they are matched in any order. Both of these will find
List.map
:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?b
By main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβ
andβ
) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsum
even though the hypothesisf i < g i
is not the last.
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum
, have "two"
as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _
(if
there were any such lemmas). Metavariables (?a
) are
assigned independently in each filter.
The #lucky
button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO.
This is Loogle revision 19971e9
serving mathlib revision bce1d65