Documentation

Foundation.FirstOrder.LK.Soundness

Soundness theorem for first-order classical logic #

theorem FFL.FirstOrder.LK.Derivation.sound {L : Language} {M : Type u_1} [s : Tarski.Structure L M] [Nonempty M] (f : ℕ → M) {Γ : Sequent L} :
∀ (a : ⊢ᴸᴷ¹ Γ), ∃ φ ∈ Γ, (Semiformula.Evalf f) φ
theorem FFL.FirstOrder.LK.Proof.sound {L : Language} {M : Type u_1} [s : Tarski.Structure L M] [Nonempty M] {φ : Proposition L} (f : ℕ → M) :
theorem FFL.FirstOrder.Theory.Proof.sound_proposition {L : Language} {T : Theory L} {φ : Sentence L} {M : Type u_1} [s : Tarski.Structure L M] [Nonempty M] :
T ⊢ φ → M↓[L] ⊧* T → (Semiformula.Realize M) φ
theorem FFL.FirstOrder.Theory.Proof.sound {L : Language} {T : Theory L} {φ : Sentence L} :
T ⊢ φ → T ⊨[Tarski.Struc L] φ

Soundness theorem for first-order logic.

theorem FFL.FirstOrder.unprovable_of_countermodel {L : Language} (T : Theory L) {M : Type u_1} [Nonempty M] [Tarski.Structure L M] [hM : M↓[L] ⊧* T] {φ : Sentence L} :
M↓[L] ⊭ φ → T ⊬ φ
theorem FFL.FirstOrder.models_of_provable {L : Language} {T : Theory L} {M : Type u_1} [Nonempty M] [Tarski.Structure L M] (hT : M↓[L] ⊧* T) {φ : Sentence L} (h : T ⊢ φ) :
M↓[L] ⊧ φ
theorem FFL.FirstOrder.models_of_subtheory {L : Language} {T U : Theory L} {M : Type u_1} [Nonempty M] [Tarski.Structure L M] [T ⪯ U] :
M↓[L] ⊧* U → M↓[L] ⊧* T