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)
Instances For
    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
    Instances For
      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
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[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
            Instances For
              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.
              Instances For
                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' := }
                Instances For
                  @[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
                  Instances For
                    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
                    structure LO.FirstOrder.Translation.Model {L₁ : Language} {L₂ : Language} [L₁.Eq] [L₂.Eq] {T : Theory L₁} [𝐄𝐐 T] (π : Translation T L₂) (M : Type u_1) [Structure L₁ M] :
                    Type u_1
                    • val : M
                    • dom : π.Dom self
                    Instances For
                      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.
                      Instances For
                        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
                          Instances For
                            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
                              Instances For
                                @[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 ⊢!. σ) :
                                  Equations
                                  Instances For
                                    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.
                                    Instances For
                                      @[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
                                      Instances For
                                        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
                                        Instances For
                                          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.
                                          Instances For