Loogle!
Result
Found 48 declarations mentioning FirstOrder.Language.Substructure.map.
- 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.Substructure.map_id 📋 Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} [L.Structure M] (S : L.Substructure M) : FirstOrder.Language.Substructure.map (FirstOrder.Language.Hom.id L M) S = S - 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.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.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.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.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.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.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.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_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.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.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.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.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.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.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.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.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.Embedding.substructureEquivMap 📋 Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Embedding M N) (s : L.Substructure M) : L.Equiv ↥s ↥(FirstOrder.Language.Substructure.map f.toHom s) - 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.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.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.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.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.Embedding.subtype_substructureEquivMap 📋 Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Embedding M N) (s : L.Substructure M) : (FirstOrder.Language.Substructure.map f.toHom s).subtype.comp (f.substructureEquivMap s).toEmbedding = f.comp s.subtype - FirstOrder.Language.Embedding.substructureEquivMap_apply 📋 Mathlib.ModelTheory.Substructures
{L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] (f : L.Embedding M N) (p : L.Substructure M) (x : ↥p) : ↑((f.substructureEquivMap p) x) = f ↑x - 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.Substructure.CG.of_map_embedding 📋 Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] {N : Type u_2} [L.Structure N] (f : L.Embedding M N) {s : L.Substructure M} (hs : (FirstOrder.Language.Substructure.map f.toHom s).CG) : s.CG - FirstOrder.Language.Substructure.FG.of_map_embedding 📋 Mathlib.ModelTheory.FinitelyGenerated
{L : FirstOrder.Language} {M : Type u_1} [L.Structure M] {N : Type u_2} [L.Structure N] (f : L.Embedding M N) {s : L.Substructure M} (hs : (FirstOrder.Language.Substructure.map f.toHom s).FG) : s.FG - FirstOrder.Language.DirectLimit.exists_fg_substructure_in_Sigma 📋 Mathlib.ModelTheory.DirectLimit
{L : FirstOrder.Language} {ι : Type v} [Preorder ι] {G : ι → Type w} [(i : ι) → L.Structure (G i)] {f : (i j : ι) → i ≤ j → L.Embedding (G i) (G j)} [IsDirected ι fun x1 x2 => x1 ≤ x2] [DirectedSystem G fun i j h => ⇑(f i j h)] [Nonempty ι] (S : L.Substructure (FirstOrder.Language.DirectLimit G f)) (S_fg : S.FG) : ∃ i T, FirstOrder.Language.Substructure.map (FirstOrder.Language.DirectLimit.of L ι G f i).toHom T = 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