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