Loogle!
Result
Found 126 declarations mentioning FirstOrder.Language.Hom.
- FirstOrder.Language.Hom ๐ Mathlib.ModelTheory.Basic
(L : FirstOrder.Language) (M : Type w) (N : Type w') [L.Structure M] [L.Structure N] : Type (max w w') - FirstOrder.Language.Hom.id ๐ Mathlib.ModelTheory.Basic
(L : FirstOrder.Language) (M : Type w) [L.Structure M] : L.Hom M M - FirstOrder.Language.Hom.instInhabited ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} [L.Structure M] : Inhabited (L.Hom M M) - Function.emptyHom ๐ Mathlib.ModelTheory.Basic
{M : Type w} {N : Type w'} [FirstOrder.Language.empty.Structure M] [FirstOrder.Language.empty.Structure N] (f : M โ N) : FirstOrder.Language.empty.Hom M N - FirstOrder.Language.Hom.toFun ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (self : L.Hom M N) : M โ N - FirstOrder.Language.Hom.instFunLike ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] : FunLike (L.Hom M N) M N - FirstOrder.Language.Embedding.toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] : L.Embedding M N โ L.Hom M N - FirstOrder.Language.Equiv.toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] : L.Equiv M N โ L.Hom M N - FirstOrder.Language.Embedding.refl_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} [L.Structure M] : (FirstOrder.Language.Embedding.refl L M).toHom = FirstOrder.Language.Hom.id L M - FirstOrder.Language.Equiv.refl_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} [L.Structure M] : (FirstOrder.Language.Equiv.refl L M).toHom = FirstOrder.Language.Hom.id L M - FirstOrder.Language.Hom.homClass ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] : L.HomClass (L.Hom M N) M N - FirstOrder.Language.Hom.instStrongHomClassOfIsAlgebraic ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] [L.IsAlgebraic] : L.StrongHomClass (L.Hom M N) M N - FirstOrder.Language.HomClass.toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {F : Type u_3} {M : Type u_4} {N : Type u_5} [L.Structure M] [L.Structure N] [FunLike F M N] [L.HomClass F M N] : F โ L.Hom M N - FirstOrder.Language.Hom.id_apply ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} [L.Structure M] (x : M) : (FirstOrder.Language.Hom.id L M) x = x - FirstOrder.Language.Hom.comp ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {P : Type u_1} [L.Structure P] (hnp : L.Hom N P) (hmn : L.Hom M N) : L.Hom M P - FirstOrder.Language.Embedding.toHom_injective ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] : Function.Injective fun x => x.toHom - FirstOrder.Language.Hom.comp_id ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (f : L.Hom M N) : f.comp (FirstOrder.Language.Hom.id L M) = f - FirstOrder.Language.Hom.id_comp ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (f : L.Hom M N) : (FirstOrder.Language.Hom.id L N).comp f = f - Function.emptyHom_toFun ๐ Mathlib.ModelTheory.Basic
{M : Type w} {N : Type w'} [FirstOrder.Language.empty.Structure M] [FirstOrder.Language.empty.Structure N] (f : M โ N) (aโ : M) : (Function.emptyHom f) aโ = f aโ - FirstOrder.Language.Equiv.toEmbedding_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (f : L.Equiv M N) : f.toEmbedding.toHom = f.toHom - FirstOrder.Language.Hom.toFun_eq_coe ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {f : L.Hom M N} : f.toFun = โf - FirstOrder.Language.Embedding.ofInjective ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] [L.IsAlgebraic] {f : L.Hom M N} (hf : Function.Injective โf) : L.Embedding M N - FirstOrder.Language.Hom.map_constants ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (ฯ : L.Hom M N) (c : L.Constants) : ฯ โc = โc - FirstOrder.Language.Embedding.toHom_comp_injective ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {P : Type u_1} [L.Structure P] (h : L.Embedding N P) : Function.Injective h.toHom.comp - FirstOrder.Language.Hom.map_rel' ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (self : L.Hom M N) {n : โ} (r : L.Relations n) (x : Fin n โ M) : FirstOrder.Language.Structure.RelMap r x โ FirstOrder.Language.Structure.RelMap r (self.toFun โ x) - FirstOrder.Language.Embedding.toHom_inj ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {f g : L.Embedding M N} : f.toHom = g.toHom โ f = g - FirstOrder.Language.Equiv.self_comp_symm_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (f : L.Equiv M N) : f.toHom.comp f.symm.toHom = FirstOrder.Language.Hom.id L N - FirstOrder.Language.Equiv.symm_comp_self_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (f : L.Equiv M N) : f.symm.toHom.comp f.toHom = FirstOrder.Language.Hom.id L M - FirstOrder.Language.Hom.map_fun' ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (self : L.Hom M N) {n : โ} (f : L.Functions n) (x : Fin n โ M) : self.toFun (FirstOrder.Language.Structure.funMap f x) = FirstOrder.Language.Structure.funMap f (self.toFun โ x) - FirstOrder.Language.Embedding.coe_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {f : L.Embedding M N} : โf.toHom = โf - FirstOrder.Language.Hom.map_rel ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (ฯ : L.Hom M N) {n : โ} (r : L.Relations n) (x : Fin n โ M) : FirstOrder.Language.Structure.RelMap r x โ FirstOrder.Language.Structure.RelMap r (โฯ โ x) - FirstOrder.Language.Embedding.ofInjective_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] [L.IsAlgebraic] {f : L.Hom M N} (hf : Function.Injective โf) : (FirstOrder.Language.Embedding.ofInjective hf).toHom = f - FirstOrder.Language.HomClass.toHom_toFun ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {F : Type u_3} {M : Type u_4} {N : Type u_5} [L.Structure M] [L.Structure N] [FunLike F M N] [L.HomClass F M N] (aโ : F) (a : M) : (FirstOrder.Language.HomClass.toHom aโ) a = aโ a - FirstOrder.Language.Equiv.coe_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {f : L.Equiv M N} : โf.toHom = โf - FirstOrder.Language.Hom.ext ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] โฆf g : L.Hom M Nโฆ (h : โ (x : M), f x = g x) : f = g - FirstOrder.Language.Embedding.comp_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {P : Type u_1} [L.Structure P] (hnp : L.Embedding N P) (hmn : L.Embedding M N) : (hnp.comp hmn).toHom = hnp.toHom.comp hmn.toHom - FirstOrder.Language.Equiv.comp_toHom ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {P : Type u_1} [L.Structure P] (hnp : L.Equiv N P) (hmn : L.Equiv M N) : (hnp.comp hmn).toHom = hnp.toHom.comp hmn.toHom - FirstOrder.Language.Hom.ext_iff ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {f g : L.Hom M N} : f = g โ โ (x : M), f x = g x - FirstOrder.Language.Hom.map_fun ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (ฯ : L.Hom M N) {n : โ} (f : L.Functions n) (x : Fin n โ M) : ฯ (FirstOrder.Language.Structure.funMap f x) = FirstOrder.Language.Structure.funMap f (โฯ โ x) - FirstOrder.Language.Hom.mk ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (toFun : M โ N) (map_fun' : โ {n : โ} (f : L.Functions n) (x : Fin n โ M), toFun (FirstOrder.Language.Structure.funMap f x) = FirstOrder.Language.Structure.funMap f (toFun โ x) := by intros; trivial) (map_rel' : โ {n : โ} (r : L.Relations n) (x : Fin n โ M), FirstOrder.Language.Structure.RelMap r x โ FirstOrder.Language.Structure.RelMap r (toFun โ x) := by intros; trivial) : L.Hom M N - FirstOrder.Language.Embedding.toHom_comp_inj ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {P : Type u_1} [L.Structure P] (h : L.Embedding N P) (f g : L.Hom M N) : h.toHom.comp f = h.toHom.comp g โ f = g - FirstOrder.Language.Hom.comp_assoc ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {P : Type u_1} [L.Structure P] {Q : Type u_2} [L.Structure Q] (f : L.Hom M N) (g : L.Hom N P) (h : L.Hom P Q) : (h.comp g).comp f = h.comp (g.comp f) - FirstOrder.Language.Embedding.coeFn_ofInjective ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] [L.IsAlgebraic] {f : L.Hom M N} (hf : Function.Injective โf) : โ(FirstOrder.Language.Embedding.ofInjective hf) = โf - FirstOrder.Language.Embedding.ofInjective_toFun ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] [L.IsAlgebraic] {f : L.Hom M N} (hf : Function.Injective โf) (aโ : M) : (FirstOrder.Language.Embedding.ofInjective hf) aโ = f aโ - FirstOrder.Language.Hom.comp_apply ๐ Mathlib.ModelTheory.Basic
{L : FirstOrder.Language} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] {P : Type u_1} [L.Structure P] (g : L.Hom N P) (f : L.Hom M N) (x : M) : (g.comp f) x = g (f x) - FirstOrder.Language.Hom.range ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) : L.Substructure N - FirstOrder.Language.Substructure.comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (ฯ : L.Hom M N) (S : L.Substructure N) : L.Substructure M - FirstOrder.Language.Substructure.map ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (ฯ : L.Hom M N) (S : L.Substructure M) : L.Substructure N - FirstOrder.Language.Hom.eqLocus ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f g : L.Hom M N) : L.Substructure M - FirstOrder.Language.Hom.range_eq_map ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) : f.range = FirstOrder.Language.Substructure.map f โค - FirstOrder.Language.Substructure.comap_top ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) : FirstOrder.Language.Substructure.comap f โค = โค - FirstOrder.Language.Hom.domRestrict ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) (p : L.Substructure M) : L.Hom (โฅp) N - FirstOrder.Language.Substructure.monotone_comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} : Monotone (FirstOrder.Language.Substructure.comap f) - FirstOrder.Language.Substructure.monotone_map ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} : Monotone (FirstOrder.Language.Substructure.map f) - FirstOrder.Language.Substructure.comap_injective_of_surjective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Surjective โf) : Function.Injective (FirstOrder.Language.Substructure.comap f) - FirstOrder.Language.Substructure.comap_surjective_of_injective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Injective โf) : Function.Surjective (FirstOrder.Language.Substructure.comap f) - FirstOrder.Language.Substructure.map_injective_of_injective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Injective โf) : Function.Injective (FirstOrder.Language.Substructure.map f) - FirstOrder.Language.Substructure.map_surjective_of_surjective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Surjective โf) : Function.Surjective (FirstOrder.Language.Substructure.map f) - FirstOrder.Language.Hom.map_le_range ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} {p : L.Substructure M} : FirstOrder.Language.Substructure.map f p โค f.range - FirstOrder.Language.Substructure.comap_map_comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {S : L.Substructure N} {f : L.Hom M N} : FirstOrder.Language.Substructure.comap f (FirstOrder.Language.Substructure.map f (FirstOrder.Language.Substructure.comap f S)) = FirstOrder.Language.Substructure.comap f S - FirstOrder.Language.Substructure.le_comap_map ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (S : L.Substructure M) {f : L.Hom M N} : S โค FirstOrder.Language.Substructure.comap f (FirstOrder.Language.Substructure.map f S) - FirstOrder.Language.Substructure.map_comap_le ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {S : L.Substructure N} {f : L.Hom M N} : FirstOrder.Language.Substructure.map f (FirstOrder.Language.Substructure.comap f S) โค S - FirstOrder.Language.Substructure.map_comap_map ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (S : L.Substructure M) {f : L.Hom M N} : FirstOrder.Language.Substructure.map f (FirstOrder.Language.Substructure.comap f (FirstOrder.Language.Substructure.map f S)) = FirstOrder.Language.Substructure.map f S - FirstOrder.Language.Hom.range_coe ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) : โf.range = Set.range โf - FirstOrder.Language.Substructure.gc_map_comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) : GaloisConnection (FirstOrder.Language.Substructure.map f) (FirstOrder.Language.Substructure.comap f) - FirstOrder.Language.Hom.mem_range_self ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) (x : M) : f x โ f.range - FirstOrder.Language.Hom.range_eq_top ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} : f.range = โค โ Function.Surjective โf - FirstOrder.Language.Hom.range_comp ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} {P : Type u_2} [L.Structure M] [L.Structure N] [L.Structure P] (f : L.Hom M N) (g : L.Hom N P) : (g.comp f).range = FirstOrder.Language.Substructure.map g f.range - FirstOrder.Language.Substructure.comap_map_eq_of_injective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Injective โf) (S : L.Substructure M) : FirstOrder.Language.Substructure.comap f (FirstOrder.Language.Substructure.map f S) = S - FirstOrder.Language.Substructure.map_comap_eq_of_surjective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Surjective โf) (S : L.Substructure N) : FirstOrder.Language.Substructure.map f (FirstOrder.Language.Substructure.comap f S) = S - FirstOrder.Language.Hom.mem_range ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} {x : N} : x โ f.range โ โ y, f y = x - FirstOrder.Language.Substructure.comap_comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} {P : Type u_2} [L.Structure M] [L.Structure N] [L.Structure P] (S : L.Substructure P) (g : L.Hom N P) (f : L.Hom M N) : FirstOrder.Language.Substructure.comap f (FirstOrder.Language.Substructure.comap g S) = FirstOrder.Language.Substructure.comap (g.comp f) S - FirstOrder.Language.Substructure.comap_iInf ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {ฮน : Sort u_3} (f : L.Hom M N) (s : ฮน โ L.Substructure N) : FirstOrder.Language.Substructure.comap f (โจ i, s i) = โจ i, FirstOrder.Language.Substructure.comap f (s i) - FirstOrder.Language.Substructure.map_map ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} {P : Type u_2} [L.Structure M] [L.Structure N] [L.Structure P] (S : L.Substructure M) (g : L.Hom N P) (f : L.Hom M N) : FirstOrder.Language.Substructure.map g (FirstOrder.Language.Substructure.map f S) = FirstOrder.Language.Substructure.map (g.comp f) S - FirstOrder.Language.Hom.range_comp_le_range ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} {P : Type u_2} [L.Structure M] [L.Structure N] [L.Structure P] (f : L.Hom M N) (g : L.Hom N P) : (g.comp f).range โค g.range - FirstOrder.Language.Hom.range_le_iff_comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} {p : L.Substructure N} : f.range โค p โ FirstOrder.Language.Substructure.comap f p = โค - FirstOrder.Language.Substructure.comap_strictMono_of_surjective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Surjective โf) : StrictMono (FirstOrder.Language.Substructure.comap f) - FirstOrder.Language.Substructure.map_strictMono_of_injective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Injective โf) : StrictMono (FirstOrder.Language.Substructure.map f) - FirstOrder.Language.Substructure.coe_comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (ฯ : L.Hom M N) (S : L.Substructure N) : โ(FirstOrder.Language.Substructure.comap ฯ S) = โฯ โปยน' โS - FirstOrder.Language.Substructure.coe_map ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (ฯ : L.Hom M N) (S : L.Substructure M) : โ(FirstOrder.Language.Substructure.map ฯ S) = โฯ '' โS - FirstOrder.Language.Substructure.comap_inf ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (S T : L.Substructure N) (f : L.Hom M N) : FirstOrder.Language.Substructure.comap f (S โ T) = FirstOrder.Language.Substructure.comap f S โ FirstOrder.Language.Substructure.comap f T - FirstOrder.Language.Substructure.gciMapComap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Injective โf) : GaloisCoinsertion (FirstOrder.Language.Substructure.map f) (FirstOrder.Language.Substructure.comap f) - FirstOrder.Language.Substructure.giMapComap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Surjective โf) : GaloisInsertion (FirstOrder.Language.Substructure.map f) (FirstOrder.Language.Substructure.comap f) - FirstOrder.Language.Substructure.le_comap_of_map_le ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (S : L.Substructure M) {T : L.Substructure N} {f : L.Hom M N} : FirstOrder.Language.Substructure.map f S โค T โ S โค FirstOrder.Language.Substructure.comap f T - FirstOrder.Language.Substructure.map_le_of_le_comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (S : L.Substructure M) {T : L.Substructure N} {f : L.Hom M N} : S โค FirstOrder.Language.Substructure.comap f T โ FirstOrder.Language.Substructure.map f S โค T - FirstOrder.Language.Substructure.map_le_iff_le_comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} {S : L.Substructure M} {T : L.Substructure N} : FirstOrder.Language.Substructure.map f S โค T โ S โค FirstOrder.Language.Substructure.comap f T - FirstOrder.Language.Substructure.mem_map_of_mem ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) {S : L.Substructure M} {x : M} (hx : x โ S) : f x โ FirstOrder.Language.Substructure.map f S - FirstOrder.Language.Substructure.mem_comap ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {S : L.Substructure N} {f : L.Hom M N} {x : M} : x โ FirstOrder.Language.Substructure.comap f S โ f x โ S - FirstOrder.Language.Hom.codRestrict ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (p : L.Substructure N) (f : L.Hom M N) (h : โ (c : M), f c โ p) : L.Hom M โฅp - FirstOrder.Language.Hom.eq_of_eqOn_top ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f g : L.Hom M N} (h : Set.EqOn โf โg โโค) : f = g - FirstOrder.Language.Hom.mem_eqLocus ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f g : L.Hom M N} {x : M} : x โ f.eqLocus g โ f x = g x - FirstOrder.Language.Substructure.comap_iInf_map_of_injective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {ฮน : Type u_3} {f : L.Hom M N} (hf : Function.Injective โf) (S : ฮน โ L.Substructure M) : FirstOrder.Language.Substructure.comap f (โจ i, FirstOrder.Language.Substructure.map f (S i)) = โจ i, S i - FirstOrder.Language.Substructure.map_iInf_comap_of_surjective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {ฮน : Type u_3} {f : L.Hom M N} (hf : Function.Surjective โf) (S : ฮน โ L.Substructure N) : FirstOrder.Language.Substructure.map f (โจ i, FirstOrder.Language.Substructure.comap f (S i)) = โจ i, S i - FirstOrder.Language.Substructure.map_iSup ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {ฮน : Sort u_3} (f : L.Hom M N) (s : ฮน โ L.Substructure M) : FirstOrder.Language.Substructure.map f (โจ i, s i) = โจ i, FirstOrder.Language.Substructure.map f (s i) - FirstOrder.Language.Substructure.mem_map ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} {S : L.Substructure M} {y : N} : y โ FirstOrder.Language.Substructure.map f S โ โ x โ S, f x = y - FirstOrder.Language.Substructure.comap_inf_map_of_injective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Injective โf) (S T : L.Substructure M) : FirstOrder.Language.Substructure.comap f (FirstOrder.Language.Substructure.map f S โ FirstOrder.Language.Substructure.map f T) = S โ T - FirstOrder.Language.Substructure.map_inf_comap_of_surjective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Surjective โf) (S T : L.Substructure N) : FirstOrder.Language.Substructure.map f (FirstOrder.Language.Substructure.comap f S โ FirstOrder.Language.Substructure.comap f T) = S โ T - FirstOrder.Language.Substructure.comap_le_comap_iff_of_surjective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Surjective โf) {S T : L.Substructure N} : FirstOrder.Language.Substructure.comap f S โค FirstOrder.Language.Substructure.comap f T โ S โค T - FirstOrder.Language.Substructure.map_le_map_iff_of_injective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Injective โf) {S T : L.Substructure M} : FirstOrder.Language.Substructure.map f S โค FirstOrder.Language.Substructure.map f T โ S โค T - FirstOrder.Language.Substructure.apply_coe_mem_map ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) (S : L.Substructure M) (x : โฅS) : f โx โ FirstOrder.Language.Substructure.map f S - FirstOrder.Language.Substructure.comap_iSup_map_of_injective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {ฮน : Type u_3} {f : L.Hom M N} (hf : Function.Injective โf) (S : ฮน โ L.Substructure M) : FirstOrder.Language.Substructure.comap f (โจ i, FirstOrder.Language.Substructure.map f (S i)) = โจ i, S i - FirstOrder.Language.Substructure.map_iSup_comap_of_surjective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {ฮน : Type u_3} {f : L.Hom M N} (hf : Function.Surjective โf) (S : ฮน โ L.Substructure N) : FirstOrder.Language.Substructure.map f (โจ i, FirstOrder.Language.Substructure.comap f (S i)) = โจ i, S i - FirstOrder.Language.Substructure.map_sup ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (S T : L.Substructure M) (f : L.Hom M N) : FirstOrder.Language.Substructure.map f (S โ T) = FirstOrder.Language.Substructure.map f S โ FirstOrder.Language.Substructure.map f T - FirstOrder.Language.Hom.domRestrict_comp_codRestrict ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} {P : Type u_2} [L.Structure M] [L.Structure N] [L.Structure P] (g : L.Hom N P) (f : L.Hom M N) (p : L.Substructure N) (h : โ (b : M), f b โ p) : (g.domRestrict p).comp (FirstOrder.Language.Hom.codRestrict p f h) = g.comp f - FirstOrder.Language.Substructure.comap_sup_map_of_injective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Injective โf) (S T : L.Substructure M) : FirstOrder.Language.Substructure.comap f (FirstOrder.Language.Substructure.map f S โ FirstOrder.Language.Substructure.map f T) = S โ T - FirstOrder.Language.Substructure.map_sup_comap_of_surjective ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f : L.Hom M N} (hf : Function.Surjective โf) (S T : L.Substructure N) : FirstOrder.Language.Substructure.map f (FirstOrder.Language.Substructure.comap f S โ FirstOrder.Language.Substructure.comap f T) = S โ T - FirstOrder.Language.Hom.eq_of_eqOn_dense ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {s : Set M} (hs : (FirstOrder.Language.Substructure.closure L).toFun s = โค) {f g : L.Hom M N} (h : Set.EqOn (โf) (โg) s) : f = g - FirstOrder.Language.Hom.subtype_comp_codRestrict ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) (p : L.Substructure N) (h : โ (b : M), f b โ p) : p.subtype.toHom.comp (FirstOrder.Language.Hom.codRestrict p f h) = f - FirstOrder.Language.Substructure.closure_image ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {s : Set M} (f : L.Hom M N) : (FirstOrder.Language.Substructure.closure L).toFun (โf '' s) = FirstOrder.Language.Substructure.map f ((FirstOrder.Language.Substructure.closure L).toFun s) - FirstOrder.Language.Substructure.map_closure ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) (s : Set M) : FirstOrder.Language.Substructure.map f ((FirstOrder.Language.Substructure.closure L).toFun s) = (FirstOrder.Language.Substructure.closure L).toFun (โf '' s) - FirstOrder.Language.Hom.eqOn_closure ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {f g : L.Hom M N} {s : Set M} (h : Set.EqOn (โf) (โg) s) : Set.EqOn โf โg โ((FirstOrder.Language.Substructure.closure L).toFun s) - FirstOrder.Language.Hom.comp_codRestrict ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} {P : Type u_2} [L.Structure M] [L.Structure N] [L.Structure P] (f : L.Hom M N) (g : L.Hom N P) (p : L.Substructure P) (h : โ (b : N), g b โ p) : (FirstOrder.Language.Hom.codRestrict p g h).comp f = FirstOrder.Language.Hom.codRestrict p (g.comp f) โฏ - FirstOrder.Language.Hom.codRestrict_toFun_coe ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (p : L.Substructure N) (f : L.Hom M N) (h : โ (c : M), f c โ p) (c : M) : โ((FirstOrder.Language.Hom.codRestrict p f h) c) = f c - FirstOrder.Language.Substructure.map_bot ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) : FirstOrder.Language.Substructure.map f โฅ = โฅ - FirstOrder.Language.Hom.domRestrict_toFun ๐ Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Hom M N) (p : L.Substructure M) (aโ : โฅp) : (f.domRestrict p) aโ = f โaโ - FirstOrder.Language.ElementaryEmbedding.toHom ๐ Mathlib.ModelTheory.ElementaryMaps
{L : FirstOrder.Language} {M : Type u_1} {N : Type u_2} [L.Structure M] [L.Structure N] (f : L.ElementaryEmbedding M N) : L.Hom M N - FirstOrder.Language.ElementaryEmbedding.toEmbedding_toHom ๐ Mathlib.ModelTheory.ElementaryMaps
{L : FirstOrder.Language} {M : Type u_1} {N : Type u_2} [L.Structure M] [L.Structure N] (f : L.ElementaryEmbedding M N) : f.toEmbedding.toHom = f.toHom - FirstOrder.Language.ElementaryEmbedding.coe_toHom ๐ Mathlib.ModelTheory.ElementaryMaps
{L : FirstOrder.Language} {M : Type u_1} {N : Type u_2} [L.Structure M] [L.Structure N] {f : L.ElementaryEmbedding M N} : โf.toHom = โf - FirstOrder.Language.Structure.FG.countable_hom ๐ Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] (N : Type u_2) [L.Structure N] [Countable N] (h : FirstOrder.Language.Structure.FG L M) : Countable (L.Hom M N) - FirstOrder.Language.Structure.FG.instCountable_hom ๐ Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] (N : Type u_2) [L.Structure N] [Countable N] [h : FirstOrder.Language.Structure.FG L M] : Countable (L.Hom M N) - FirstOrder.Language.Structure.CG.range ๐ Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] {N : Type u_2} [L.Structure N] (h : FirstOrder.Language.Structure.CG L M) (f : L.Hom M N) : f.range.CG - FirstOrder.Language.Structure.FG.range ๐ Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] {N : Type u_2} [L.Structure N] (h : FirstOrder.Language.Structure.FG L M) (f : L.Hom M N) : f.range.FG - FirstOrder.Language.Substructure.CG.map ๐ Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] {N : Type u_2} [L.Structure N] (f : L.Hom M N) {s : L.Substructure M} (hs : s.CG) : (FirstOrder.Language.Substructure.map f s).CG - FirstOrder.Language.Substructure.FG.map ๐ Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] {N : Type u_2} [L.Structure N] (f : L.Hom M N) {s : L.Substructure M} (hs : s.FG) : (FirstOrder.Language.Substructure.map f s).FG - FirstOrder.Language.Structure.CG.map_of_surjective ๐ Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] {N : Type u_2} [L.Structure N] (h : FirstOrder.Language.Structure.CG L M) (f : L.Hom M N) (hs : Function.Surjective โf) : FirstOrder.Language.Structure.CG L N - FirstOrder.Language.Structure.FG.map_of_surjective ๐ Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] {N : Type u_2} [L.Structure N] (h : FirstOrder.Language.Structure.FG L M) (f : L.Hom M N) (hs : Function.Surjective โf) : FirstOrder.Language.Structure.FG L N
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. 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 9f11169 serving mathlib revision ce5dd8c