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
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 : L.ElementaryEmbedding M N) => ↑f, coe_injective' := ⋯ }
An elementary embedding is also a first-order embedding.
Equations
- f.toEmbedding = { toFun := ⇑f, inj' := ⋯, map_fun' := ⋯, map_rel' := ⋯ }
Instances For
An elementary embedding is also a first-order homomorphism.
Equations
- f.toHom = { 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.instInhabited = { default := FirstOrder.Language.ElementaryEmbedding.refl L M }
Composition of elementary embeddings
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
- L.elementaryDiagram M = (L.withConstants M).completeTheory M
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
- f.toElementaryEmbedding htv = { toFun := ⇑f, map_formula' := ⋯ }
Instances For
A first-order equivalence is also an elementary embedding.
Equations
- f.toElementaryEmbedding = { toFun := ⇑f, map_formula' := ⋯ }