Elementary Maps Between First-Order Structures #
Main Definitions #
- A
FirstOrder.Language.ElementaryEmbedding
is an embedding that commutes with the realizations of formulas. - The
FirstOrder.Language.elementaryDiagram
of a structure is the set of all sentences with parameters that the structure satisfies. FirstOrder.Language.ElementaryEmbedding.ofModelsElementaryDiagram
is the canonical elementary embedding of any structure into a model of its elementary diagram.
Main Results #
- The Tarski-Vaught Test for embeddings:
FirstOrder.Language.Embedding.isElementary_of_exists
gives a simple criterion for an embedding to be elementary.
An elementary embedding of first-order structures is an embedding that commutes with the realizations of formulas.
- toFun : M → N
- map_formula' : ∀ ⦃n : ℕ⦄ (φ : FirstOrder.Language.Formula L (Fin n)) (x : Fin n → M), FirstOrder.Language.Formula.Realize φ (↑self ∘ x) ↔ FirstOrder.Language.Formula.Realize φ x
Instances For
An elementary embedding of first-order structures is an embedding that commutes with the realizations of formulas.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- FirstOrder.Language.ElementaryEmbedding.instFunLike = { coe := fun (f : FirstOrder.Language.ElementaryEmbedding L M N) => ↑f, coe_injective' := ⋯ }
Equations
- FirstOrder.Language.ElementaryEmbedding.instCoeFunElementaryEmbeddingForAll = DFunLike.hasCoeToFun
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
An elementary embedding is also a first-order embedding.
Equations
- FirstOrder.Language.ElementaryEmbedding.toEmbedding f = { toEmbedding := { toFun := ⇑f, inj' := ⋯ }, map_fun' := ⋯, map_rel' := ⋯ }
Instances For
An elementary embedding is also a first-order homomorphism.
Equations
- FirstOrder.Language.ElementaryEmbedding.toHom f = { toFun := ⇑f, map_fun' := ⋯, map_rel' := ⋯ }
Instances For
The identity elementary embedding from a structure to itself
Equations
- FirstOrder.Language.ElementaryEmbedding.refl L M = { toFun := id, map_formula' := ⋯ }
Instances For
Equations
- FirstOrder.Language.ElementaryEmbedding.instInhabitedElementaryEmbedding = { default := FirstOrder.Language.ElementaryEmbedding.refl L M }
Composition of elementary embeddings
Equations
- FirstOrder.Language.ElementaryEmbedding.comp hnp hmn = { toFun := ⇑hnp ∘ ⇑hmn, map_formula' := ⋯ }
Instances For
Composition of elementary embeddings is associative.
The elementary diagram of an L
-structure is the set of all sentences with parameters it
satisfies.
Equations
Instances For
The canonical elementary embedding of an L
-structure into any model of its elementary diagram
Equations
- FirstOrder.Language.ElementaryEmbedding.ofModelsElementaryDiagram L M N = { toFun := FirstOrder.Language.constantMap ∘ Sum.inr, map_formula' := ⋯ }
Instances For
The Tarski-Vaught test for elementarity of an embedding.
Bundles an embedding satisfying the Tarski-Vaught test as an elementary embedding.
Equations
- FirstOrder.Language.Embedding.toElementaryEmbedding f htv = { toFun := ⇑f, map_formula' := ⋯ }
Instances For
A first-order equivalence is also an elementary embedding.
Equations
- FirstOrder.Language.Equiv.toElementaryEmbedding f = { toFun := ⇑f, map_formula' := ⋯ }