Lω₁ω Theories and Semantic Entailment #
This file defines theories, models, semantic entailment, and elementary equivalence in Lω₁ω (countable infinitary logic with countable conjunctions/disjunctions).
Main Definitions #
Theoryω: A theory in Lω₁ω is a set of sentences.Theoryω.Model: A structure M is a model of theory T if it satisfies all sentences in T.LomegaEquiv: Lω₁ω-elementary equivalence between structures.
Main Results #
Theoryω.Model.empty: The empty theory has every structure as a model.Theoryω.Model.mono: Models are monotone: if T ⊆ T' and M ⊨ T', then M ⊨ T.LomegaEquiv.refl,LomegaEquiv.symm,LomegaEquiv.trans: LomegaEquiv is an equivalence relation.LomegaEquiv.of_equiv: Isomorphic structures are Lω₁ω-equivalent.
References #
Theories #
Isomorphism Invariance of Realization #
theorem
FirstOrder.Language.BoundedFormulaω.realize_equiv
{L : Language}
{M N : Type w}
[L.Structure M]
[L.Structure N]
(e : L.Equiv M N)
{α : Type u_1}
{n : ℕ}
(φ : L.BoundedFormulaω α n)
(v : α → M)
(xs : Fin n → M)
:
Realization of Lω₁ω formulas is preserved by language isomorphisms.
Given an isomorphism e : M ≃[L] N, a formula realized in M with variable assignments
v and xs is also realized in N with the transported assignments e ∘ v and e ∘ xs.
Lω₁ω Elementary Equivalence #
theorem
FirstOrder.Language.LomegaEquiv.refl
{L : Language}
{M : Type w}
[L.Structure M]
:
L.LomegaEquiv M M
Lω₁ω-equivalence is reflexive.
theorem
FirstOrder.Language.LomegaEquiv.symm
{L : Language}
{M : Type w}
[L.Structure M]
{N : Type w'}
[L.Structure N]
(h : L.LomegaEquiv M N)
:
L.LomegaEquiv N M
Lω₁ω-equivalence is symmetric.
theorem
FirstOrder.Language.LomegaEquiv.trans
{L : Language}
{M : Type w}
[L.Structure M]
{N : Type w'}
[L.Structure N]
{P : Type u_1}
[L.Structure P]
(h₁ : L.LomegaEquiv M N)
(h₂ : L.LomegaEquiv N P)
:
L.LomegaEquiv M P
Lω₁ω-equivalence is transitive.
theorem
FirstOrder.Language.LomegaEquiv.of_equiv
{L : Language}
{M N : Type w}
[L.Structure M]
[L.Structure N]
(e : L.Equiv M N)
:
L.LomegaEquiv M N
Isomorphic structures are Lω₁ω-equivalent.
The proof transports variable assignments along the isomorphism using
BoundedFormulaω.realize_equiv, then observes that e ∘ Empty.elim = Empty.elim
and e ∘ Fin.elim0 = Fin.elim0 since both domains are empty.