Documentation

Mathlib.ModelTheory.Equivalence

Equivalence of Formulas #

Main Definitions #

TODO #

def FirstOrder.Language.Theory.Imp {L : Language} {α : Type w} {n : } (T : L.Theory) (φ ψ : L.BoundedFormula α n) :

φ ⟹[T] ψ indicates that φ implies ψ in models of T.

Equations

φ ⟹[T] ψ indicates that φ implies ψ in models of T.

Equations
  • One or more equations did not get rendered due to their size.
theorem FirstOrder.Language.Theory.Imp.refl {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α n) :
T.Imp φ φ
theorem FirstOrder.Language.Theory.Imp.trans {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ θ : L.BoundedFormula α n} (h1 : T.Imp φ ψ) (h2 : T.Imp ψ θ) :
T.Imp φ θ
theorem FirstOrder.Language.Theory.bot_imp {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α n) :
T.Imp φ
theorem FirstOrder.Language.Theory.imp_top {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α n) :
T.Imp φ
theorem FirstOrder.Language.Theory.imp_sup_left {L : Language} {T : L.Theory} {α : Type w} {n : } (φ ψ : L.BoundedFormula α n) :
T.Imp φ (φψ)
theorem FirstOrder.Language.Theory.imp_sup_right {L : Language} {T : L.Theory} {α : Type w} {n : } (φ ψ : L.BoundedFormula α n) :
T.Imp ψ (φψ)
theorem FirstOrder.Language.Theory.sup_imp {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ θ : L.BoundedFormula α n} (h₁ : T.Imp φ θ) (h₂ : T.Imp ψ θ) :
T.Imp (φψ) θ
theorem FirstOrder.Language.Theory.sup_imp_iff {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ θ : L.BoundedFormula α n} :
T.Imp (φψ) θ T.Imp φ θ T.Imp ψ θ
theorem FirstOrder.Language.Theory.inf_imp_left {L : Language} {T : L.Theory} {α : Type w} {n : } (φ ψ : L.BoundedFormula α n) :
T.Imp (φψ) φ
theorem FirstOrder.Language.Theory.inf_imp_right {L : Language} {T : L.Theory} {α : Type w} {n : } (φ ψ : L.BoundedFormula α n) :
T.Imp (φψ) ψ
theorem FirstOrder.Language.Theory.imp_inf {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ θ : L.BoundedFormula α n} (h₁ : T.Imp φ ψ) (h₂ : T.Imp φ θ) :
T.Imp φ (ψθ)
theorem FirstOrder.Language.Theory.imp_inf_iff {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ θ : L.BoundedFormula α n} :
T.Imp φ (ψθ) T.Imp φ ψ T.Imp φ θ
def FirstOrder.Language.Theory.Iff {L : Language} {α : Type w} {n : } (T : L.Theory) (φ ψ : L.BoundedFormula α n) :

Two (bounded) formulas are semantically equivalent over a theory T when they have the same interpretation in every model of T. (This is also known as logical equivalence, which also has a proof-theoretic definition.)

Equations

Two (bounded) formulas are semantically equivalent over a theory T when they have the same interpretation in every model of T. (This is also known as logical equivalence, which also has a proof-theoretic definition.)

Equations
  • One or more equations did not get rendered due to their size.
theorem FirstOrder.Language.Theory.iff_iff_imp_and_imp {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ : L.BoundedFormula α n} :
T.Iff φ ψ T.Imp φ ψ T.Imp ψ φ
theorem FirstOrder.Language.Theory.imp_antisymm {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ : L.BoundedFormula α n} (h₁ : T.Imp φ ψ) (h₂ : T.Imp ψ φ) :
T.Iff φ ψ
theorem FirstOrder.Language.Theory.Iff.mp {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ : L.BoundedFormula α n} (h : T.Iff φ ψ) :
T.Imp φ ψ
theorem FirstOrder.Language.Theory.Iff.mpr {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ : L.BoundedFormula α n} (h : T.Iff φ ψ) :
T.Imp ψ φ
theorem FirstOrder.Language.Theory.Iff.refl {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α n) :
T.Iff φ φ
theorem FirstOrder.Language.Theory.Iff.symm {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ : L.BoundedFormula α n} (h : T.Iff φ ψ) :
T.Iff ψ φ
theorem FirstOrder.Language.Theory.Iff.trans {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ θ : L.BoundedFormula α n} (h1 : T.Iff φ ψ) (h2 : T.Iff ψ θ) :
T.Iff φ θ
theorem FirstOrder.Language.Theory.Iff.realize_bd_iff {L : Language} {T : L.Theory} {α : Type w} {n : } {M : Type u_1} [Nonempty M] [L.Structure M] [M T] {φ ψ : L.BoundedFormula α n} (h : T.Iff φ ψ) {v : αM} {xs : Fin nM} :
φ.Realize v xs ψ.Realize v xs
theorem FirstOrder.Language.Theory.Iff.realize_iff {L : Language} {T : L.Theory} {α : Type w} {φ ψ : L.Formula α} {M : Type u_2} [Nonempty M] [L.Structure M] [M T] (h : T.Iff φ ψ) {v : αM} :
φ.Realize v ψ.Realize v
theorem FirstOrder.Language.Theory.Iff.models_sentence_iff {L : Language} {T : L.Theory} {φ ψ : L.Sentence} {M : Type u_2} [Nonempty M] [L.Structure M] [M T] (h : T.Iff φ ψ) :
M φ M ψ
theorem FirstOrder.Language.Theory.Iff.all {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ : L.BoundedFormula α (n + 1)} (h : T.Iff φ ψ) :
T.Iff φ.all ψ.all
theorem FirstOrder.Language.Theory.Iff.ex {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ : L.BoundedFormula α (n + 1)} (h : T.Iff φ ψ) :
T.Iff φ.ex ψ.ex
theorem FirstOrder.Language.Theory.Iff.not {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ : L.BoundedFormula α n} (h : T.Iff φ ψ) :
T.Iff φ.not ψ.not
theorem FirstOrder.Language.Theory.Iff.imp {L : Language} {T : L.Theory} {α : Type w} {n : } {φ ψ φ' ψ' : L.BoundedFormula α n} (h : T.Iff φ ψ) (h' : T.Iff φ' ψ') :
T.Iff (φ.imp φ') (ψ.imp ψ')

Semantic equivalence forms an equivalence relation on formulas.

Equations
theorem FirstOrder.Language.BoundedFormula.iff_not_not {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α n) :
T.Iff φ φ.not.not
theorem FirstOrder.Language.BoundedFormula.imp_iff_not_sup {L : Language} {T : L.Theory} {α : Type w} {n : } (φ ψ : L.BoundedFormula α n) :
T.Iff (φ.imp ψ) (φ.notψ)
theorem FirstOrder.Language.BoundedFormula.sup_iff_not_inf_not {L : Language} {T : L.Theory} {α : Type w} {n : } (φ ψ : L.BoundedFormula α n) :
T.Iff (φψ) (φ.notψ.not).not
theorem FirstOrder.Language.BoundedFormula.inf_iff_not_sup_not {L : Language} {T : L.Theory} {α : Type w} {n : } (φ ψ : L.BoundedFormula α n) :
T.Iff (φψ) (φ.notψ.not).not
theorem FirstOrder.Language.BoundedFormula.all_iff_not_ex_not {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α (n + 1)) :
T.Iff φ.all φ.not.ex.not
theorem FirstOrder.Language.BoundedFormula.ex_iff_not_all_not {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α (n + 1)) :
T.Iff φ.ex φ.not.all.not
theorem FirstOrder.Language.BoundedFormula.iff_all_liftAt {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α n) :
T.Iff φ (liftAt 1 n φ).all
theorem FirstOrder.Language.BoundedFormula.inf_not_iff_bot {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α n) :
T.Iff (φφ.not)
theorem FirstOrder.Language.BoundedFormula.sup_not_iff_top {L : Language} {T : L.Theory} {α : Type w} {n : } (φ : L.BoundedFormula α n) :
T.Iff (φφ.not)
theorem FirstOrder.Language.Formula.iff_not_not {L : Language} {T : L.Theory} {α : Type w} (φ : L.Formula α) :
T.Iff φ φ.not.not
theorem FirstOrder.Language.Formula.imp_iff_not_sup {L : Language} {T : L.Theory} {α : Type w} (φ ψ : L.Formula α) :
T.Iff (φ.imp ψ) (φ.notψ)
theorem FirstOrder.Language.Formula.sup_iff_not_inf_not {L : Language} {T : L.Theory} {α : Type w} (φ ψ : L.Formula α) :
T.Iff (φψ) (φ.notψ.not).not
theorem FirstOrder.Language.Formula.inf_iff_not_sup_not {L : Language} {T : L.Theory} {α : Type w} (φ ψ : L.Formula α) :
T.Iff (φψ) (φ.notψ.not).not