Loogle!
Result
Found 31 declarations mentioning Subsemiring.map.
- Subsemiring.map 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) (s : Subsemiring R) : Subsemiring S - Subsemiring.map_id 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} [NonAssocSemiring R] (s : Subsemiring R) : Subsemiring.map (RingHom.id R) s = s - RingHom.rangeS_eq_map 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) : f.rangeS = Subsemiring.map f ⊤ - Subsemiring.map_bot 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) : Subsemiring.map f ⊥ = ⊥ - Subsemiring.map_comap_eq 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) (t : Subsemiring S) : Subsemiring.map f (Subsemiring.comap f t) = t ⊓ f.rangeS - RingHom.map_closureS 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) (s : Set R) : Subsemiring.map f (Subsemiring.closure s) = Subsemiring.closure (⇑f '' s) - RingHom.map_rangeS 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} {T : Type w} [NonAssocSemiring R] [NonAssocSemiring S] [NonAssocSemiring T] (g : S →+* T) (f : R →+* S) : Subsemiring.map g f.rangeS = (g.comp f).rangeS - Subsemiring.comap_map_eq_self_of_injective 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] {f : R →+* S} (hf : Function.Injective ⇑f) (s : Subsemiring R) : Subsemiring.comap f (Subsemiring.map f s) = s - Subsemiring.map_comap_eq_self_of_surjective 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] {f : R →+* S} (hf : Function.Surjective ⇑f) (t : Subsemiring S) : Subsemiring.map f (Subsemiring.comap f t) = t - Subsemiring.gc_map_comap 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) : GaloisConnection (Subsemiring.map f) (Subsemiring.comap f) - Subsemiring.map_map 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} {T : Type w} [NonAssocSemiring R] [NonAssocSemiring S] [NonAssocSemiring T] (s : Subsemiring R) (g : S →+* T) (f : R →+* S) : Subsemiring.map g (Subsemiring.map f s) = Subsemiring.map (g.comp f) s - Subsemiring.coe_map 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) (s : Subsemiring R) : ↑(Subsemiring.map f s) = ⇑f '' ↑s - Subsemiring.map_comap_eq_self 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] {f : R →+* S} {t : Subsemiring S} (h : t ≤ f.rangeS) : Subsemiring.map f (Subsemiring.comap f t) = t - Subsemiring.map_iSup 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] {ι : Sort u_1} (f : R →+* S) (s : ι → Subsemiring R) : Subsemiring.map f (iSup s) = ⨆ i, Subsemiring.map f (s i) - Subsemiring.map_iInf 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] {ι : Sort u_1} [Nonempty ι] (f : R →+* S) (hf : Function.Injective ⇑f) (s : ι → Subsemiring R) : Subsemiring.map f (iInf s) = ⨅ i, Subsemiring.map f (s i) - Subsemiring.map_le_iff_le_comap 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] {f : R →+* S} {s : Subsemiring R} {t : Subsemiring S} : Subsemiring.map f s ≤ t ↔ s ≤ Subsemiring.comap f t - Subsemiring.map_inf 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (s t : Subsemiring R) (f : R →+* S) (hf : Function.Injective ⇑f) : Subsemiring.map f (s ⊓ t) = Subsemiring.map f s ⊓ Subsemiring.map f t - Subsemiring.mem_map 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] {f : R →+* S} {s : Subsemiring R} {y : S} : y ∈ Subsemiring.map f s ↔ ∃ x ∈ s, f x = y - Subsemiring.map_sup 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (s t : Subsemiring R) (f : R →+* S) : Subsemiring.map f (s ⊔ t) = Subsemiring.map f s ⊔ Subsemiring.map f t - Subsemiring.map_toSubmonoid 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) (s : Subsemiring R) : (Subsemiring.map f s).toSubmonoid = { carrier := ⇑f '' ↑s, mul_mem' := ⋯, one_mem' := ⋯ } - RingHom.rangeS_toSubmonoid 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) : f.rangeS.toSubmonoid = { carrier := Set.range ⇑f, mul_mem' := ⋯, one_mem' := ⋯ } - Subsemiring.equivMapOfInjective 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (s : Subsemiring R) (f : R →+* S) (hf : Function.Injective ⇑f) : ↥s ≃+* ↥(Subsemiring.map f s) - Subsemiring.mem_map_equiv 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] {f : R ≃+* S} {K : Subsemiring R} {x : S} : x ∈ Subsemiring.map (↑f) K ↔ f.symm x ∈ K - Subsemiring.comap_equiv_eq_map_symm 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R ≃+* S) (K : Subsemiring S) : Subsemiring.comap (↑f) K = Subsemiring.map (↑f.symm) K - Subsemiring.map_equiv_eq_comap_symm 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (f : R ≃+* S) (K : Subsemiring R) : Subsemiring.map (↑f) K = Subsemiring.comap (↑f.symm) K - Subsemiring.coe_equivMapOfInjective_apply 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (s : Subsemiring R) (f : R →+* S) (hf : Function.Injective ⇑f) (x : ↥s) : ↑((s.equivMapOfInjective f hf) x) = f ↑x - RingEquiv.subsemiringMap 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (e : R ≃+* S) (s : Subsemiring R) : ↥s ≃+* ↥(Subsemiring.map (↑e) s) - RingEquiv.subsemiringMap_apply_coe 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (e : R ≃+* S) (s : Subsemiring R) (x : ↥s) : ↑((e.subsemiringMap s) x) = e ↑x - RingEquiv.subsemiringMap_symm_apply_coe 📋 Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} {S : Type v} [NonAssocSemiring R] [NonAssocSemiring S] (e : R ≃+* S) (s : Subsemiring R) (x : ↥(Subsemiring.map e.toRingHom s)) : ↑((e.subsemiringMap s).symm x) = e.symm ↑x - Subalgebra.map_toSubsemiring 📋 Mathlib.Algebra.Algebra.Subalgebra.Basic
{R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (f : A →ₐ[R] B) (S : Subalgebra R A) : (Subalgebra.map f S).toSubsemiring = Subsemiring.map (↑f) S.toSubsemiring - Subsemiring.pointwise_smul_def 📋 Mathlib.Algebra.Ring.Subsemiring.Pointwise
{M : Type u_1} {R : Type u_2} [Monoid M] [Semiring R] [MulSemiringAction M R] {a : M} (S : Subsemiring R) : a • S = Subsemiring.map (MulSemiringAction.toRingHom M R a) S
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