Documentation

Mathlib.ModelTheory.ElementarySubstructures

Elementary Substructures #

Main Definitions #

Main Results #

A substructure is elementary when every formula applied to a tuple in the substructure agrees with its value in the overall structure.

Equations

An elementary substructure is one in which every formula applied to a tuple in the substructure agrees with its value in the overall structure.

The natural embedding of an L.Substructure of M into M.

Equations
@[deprecated FirstOrder.Language.ElementarySubstructure.coe_subtype (since := "2025-02-18")]

Alias of FirstOrder.Language.ElementarySubstructure.coe_subtype.

The substructure M of the structure M is elementary.

Equations
theorem FirstOrder.Language.Substructure.isElementary_of_exists {L : Language} {M : Type u_1} [L.Structure M] (S : L.Substructure M) (htv : ∀ (n : ) (φ : L.BoundedFormula Empty (n + 1)) (x : Fin nS) (a : M), φ.Realize default (Fin.snoc (Subtype.val x) a)∃ (b : S), φ.Realize default (Fin.snoc (Subtype.val x) b)) :

The Tarski-Vaught test for elementarity of a substructure.

def FirstOrder.Language.Substructure.toElementarySubstructure {L : Language} {M : Type u_1} [L.Structure M] (S : L.Substructure M) (htv : ∀ (n : ) (φ : L.BoundedFormula Empty (n + 1)) (x : Fin nS) (a : M), φ.Realize default (Fin.snoc (Subtype.val x) a)∃ (b : S), φ.Realize default (Fin.snoc (Subtype.val x) b)) :

Bundles a substructure satisfying the Tarski-Vaught test as an elementary substructure.

Equations
@[simp]
theorem FirstOrder.Language.Substructure.toElementarySubstructure_toSubstructure {L : Language} {M : Type u_1} [L.Structure M] (S : L.Substructure M) (htv : ∀ (n : ) (φ : L.BoundedFormula Empty (n + 1)) (x : Fin nS) (a : M), φ.Realize default (Fin.snoc (Subtype.val x) a)∃ (b : S), φ.Realize default (Fin.snoc (Subtype.val x) b)) :