Loogle!
Result
Found 42 declarations mentioning Units.map.
- Units.map π Mathlib.Algebra.Group.Units.Hom
{M : Type u} {N : Type v} [Monoid M] [Monoid N] (f : M β* N) : MΛ£ β* NΛ£ - Units.map_id π Mathlib.Algebra.Group.Units.Hom
(M : Type u) [Monoid M] : Units.map (MonoidHom.id M) = MonoidHom.id MΛ£ - Units.map_injective π Mathlib.Algebra.Group.Units.Hom
{M : Type u} {N : Type v} [Monoid M] [Monoid N] {f : M β* N} (hf : Function.Injective βf) : Function.Injective β(Units.map f) - Units.map_comp π Mathlib.Algebra.Group.Units.Hom
{M : Type u} {N : Type v} {P : Type w} [Monoid M] [Monoid N] [Monoid P] (f : M β* N) (g : N β* P) : Units.map (g.comp f) = (Units.map g).comp (Units.map f) - Units.coe_map π Mathlib.Algebra.Group.Units.Hom
{M : Type u} {N : Type v} [Monoid M] [Monoid N] (f : M β* N) (x : MΛ£) : β((Units.map f) x) = f βx - Units.coe_map_inv π Mathlib.Algebra.Group.Units.Hom
{M : Type u} {N : Type v} [Monoid M] [Monoid N] (f : M β* N) (u : MΛ£) : β((Units.map f) u)β»ΒΉ = f βuβ»ΒΉ - Units.map.eq_1 π Mathlib.Algebra.Group.Units.Hom
{M : Type u} {N : Type v} [Monoid M] [Monoid N] (f : M β* N) : Units.map f = MonoidHom.mk' (fun u => { val := f βu, inv := f u.inv, val_inv := β―, inv_val := β― }) β― - Units.map_mk π Mathlib.Algebra.Group.Units.Hom
{M : Type u} {N : Type v} [Monoid M] [Monoid N] (f : M β* N) (val inv : M) (val_inv : val * inv = 1) (inv_val : inv * val = 1) : (Units.map f) { val := val, inv := inv, val_inv := val_inv, inv_val := inv_val } = { val := f val, inv := f inv, val_inv := β―, inv_val := β― } - MulEquiv.prodUnits.eq_1 π Mathlib.Algebra.Group.Prod
{M : Type u_3} {N : Type u_4} [Monoid M] [Monoid N] : MulEquiv.prodUnits = { toFun := β((Units.map (MonoidHom.fst M N)).prod (Units.map (MonoidHom.snd M N))), invFun := fun u => { val := (βu.1, βu.2), inv := (βu.1β»ΒΉ, βu.2β»ΒΉ), val_inv := β―, inv_val := β― }, left_inv := β―, right_inv := β―, map_mul' := β― } - Units.map_neg_one π Mathlib.Algebra.Ring.Units
{Ξ± : Type u} {Ξ² : Type v} [Ring Ξ±] {F : Type u_1} [Ring Ξ²] [FunLike F Ξ± Ξ²] [RingHomClass F Ξ± Ξ²] (f : F) : (Units.map βf) (-1) = -1 - Units.map_neg π Mathlib.Algebra.Ring.Units
{Ξ± : Type u} {Ξ² : Type v} [Ring Ξ±] {F : Type u_1} [Ring Ξ²] [FunLike F Ξ± Ξ²] [RingHomClass F Ξ± Ξ²] (f : F) (u : Ξ±Λ£) : (Units.map βf) (-u) = -(Units.map βf) u - unitsCenterToCenterUnits.eq_1 π Mathlib.GroupTheory.Submonoid.Center
(M : Type u_1) [Monoid M] : unitsCenterToCenterUnits M = (Units.map (Submonoid.center M).subtype).codRestrict (Submonoid.center MΛ£) β― - Algebra.smul_units_def π Mathlib.Algebra.Algebra.Hom
{R : Type u} (A : Type v) [CommSemiring R] [Semiring A] [Algebra R A] (f : A ββ[R] A) (x : AΛ£) : f β’ x = (Units.map βf) x - AlgEquiv.smul_units_def π Mathlib.Algebra.Algebra.Equiv
{R : Type uR} {Aβ : Type uAβ} [CommSemiring R] [Semiring Aβ] [Algebra R Aβ] (f : Aβ ββ[R] Aβ) (x : AβΛ£) : f β’ x = (Units.map βf) x - unitsNonZeroDivisorsEquiv_apply π Mathlib.Algebra.GroupWithZero.NonZeroDivisors
{Mβ : Type u_1} [MonoidWithZero Mβ] (aβ : (β₯(nonZeroDivisors Mβ))Λ£) : unitsNonZeroDivisorsEquiv aβ = (β(Units.map (nonZeroDivisors Mβ).subtype)).toFun aβ - Continuous.units_map π Mathlib.Topology.Algebra.Monoid
{M : Type u_3} {N : Type u_4} [Monoid M] [Monoid N] [TopologicalSpace M] [TopologicalSpace N] (f : M β* N) (hf : Continuous βf) : Continuous β(Units.map f) - IsLocalRing.surjective_units_map_of_local_ringHom π Mathlib.RingTheory.LocalRing.RingHom.Basic
{R : Type u_1} {S : Type u_2} [Semiring R] [Semiring S] (f : R β+* S) (hf : Function.Surjective βf) (h : IsLocalHom f) : Function.Surjective β(Units.map βf) - LocalRing.surjective_units_map_of_local_ringHom π Mathlib.RingTheory.LocalRing.RingHom.Basic
{R : Type u_1} {S : Type u_2} [Semiring R] [Semiring S] (f : R β+* S) (hf : Function.Surjective βf) (h : IsLocalHom f) : Function.Surjective β(Units.map βf) - Matrix.GeneralLinearGroup.map.eq_1 π Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs
{n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {S : Type u_1} [CommRing S] (f : R β+* S) : Matrix.GeneralLinearGroup.map f = Units.map βf.mapMatrix - Matrix.GeneralLinearGroup.map_det π Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs
{n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {S : Type u_1} [CommRing S] (f : R β+* S) (g : GL n R) : Matrix.GeneralLinearGroup.det ((Matrix.GeneralLinearGroup.map f) g) = (Units.map βf) (Matrix.GeneralLinearGroup.det g) - unitary.toUnits_comp_map π Mathlib.Algebra.Star.Unitary
{F : Type u_2} {R : Type u_3} {S : Type u_4} [Monoid R] [StarMul R] [Monoid S] [StarMul S] [FunLike F R S] [StarHomClass F R S] [MonoidHomClass F R S] (f : F) : unitary.toUnits.comp (unitary.map f) = (Units.map βf).comp unitary.toUnits - AffineEquiv.linear_equivUnitsAffineMap_symm_apply π Mathlib.LinearAlgebra.AffineSpace.AffineEquiv
{k : Type u_1} {Pβ : Type u_2} {Vβ : Type u_6} [Ring k] [AddCommGroup Vβ] [Module k Vβ] [AddTorsor Vβ Pβ] (u : (Pβ βα΅[k] Pβ)Λ£) : (AffineEquiv.equivUnitsAffineMap.symm u).linear = (LinearMap.GeneralLinearGroup.generalLinearEquiv k Vβ) ((Units.map AffineMap.linearHom) u) - WeierstrassCurve.map_Ξ' π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) [W.IsElliptic] {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).Ξ' = (Units.map βf) W.Ξ' - WeierstrassCurve.inv_map_Ξ' π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) [W.IsElliptic] {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).Ξ'β»ΒΉ = (Units.map βf) W.Ξ'β»ΒΉ - WeierstrassCurve.VariableChange.map_u π Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange
{R : Type u} [CommRing R] {A : Type v} [CommRing A] (Ο : R β+* A) (C : WeierstrassCurve.VariableChange R) : (WeierstrassCurve.VariableChange.map Ο C).u = (Units.map βΟ) C.u - WeierstrassCurve.VariableChange.map.eq_1 π Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange
{R : Type u} [CommRing R] {A : Type v} [CommRing A] (Ο : R β+* A) (C : WeierstrassCurve.VariableChange R) : WeierstrassCurve.VariableChange.map Ο C = { u := (Units.map βΟ) C.u, r := Ο C.r, s := Ο C.s, t := Ο C.t } - ClassGroup.mk_canonicalEquiv π Mathlib.RingTheory.ClassGroup
{R : Type u_1} (K : Type u_2) [CommRing R] [Field K] [Algebra R K] [IsFractionRing R K] [IsDomain R] (K' : Type u_3) [Field K'] [Algebra R K'] [IsFractionRing R K'] (I : (FractionalIdeal (nonZeroDivisors R) K)Λ£) : ClassGroup.mk ((Units.map β(FractionalIdeal.canonicalEquiv (nonZeroDivisors R) K K')) I) = ClassGroup.mk I - FractionalIdeal.map_canonicalEquiv_mk0 π Mathlib.RingTheory.ClassGroup
{R : Type u_1} (K : Type u_2) [CommRing R] [Field K] [Algebra R K] [IsFractionRing R K] [IsDomain R] [IsDedekindDomain R] (K' : Type u_3) [Field K'] [Algebra R K'] [IsFractionRing R K'] (I : β₯(nonZeroDivisors (Ideal R))) : (Units.map β(FractionalIdeal.canonicalEquiv (nonZeroDivisors R) K K')) ((FractionalIdeal.mk0 K) I) = (FractionalIdeal.mk0 K') I - ClassGroup.mk_def π Mathlib.RingTheory.ClassGroup
{R : Type u_1} {K : Type u_2} [CommRing R] [Field K] [Algebra R K] [IsFractionRing R K] [IsDomain R] (I : (FractionalIdeal (nonZeroDivisors R) K)Λ£) : ClassGroup.mk I = (QuotientGroup.mk' (toPrincipalIdeal R (FractionRing R)).range) ((Units.map β(FractionalIdeal.canonicalEquiv (nonZeroDivisors R) K (FractionRing R))) I) - Valuation.unit_map_eq π Mathlib.RingTheory.Valuation.Basic
{R : Type u_3} {Ξβ : Type u_4} [Ring R] [LinearOrderedCommMonoidWithZero Ξβ] (v : Valuation R Ξβ) (u : RΛ£) : β((Units.map βv) u) = v βu - ValuationSubring.principalUnitGroupEquiv π Mathlib.RingTheory.Valuation.ValuationSubring
{K : Type u} [Field K] (A : ValuationSubring K) : β₯A.principalUnitGroup β* β₯(Units.map β(IsLocalRing.residue β₯A)).ker - ValuationSubring.unitGroupToResidueFieldUnits.eq_1 π Mathlib.RingTheory.Valuation.ValuationSubring
{K : Type u} [Field K] (A : ValuationSubring K) : A.unitGroupToResidueFieldUnits = (Units.map β(Ideal.Quotient.mk (IsLocalRing.maximalIdeal β₯A))).comp A.unitGroupMulEquiv.toMonoidHom - ValuationSubring.coe_mem_principalUnitGroup_iff π Mathlib.RingTheory.Valuation.ValuationSubring
{K : Type u} [Field K] (A : ValuationSubring K) {x : β₯A.unitGroup} : βx β A.principalUnitGroup β A.unitGroupMulEquiv x β (Units.map β(IsLocalRing.residue β₯A)).ker - ValuationSubring.principalUnitGroupEquiv_apply π Mathlib.RingTheory.Valuation.ValuationSubring
{K : Type u} [Field K] (A : ValuationSubring K) (a : β₯A.principalUnitGroup) : βββ(A.principalUnitGroupEquiv a) = ββa - ValuationSubring.principalUnitGroup_symm_apply π Mathlib.RingTheory.Valuation.ValuationSubring
{K : Type u} [Field K] (A : ValuationSubring K) (a : β₯(Units.map β(IsLocalRing.residue β₯A)).ker) : ββ(A.principalUnitGroupEquiv.symm a) = βββa - IsPrimitiveRoot.map_rootsOfUnity π Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots
{R : Type u_4} [CommRing R] [IsDomain R] {S : Type u_7} {F : Type u_8} [CommRing S] [IsDomain S] [FunLike F R S] [MonoidHomClass F R S] {ΞΆ : R} {n : β} [NeZero n] (hΞΆ : IsPrimitiveRoot ΞΆ n) {f : F} (hf : Function.Injective βf) : Subgroup.map (Units.map βf) (rootsOfUnity n R) = rootsOfUnity n S - FiniteField.unitsMap_norm_surjective π Mathlib.FieldTheory.Finite.GaloisField
(K : Type u_1) (K' : Type u_2) [Field K] [Field K'] [Algebra K K'] [Finite K'] : Function.Surjective β(Units.map (Algebra.norm K)) - ZMod.unitsMap.eq_1 π Mathlib.Data.ZMod.Units
{n m : β} (hm : n β£ m) : ZMod.unitsMap hm = Units.map β(ZMod.castHom hm (ZMod n)) - ZMod.unitsMap_def π Mathlib.Data.ZMod.Units
{n m : β} (hm : n β£ m) : ZMod.unitsMap hm = Units.map β(ZMod.castHom hm (ZMod n)) - PowerSeries.map_invUnitsSub π Mathlib.RingTheory.PowerSeries.WellKnown
{R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R β+* S) (u : RΛ£) : (PowerSeries.map f) (PowerSeries.invUnitsSub u) = PowerSeries.invUnitsSub ((Units.map βf) u) - IsDedekindDomain.HeightOneSpectrum.valuation_of_unit_eq π Mathlib.RingTheory.DedekindDomain.SelmerGroup
{R : Type u} [CommRing R] [IsDedekindDomain R] {K : Type v} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) (x : RΛ£) : v.valuationOfNeZero ((Units.map β(algebraMap R K)) x) = 1 - IsDedekindDomain.HeightOneSpectrum.valuation_of_unit_mod_eq π Mathlib.RingTheory.DedekindDomain.SelmerGroup
{R : Type u} [CommRing R] [IsDedekindDomain R] {K : Type v} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) (n : β) (x : RΛ£) : (v.valuationOfNeZeroMod n) β((Units.map β(algebraMap R K)) x) = 1
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