Loogle!
Result
Found 57 declarations mentioning Subsemigroup.map.
- Subsemigroup.map 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) (S : Subsemigroup M) : Subsemigroup N - Subsemigroup.map_id 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} [Mul M] (S : Subsemigroup M) : Subsemigroup.map (MulHom.id M) S = S - MulHom.srange_eq_map 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) : f.srange = Subsemigroup.map f ⊤ - Subsemigroup.map_bot 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) : Subsemigroup.map f ⊥ = ⊥ - Subsemigroup.monotone_map 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} : Monotone (Subsemigroup.map f) - Subsemigroup.map_injective_of_injective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Injective ⇑f) : Function.Injective (Subsemigroup.map f) - Subsemigroup.map_surjective_of_surjective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Surjective ⇑f) : Function.Surjective (Subsemigroup.map f) - Subsemigroup.le_comap_map 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (S : Subsemigroup M) {f : M →ₙ* N} : S ≤ Subsemigroup.comap f (Subsemigroup.map f S) - Subsemigroup.map_comap_le 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {S : Subsemigroup N} {f : M →ₙ* N} : Subsemigroup.map f (Subsemigroup.comap f S) ≤ S - Subsemigroup.comap_map_comap 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {S : Subsemigroup N} {f : M →ₙ* N} : Subsemigroup.comap f (Subsemigroup.map f (Subsemigroup.comap f S)) = Subsemigroup.comap f S - Subsemigroup.gc_map_comap 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) : GaloisConnection (Subsemigroup.map f) (Subsemigroup.comap f) - Subsemigroup.map_comap_map 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (S : Subsemigroup M) {f : M →ₙ* N} : Subsemigroup.map f (Subsemigroup.comap f (Subsemigroup.map f S)) = Subsemigroup.map f S - Subsemigroup.map_comap_eq 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) (S : Subsemigroup N) : Subsemigroup.map f (Subsemigroup.comap f S) = S ⊓ f.srange - MulHom.map_mclosure 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) (s : Set M) : Subsemigroup.map f (Subsemigroup.closure s) = Subsemigroup.closure (⇑f '' s) - MulHom.map_srange 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} {P : Type u_3} [Mul M] [Mul N] [Mul P] (g : N →ₙ* P) (f : M →ₙ* N) : Subsemigroup.map g f.srange = (g.comp f).srange - Subsemigroup.comap_map_eq_of_injective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Injective ⇑f) (S : Subsemigroup M) : Subsemigroup.comap f (Subsemigroup.map f S) = S - Subsemigroup.map_comap_eq_of_surjective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Surjective ⇑f) (S : Subsemigroup N) : Subsemigroup.map f (Subsemigroup.comap f S) = S - Subsemigroup.map_comap_eq_self 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} {S : Subsemigroup N} (h : S ≤ f.srange) : Subsemigroup.map f (Subsemigroup.comap f S) = S - Subsemigroup.map_map 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} {P : Type u_3} [Mul M] [Mul N] [Mul P] (S : Subsemigroup M) (g : N →ₙ* P) (f : M →ₙ* N) : Subsemigroup.map g (Subsemigroup.map f S) = Subsemigroup.map (g.comp f) S - Subsemigroup.map_strictMono_of_injective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Injective ⇑f) : StrictMono (Subsemigroup.map f) - Subsemigroup.coe_map 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) (S : Subsemigroup M) : ↑(Subsemigroup.map f S) = ⇑f '' ↑S - Subsemigroup.gciMapComap 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Injective ⇑f) : GaloisCoinsertion (Subsemigroup.map f) (Subsemigroup.comap f) - Subsemigroup.giMapComap 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Surjective ⇑f) : GaloisInsertion (Subsemigroup.map f) (Subsemigroup.comap f) - Subsemigroup.le_comap_of_map_le 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (S : Subsemigroup M) {T : Subsemigroup N} {f : M →ₙ* N} : Subsemigroup.map f S ≤ T → S ≤ Subsemigroup.comap f T - Subsemigroup.map_le_of_le_comap 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (S : Subsemigroup M) {T : Subsemigroup N} {f : M →ₙ* N} : S ≤ Subsemigroup.comap f T → Subsemigroup.map f S ≤ T - Subsemigroup.map_le_iff_le_comap 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} {S : Subsemigroup M} {T : Subsemigroup N} : Subsemigroup.map f S ≤ T ↔ S ≤ Subsemigroup.comap f T - Subsemigroup.mem_map_of_mem 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) {S : Subsemigroup M} {x : M} (hx : x ∈ S) : f x ∈ Subsemigroup.map f S - Subsemigroup.map_iSup 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {ι : Sort u_5} (f : M →ₙ* N) (s : ι → Subsemigroup M) : Subsemigroup.map f (iSup s) = ⨆ i, Subsemigroup.map f (s i) - Subsemigroup.comap_iInf_map_of_injective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {ι : Type u_5} {f : M →ₙ* N} (hf : Function.Injective ⇑f) (S : ι → Subsemigroup M) : Subsemigroup.comap f (⨅ i, Subsemigroup.map f (S i)) = iInf S - Subsemigroup.map_iInf_comap_of_surjective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {ι : Type u_5} {f : M →ₙ* N} (hf : Function.Surjective ⇑f) (S : ι → Subsemigroup N) : Subsemigroup.map f (⨅ i, Subsemigroup.comap f (S i)) = iInf S - Subsemigroup.map_iInf 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {ι : Sort u_5} [Nonempty ι] (f : M →ₙ* N) (hf : Function.Injective ⇑f) (s : ι → Subsemigroup M) : Subsemigroup.map f (iInf s) = ⨅ i, Subsemigroup.map f (s i) - Subsemigroup.comap_inf_map_of_injective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Injective ⇑f) (S T : Subsemigroup M) : Subsemigroup.comap f (Subsemigroup.map f S ⊓ Subsemigroup.map f T) = S ⊓ T - Subsemigroup.map_inf 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (S T : Subsemigroup M) (f : M →ₙ* N) (hf : Function.Injective ⇑f) : Subsemigroup.map f (S ⊓ T) = Subsemigroup.map f S ⊓ Subsemigroup.map f T - Subsemigroup.map_inf_comap_of_surjective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Surjective ⇑f) (S T : Subsemigroup N) : Subsemigroup.map f (Subsemigroup.comap f S ⊓ Subsemigroup.comap f T) = S ⊓ T - Subsemigroup.mem_map 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} {S : Subsemigroup M} {y : N} : y ∈ Subsemigroup.map f S ↔ ∃ x ∈ S, f x = y - Subsemigroup.map_equiv_top 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M ≃* N) : Subsemigroup.map ↑f ⊤ = ⊤ - Subsemigroup.map_sup 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (S T : Subsemigroup M) (f : M →ₙ* N) : Subsemigroup.map f (S ⊔ T) = Subsemigroup.map f S ⊔ Subsemigroup.map f T - Subsemigroup.map_le_map_iff_of_injective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Injective ⇑f) {S T : Subsemigroup M} : Subsemigroup.map f S ≤ Subsemigroup.map f T ↔ S ≤ T - Subsemigroup.mem_map_iff_mem 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Injective ⇑f) {S : Subsemigroup M} {x : M} : f x ∈ Subsemigroup.map f S ↔ x ∈ S - Subsemigroup.apply_coe_mem_map 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) (S : Subsemigroup M) (x : ↥S) : f ↑x ∈ Subsemigroup.map f S - Subsemigroup.comap_iSup_map_of_injective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {ι : Type u_5} {f : M →ₙ* N} (hf : Function.Injective ⇑f) (S : ι → Subsemigroup M) : Subsemigroup.comap f (⨆ i, Subsemigroup.map f (S i)) = iSup S - Subsemigroup.map_iSup_comap_of_surjective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {ι : Type u_5} {f : M →ₙ* N} (hf : Function.Surjective ⇑f) (S : ι → Subsemigroup N) : Subsemigroup.map f (⨆ i, Subsemigroup.comap f (S i)) = iSup S - MulHom.subsemigroupMap 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) (M' : Subsemigroup M) : ↥M' →ₙ* ↥(Subsemigroup.map f M') - Subsemigroup.comap_sup_map_of_injective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Injective ⇑f) (S T : Subsemigroup M) : Subsemigroup.comap f (Subsemigroup.map f S ⊔ Subsemigroup.map f T) = S ⊔ T - Subsemigroup.map_sup_comap_of_surjective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M →ₙ* N} (hf : Function.Surjective ⇑f) (S T : Subsemigroup N) : Subsemigroup.map f (Subsemigroup.comap f S ⊔ Subsemigroup.comap f T) = S ⊔ T - Subsemigroup.equivMapOfInjective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (S : Subsemigroup M) (f : M →ₙ* N) (hf : Function.Injective ⇑f) : ↥S ≃* ↥(Subsemigroup.map f S) - Subsemigroup.comap_equiv_eq_map_symm 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : N ≃* M) (K : Subsemigroup M) : Subsemigroup.comap (↑f) K = Subsemigroup.map (↑f.symm) K - Subsemigroup.map_equiv_eq_comap_symm 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M ≃* N) (K : Subsemigroup M) : Subsemigroup.map (↑f) K = Subsemigroup.comap (↑f.symm) K - Subsemigroup.mem_map_equiv 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {f : M ≃* N} {K : Subsemigroup M} {x : N} : x ∈ Subsemigroup.map (↑f) K ↔ f.symm x ∈ K - Subsemigroup.le_prod_iff 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {s : Subsemigroup M} {t : Subsemigroup N} {u : Subsemigroup (M × N)} : u ≤ s.prod t ↔ Subsemigroup.map (MulHom.fst M N) u ≤ s ∧ Subsemigroup.map (MulHom.snd M N) u ≤ t - MulEquiv.subsemigroupMap 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (e : M ≃* N) (S : Subsemigroup M) : ↥S ≃* ↥(Subsemigroup.map (↑e) S) - MulHom.subsemigroupMap_surjective 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) (M' : Subsemigroup M) : Function.Surjective ⇑(f.subsemigroupMap M') - MulHom.subsemigroupMap_apply_coe 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (f : M →ₙ* N) (M' : Subsemigroup M) (x : ↥M') : ↑((f.subsemigroupMap M') x) = f ↑x - Subsemigroup.coe_equivMapOfInjective_apply 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (S : Subsemigroup M) (f : M →ₙ* N) (hf : Function.Injective ⇑f) (x : ↥S) : ↑((S.equivMapOfInjective f hf) x) = f ↑x - MulEquiv.subsemigroupMap_apply_coe 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (e : M ≃* N) (S : Subsemigroup M) (x : ↥S) : ↑((e.subsemigroupMap S) x) = e ↑x - MulEquiv.subsemigroupMap_symm_apply_coe 📋 Mathlib.Algebra.Group.Subsemigroup.Operations
{M : Type u_1} {N : Type u_2} [Mul M] [Mul N] (e : M ≃* N) (S : Subsemigroup M) (x : ↥(Subsemigroup.map (↑e) S)) : ↑((e.subsemigroupMap S).symm x) = e.symm ↑x - Matrix.subsemigroupCenter_eq_scalar_map 📋 Mathlib.Data.Matrix.Basis
{n : Type u_3} {α : Type u_7} [DecidableEq n] [Fintype n] [Semiring α] : Subsemigroup.center (Matrix n n α) = Subsemigroup.map (↑↑(Matrix.scalar n)) (Subsemigroup.center α)
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.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 88c39f3 serving mathlib revision 9977002