Documentation

Foundation.FirstOrder.Interpretation

Translation and interpretation, bi-interpretation #

structure LO.FirstOrder.Translation {L₁ : Language} [L₁.Eq] (T : Theory L₁) [𝐄𝐐 T] (L₂ : Language) [L₂.Eq] :
Type (max u_1 u_2)
theorem LO.FirstOrder.Translation.ext {L₁ : Language} {inst✝ : L₁.Eq} {T : Theory L₁} {inst✝¹ : 𝐄𝐐 T} {L₂ : Language} {inst✝² : L₂.Eq} {x y : Translation T L₂} (domain : x.domain = y.domain) (rel : @rel L₁ inst✝ T inst✝¹ L₂ inst✝² x = @rel L₁ inst✝ T inst✝¹ L₂ inst✝² y) (func : @func L₁ inst✝ T inst✝¹ L₂ inst✝² x = @func L₁ inst✝ T inst✝¹ L₂ inst✝² y) :
x = y
theorem LO.FirstOrder.Translation.ext_iff {L₁ : Language} {inst✝ : L₁.Eq} {T : Theory L₁} {inst✝¹ : 𝐄𝐐 T} {L₂ : Language} {inst✝² : L₂.Eq} {x y : Translation T L₂} :
x = y x.domain = y.domain @rel L₁ inst✝ T inst✝¹ L₂ inst✝² x = @rel L₁ inst✝ T inst✝¹ L₂ inst✝² y @func L₁ inst✝ T inst✝¹ L₂ inst✝² x = @func L₁ inst✝ T inst✝¹ L₂ inst✝² y
def LO.FirstOrder.Translation.fal {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) {ξ : Type u_3} {n : } (φ : Semiformula L₁ ξ (n + 1)) :
Semiformula L₁ ξ n
Equations
def LO.FirstOrder.Translation.exs {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) {ξ : Type u_3} {n : } (φ : Semiformula L₁ ξ (n + 1)) :
Semiformula L₁ ξ n
Equations
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem LO.FirstOrder.Translation.neg_fal {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) {ξ : Type u_1} {n : } (φ : Semiformula L₁ ξ (n + 1)) :
(∀_[π] φ) = ∃_[π] φ
@[simp]
theorem LO.FirstOrder.Translation.neg_exs {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) {ξ : Type u_1} {n : } (φ : Semiformula L₁ ξ (n + 1)) :
(∃_[π] φ) = ∀_[π] φ
def LO.FirstOrder.Translation.varEqual {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) {ξ : Type u_3} {n : } :
Semiterm L₂ ξ nSemiformula L₁ ξ (n + 1)
Equations
def LO.FirstOrder.Translation.translateRel {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) {ξ : Type u_3} {n k : } (r : L₂.Rel k) (v : Fin kSemiterm L₂ ξ n) :
Semiformula L₁ ξ n
Equations
  • One or more equations did not get rendered due to their size.
theorem LO.FirstOrder.Translation.translateAux_neg {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) {ξ : Type u_1} {n : } (φ : Semiformula L₂ ξ n) :
def LO.FirstOrder.Translation.translate {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) {ξ : Type u_3} {n : } :
Semiformula L₂ ξ n →ˡᶜ Semiformula L₁ ξ n
Equations
  • π.translate = { toTr := π.translateAux, map_top' := , map_bot' := , map_neg' := , map_imply' := , map_and' := , map_or' := }
@[simp]
theorem LO.FirstOrder.Translation.translate_rel {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {ξ : Type u_1} {n k : } (R : L₂.Rel k) (v : Fin kSemiterm L₂ ξ n) :
@[simp]
theorem LO.FirstOrder.Translation.translate_nrel {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {ξ : Type u_1} {n k : } (R : L₂.Rel k) (v : Fin kSemiterm L₂ ξ n) :
@[simp]
theorem LO.FirstOrder.Translation.translate_all {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {ξ : Type u_1} {n : } (φ : Semiformula L₂ ξ (n + 1)) :
π.translate (∀' φ) = ∀_[π] π.translate φ
@[simp]
theorem LO.FirstOrder.Translation.translate_ex {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {ξ : Type u_1} {n : } (φ : Semiformula L₂ ξ (n + 1)) :
π.translate (∃' φ) = ∃_[π] π.translate φ
def LO.FirstOrder.Translation.Dom {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) {M : Type u_1} [Structure L₁ M] (x : M) :
Equations
theorem LO.FirstOrder.Translation.dom_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] {x : M} :
π.Dom x M ⊧/![x] π.domain
theorem LO.FirstOrder.Translation.domain_exists {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] :
∃ (x : M), π.Dom x
theorem LO.FirstOrder.Translation.Model.ext_iff {L₁ : Language} {L₂ : Language} {inst✝ : L₁.Eq} {inst✝¹ : L₂.Eq} {T : Theory L₁} {inst✝² : 𝐄𝐐 T} {π : Translation T L₂} {M : Type u_1} {inst✝³ : Structure L₁ M} {x y : π.Model M} :
x = y x = y
theorem LO.FirstOrder.Translation.Model.ext {L₁ : Language} {L₂ : Language} {inst✝ : L₁.Eq} {inst✝¹ : L₂.Eq} {T : Theory L₁} {inst✝² : 𝐄𝐐 T} {π : Translation T L₂} {M : Type u_1} {inst✝³ : Structure L₁ M} {x y : π.Model M} (val : x = y) :
x = y
@[simp]
theorem LO.FirstOrder.Translation.Model.pval_sub_domain {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] (x : π.Model M) :
M ⊧/![x] π.domain
instance LO.FirstOrder.Translation.Model.instNonemptyOfModelsTheory {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] :
@[simp]
theorem LO.FirstOrder.Translation.Model.coe_mem_domain {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] (x : π.Model M) :
π.Dom x
@[simp]
theorem LO.FirstOrder.Translation.Model.val_mk {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] (x : M) (hx : π.Dom x) :
x, hx = x
@[simp]
theorem LO.FirstOrder.Translation.Model.eta {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] (x : π.Model M) (h : π.Dom x) :
x, h = x
@[simp]
theorem LO.FirstOrder.Translation.Model.val_inj_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] {x y : π.Model M} :
x = y x = y
@[simp]
theorem LO.FirstOrder.Translation.Model.val_mk_eq_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] {x y : M} {hx : π.Dom x} {hy : π.Dom y} :
x, hx = y, hy x = y
@[simp]
theorem LO.FirstOrder.Translation.Model.eval_fal {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] {ξ : Type u_2} {n : } {e : Fin nM} {ε : ξM} {φ : Semiformula L₁ ξ (n + 1)} :
(Semiformula.Evalm M e ε) (∀_[π] φ) ∀ (x : π.Model M), (Semiformula.Evalm M (x :> e) ε) φ
@[simp]
theorem LO.FirstOrder.Translation.Model.eval_exs {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] {ξ : Type u_2} {n : } {e : Fin nM} {ε : ξM} {φ : Semiformula L₁ ξ (n + 1)} :
(Semiformula.Evalm M e ε) (∃_[π] φ) ∃ (x : π.Model M), (Semiformula.Evalm M (x :> e) ε) φ
theorem LO.FirstOrder.Translation.Model.func_existsUnique_on_dom {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {k : } (f : L₂.Func k) (v : Fin kM) :
(∀ (i : Fin k), π.Dom (v i))∃! y : M, π.Dom y M ⊧/(y :> v) (π.func f)
theorem LO.FirstOrder.Translation.Model.func_existsUnique {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {k : } (f : L₂.Func k) (v : Fin kπ.Model M) :
∃! y : π.Model M, M ⊧/(y :> fun (i : Fin k) => (v i)) (π.func f)
noncomputable instance LO.FirstOrder.Translation.Model.struc {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) (M : Type u_1) [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] :
Structure L₂ (π.Model M)
Equations
  • One or more equations did not get rendered due to their size.
theorem LO.FirstOrder.Translation.Model.rel_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {k : } (r : L₂.Rel k) (v : Fin kπ.Model M) :
Structure.rel r v (M ⊧/fun (i : Fin k) => (v i)) (π.rel r)
@[simp]
theorem LO.FirstOrder.Translation.Model.eq_iff' {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {a b : π.Model M} :
M ⊧/![a, b] (π.rel op(=)) a = b
@[simp]
theorem LO.FirstOrder.Translation.Model.eq_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] (v : Fin 2π.Model M) :
instance LO.FirstOrder.Translation.Model.instEq {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] :
Structure.Eq L₂ (π.Model M)
theorem LO.FirstOrder.Translation.Model.func_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {k : } {f : L₂.Func k} {y : π.Model M} {v : Fin kπ.Model M} :
y = Structure.func f v M ⊧/(y :> fun (i : Fin k) => (v i)) (π.func f)
theorem LO.FirstOrder.Translation.Model.func_iff' {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {k : } {f : L₂.Func k} {y : M} {v : Fin kπ.Model M} :
y = (Structure.func f v) π.Dom y M ⊧/(y :> fun (i : Fin k) => (v i)) (π.func f)
@[simp]
theorem LO.FirstOrder.Translation.Model.eval_func {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {k : } (f : L₂.Func k) (v : Fin kπ.Model M) :
M ⊧/((Structure.func f v) :> fun (i : Fin k) => (v i)) (π.func f)
theorem LO.FirstOrder.Translation.Model.eval_varEqual_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {ξ : Type u_2} {n : } {t : Semiterm L₂ ξ n} {ε : ξπ.Model M} {y : π.Model M} {x : Fin nπ.Model M} :
(Semiformula.Evalm M (y :> fun (i : Fin n) => (x i)) fun (x : ξ) => (ε x)) (π.varEqual t) y = Semiterm.valm (π.Model M) x ε t
theorem LO.FirstOrder.Translation.Model.eval_translateRel_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {ξ : Type u_2} {n k : } {ε : ξπ.Model M} (e : Fin nπ.Model M) (R : L₂.Rel k) (v : Fin kSemiterm L₂ ξ n) :
(Semiformula.Evalm M (fun (i : Fin n) => (e i)) fun (i : ξ) => (ε i)) (π.translateRel R v) Structure.rel R fun (i : Fin k) => Semiterm.valm (π.Model M) e ε (v i)
theorem LO.FirstOrder.Translation.Model.eval_translate_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {ξ : Type u_2} {n : } {φ : Semiformula L₂ ξ n} {ε : ξπ.Model M} {e : Fin nπ.Model M} :
(Semiformula.Evalm M (fun (i : Fin n) => (e i)) fun (i : ξ) => (ε i)) (π.translate φ) (Semiformula.Evalm (π.Model M) e ε) φ
theorem LO.FirstOrder.Translation.Model.evalb_translate_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {n : } {φ : Semisentence L₂ n} {e : Fin nπ.Model M} :
(M ⊧/fun (i : Fin n) => (e i)) (π.translate φ) (π.Model M) ⊧/e φ
theorem LO.FirstOrder.Translation.Model.evalb_cons_translate_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {n : } {φ : Semisentence L₂ (n + 1)} {x : π.Model M} {e : Fin nπ.Model M} :
M ⊧/(x :> fun (i : Fin n) => (e i)) (π.translate φ) (π.Model M) ⊧/(x :> e) φ
theorem LO.FirstOrder.Translation.Model.evalb_singleton_translate_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {φ : Semisentence L₂ 1} {x : π.Model M} :
M ⊧/![x] (π.translate φ) (π.Model M) ⊧/![x] φ
theorem LO.FirstOrder.Translation.Model.evalb_doubleton_translate_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {φ : Semisentence L₂ 2} {x y : π.Model M} :
M ⊧/![x, y] (π.translate φ) (π.Model M) ⊧/![x, y] φ
theorem LO.FirstOrder.Translation.Model.translate_iff₀ {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {σ : Sentence L₂} :
@[simp]
theorem LO.FirstOrder.Translation.Model.translate_close₀_iff {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {π : Translation T L₂} {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {φ : SyntacticFormula L₂} :
def LO.FirstOrder.Translation.id {L₁ : Language} [L₁.Eq] (T : Theory L₁) [𝐄𝐐 T] :
Equations
  • One or more equations did not get rendered due to their size.
theorem LO.FirstOrder.Translation.id_func_def {L₁ : Language} [L₁.Eq] (T : Theory L₁) [𝐄𝐐 T] {a✝ : } {f : L₁.Func a✝} :
theorem LO.FirstOrder.Translation.id_rel_def {L₁ : Language} [L₁.Eq] (T : Theory L₁) [𝐄𝐐 T] {a✝ : } {R : L₁.Rel a✝} :
(Translation.id T).rel R = Semiformula.rel R fun (x : Fin a✝) => Semiterm.bvar x
@[simp]
theorem LO.FirstOrder.Translation.id_Dom {L₁ : Language} [L₁.Eq] {T : Theory L₁} [𝐄𝐐 T] {M : Type u_1} [Structure L₁ M] (x : M) :
@[simp]
theorem LO.FirstOrder.Translation.id_val_eq {L₁ : Language} [L₁.Eq] {T : Theory L₁} [𝐄𝐐 T] {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {ξ : Type u_2} {n : } {ε : ξ(Translation.id T).Model M} {e : Fin n(Translation.id T).Model M} {t : Semiterm L₁ ξ n} :
(Semiterm.valm ((Translation.id T).Model M) e ε t) = Semiterm.valm M (fun (x : Fin n) => (e x)) (fun (x : ξ) => (ε x)) t
@[simp]
theorem LO.FirstOrder.Translation.id_models_iff {L₁ : Language} [L₁.Eq] {T : Theory L₁} [𝐄𝐐 T] {M : Type u_1} [Structure L₁ M] [Nonempty M] [M ⊧ₘ* T] [Structure.Eq L₁ M] {ξ : Type u_2} {n : } {ε : ξ(Translation.id T).Model M} {e : Fin n(Translation.id T).Model M} {φ : Semiformula L₁ ξ n} :
(Semiformula.Evalm ((Translation.id T).Model M) e ε) φ (Semiformula.Evalm M (fun (x : Fin n) => (e x)) fun (x : ξ) => (ε x)) φ
class LO.FirstOrder.Interpretation {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] (T : Theory L₁) [𝐄𝐐 T] (U : Theory L₂) :
Type (max u_1 u_2)
Instances
@[reducible, inline]
abbrev LO.FirstOrder.InterpretedBy {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] (U : Theory L₂) (T : Theory L₁) [𝐄𝐐 T] :
Type (max u_1 u_2)
Equations
class LO.FirstOrder.Biinterpretation {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] (T : Theory L₁) [𝐄𝐐 T] (U : Theory L₂) [𝐄𝐐 U] :
Type (max u_1 u_2)
Instances
@[reducible, inline]
abbrev LO.FirstOrder.Interpretation.translate {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {U : Theory L₂} (π : T U) {ξ : Type u_3} {n : } (φ : Semiformula L₂ ξ n) :
Semiformula L₁ ξ n
Equations
@[reducible, inline]
abbrev LO.FirstOrder.Interpretation.Model {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {U : Theory L₂} (π : T U) (M : Type u_1) [Structure L₁ M] :
Type u_1
Equations
Instances For
instance LO.FirstOrder.Interpretation.model_models_theory {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {U : Theory L₂} (π : T U) {M : Type v} [Nonempty M] [Structure L₁ M] [Structure.Eq L₁ M] (hT : M ⊧ₘ* T) :
π.Model M ⊧ₘ* U
theorem LO.FirstOrder.Interpretation.of_provability {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {U : Theory L₂} (π : T U) {φ : SyntacticFormula L₂} (h : U ⊢! φ) :
theorem LO.FirstOrder.Interpretation.of_provability₀ {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] {U : Theory L₂} (π : T U) {σ : Sentence L₂} (h : U ⊢!. σ) :
def LO.FirstOrder.Interpretation.compTranslation {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} [𝐄𝐐 T₁] [𝐄𝐐 T₂] (τ : Translation T₂ L₃) (π : T₁ T₂) :
Translation T₁ L₃
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem LO.FirstOrder.Interpretation.compTranslation_domain_def {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} [𝐄𝐐 T₁] [𝐄𝐐 T₂] (τ : Translation T₂ L₃) (π : T₁ T₂) :
@[simp]
theorem LO.FirstOrder.Interpretation.compTranslation_func_def {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} [𝐄𝐐 T₁] [𝐄𝐐 T₂] {k : } (τ : Translation T₂ L₃) (π : T₁ T₂) (f : L₃.Func k) :
(compTranslation τ π).func f = π.translate (τ.func f)
@[simp]
theorem LO.FirstOrder.Interpretation.compTranslation_rel_def {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} [𝐄𝐐 T₁] [𝐄𝐐 T₂] {k : } (τ : Translation T₂ L₃) (π : T₁ T₂) (R : L₃.Rel k) :
(compTranslation τ π).rel R = π.translate (τ.rel R)
theorem LO.FirstOrder.Interpretation.compTranslation_Dom_iff {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} [𝐄𝐐 T₁] [𝐄𝐐 T₂] (τ : Translation T₂ L₃) (π : T₁ T₂) {M : Type u_1} [Nonempty M] [Structure L₁ M] [Structure.Eq L₁ M] [M ⊧ₘ* T₁] {x : M} :
(compTranslation τ π).Dom x ∃ (z : τ.Model (π.Model M)), x = z
theorem LO.FirstOrder.Interpretation.val_compTranslation_Model_equiv {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} [𝐄𝐐 T₁] [𝐄𝐐 T₂] (τ : Translation T₂ L₃) (π : T₁ T₂) {M : Type u_1} [Nonempty M] [Structure L₁ M] [Structure.Eq L₁ M] [M ⊧ₘ* T₁] {ξ : Type u_2} {n : } {t : Semiterm L₃ ξ n} {ε : ξ(compTranslation τ π).Model M} {ε' : ξτ.Model (π.Model M)} ( : ∀ (x : ξ), (ε x) = (ε' x)) {e : Fin n(compTranslation τ π).Model M} {e' : Fin nτ.Model (π.Model M)} (he : ∀ (x : Fin n), (e x) = (e' x)) :
(Semiterm.valm ((compTranslation τ π).Model M) e ε t) = (Semiterm.valm (τ.Model (π.Model M)) e' ε' t)
theorem LO.FirstOrder.Interpretation.eval_compTranslation_Model_equiv {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} [𝐄𝐐 T₁] [𝐄𝐐 T₂] (τ : Translation T₂ L₃) (π : T₁ T₂) {M : Type u_1} [Nonempty M] [Structure L₁ M] [Structure.Eq L₁ M] [M ⊧ₘ* T₁] {ξ : Type u_2} {n : } {φ : Semiformula L₃ ξ n} {ε : ξ(compTranslation τ π).Model M} {ε' : ξτ.Model (π.Model M)} ( : ∀ (x : ξ), (ε x) = (ε' x)) {e : Fin n(compTranslation τ π).Model M} {e' : Fin nτ.Model (π.Model M)} (he : ∀ (x : Fin n), (e x) = (e' x)) :
(Semiformula.Evalm ((compTranslation τ π).Model M) e ε) φ (Semiformula.Evalm (τ.Model (π.Model M)) e' ε') φ
theorem LO.FirstOrder.Interpretation.compTranslation_Model_equiv {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} [𝐄𝐐 T₁] [𝐄𝐐 T₂] (τ : Translation T₂ L₃) (π : T₁ T₂) {M : Type u_1} [Nonempty M] [Structure L₁ M] [Structure.Eq L₁ M] [M ⊧ₘ* T₁] :
(compTranslation τ π).Model M ≡ₑ[L₃] τ.Model (π.Model M)
def LO.FirstOrder.Interpretation.comp {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} {T₃ : Theory L₃} [𝐄𝐐 T₁] [𝐄𝐐 T₂] (τ : T₂ T₃) (π : T₁ T₂) :
T₁ T₃
Equations
def LO.FirstOrder.Biinterpretation.symm {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} [𝐄𝐐 T₁] [𝐄𝐐 T₂] (π : T₁ T₂) :
T₂ T₁
Equations
def LO.FirstOrder.Biinterpretation.trans {L₁ : Language} {L₂ : Language} {L₃ : Language} [L₁.Eq] [L₂.Eq] [L₃.Eq] {T₁ : Theory L₁} {T₂ : Theory L₂} {T₃ : Theory L₃} [𝐄𝐐 T₁] [𝐄𝐐 T₂] [𝐄𝐐 T₃] (π : T₁ T₂) (τ : T₂ T₃) :
T₁ T₃
Equations
  • One or more equations did not get rendered due to their size.