Model theory
ClassFirst-order structure#
A first-order structure on a type M consists of interpretations of all the symbols in a given
language. Each function of arity n is interpreted as a function sending tuples of length n
(modeled as (Fin n → M)) to M, and a relation of arity n is a function from tuples of length
n to Prop.
FirstOrder.Language.Structure.{u, v, w} (L : FirstOrder.Language) (M : Type w) :
Type (max (max u v) w)
Sources
Uses 1 · Used by 5
AbbreviationFirst-order formula#
Formula α is the type of formulas with free variables indexed by α and no bound variables in
scope.
FirstOrder.Language.Formula.{u, v, u'} (L : FirstOrder.Language) (α : Type u') : Type (max u v u')
Sources
Uses 1 · Used by 4
DefinitionSatisfiability#
A theory is satisfiable if a structure models it.
FirstOrder.Language.Theory.IsSatisfiable.{u, v} {L : FirstOrder.Language} (T : L.Theory) : Prop
Sources
Uses 2 · Used by 2
StructureSubstructure#
A substructure of a structure M is a set closed under application of function symbols.
FirstOrder.Language.Substructure.{u, v, w} (L : FirstOrder.Language) (M : Type w) [L.Structure M] :
Type w
Sources
Uses 1 · Used by 1
DefinitionDefinable set#
A subset of a finite Cartesian product of a structure is definable over a set A when
membership in the set is given by a first-order formula with parameters from A.
Set.Definable.{u, v, w, u₁} {M : Type w} (A : Set M) (L : FirstOrder.Language) [L.Structure M]
{α : Type u₁} (s : Set (α → M)) : Prop
Sources
Uses 2 · Used by 1
StructureElementary embedding#
An elementary embedding of first-order structures is an embedding that commutes with the realizations of formulas.
FirstOrder.Language.ElementaryEmbedding.{u_1, u_2, u_5, u_6} (L : FirstOrder.Language)
(M : Type u_1) (N : Type u_2) [L.Structure M] [L.Structure N] : Type (max u_1 u_2)
Sources
Uses 2 · Used by 1
TheoremCompactness theorem#
The Compactness Theorem of first-order logic: A theory is satisfiable if and only if it is finitely satisfiable.
FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiable.{u, v} {L : FirstOrder.Language}
{T : L.Theory} : T.IsSatisfiable ↔ T.IsFinitelySatisfiable
Sources
- Mathlib documentation:
FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiable - Source of
FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiablein Mathlib/ModelTheory/Satisfiability.lean - Mathlib overview: Logic and computation › Model theory
- 1000+ theorems list: Q1149458
- 1000+ theorems project: Q1149458
- Wikipedia: Compactness theorem
- Wikidata: Q1149458
Uses 3 · Used by 1
TheoremLöwenheim-Skolem#
The Löwenheim–Skolem Theorem: If κ is a cardinal greater than the cardinalities of L
and an infinite L-structure M, then there is an elementary embedding in the appropriate
direction between then M and a structure of cardinality κ.
FirstOrder.Language.exists_elementaryEmbedding_card_eq.{u, v, w, w'} (L : FirstOrder.Language)
(M : Type w') [L.Structure M] [iM : Infinite M] (κ : Cardinal.{w}) (h1 : Cardinal.aleph0 ≤ κ)
(h2 : Cardinal.lift.{w, max u v} L.card ≤ Cardinal.lift.{max u v, w} κ) :
∃ N,
(Nonempty (L.ElementaryEmbedding (↑N) M) ∨ Nonempty (L.ElementaryEmbedding M ↑N)) ∧
Cardinal.mk ↑N = κ
Sources
- Mathlib documentation:
FirstOrder.Language.exists_elementaryEmbedding_card_eq - Source of
FirstOrder.Language.exists_elementaryEmbedding_card_eqin Mathlib/ModelTheory/Satisfiability.lean - Mathlib overview: Logic and computation › Model theory
- 1000+ theorems list: Q1068283
- 1000+ theorems project: Q1068283
- Wikipedia: Löwenheim–Skolem theorem
- Wikidata: Q1068283
Uses 5
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.