Documentation

Foundation.FirstOrder.Basic.Semantics.Semantics

Semantics of first-order logic #

This file defines the structure and the evaluation of terms and formulas by Tarski's truth definition.

  • func : k : ⦄ → L.Func k(Fin kM)M
  • rel : k : ⦄ → L.Rel k(Fin kM)Prop
Instances
    theorem LO.FirstOrder.Structure.ext {L : LO.FirstOrder.Language} {M : Type w} {x y : LO.FirstOrder.Structure L M} (func : LO.FirstOrder.Structure.func = LO.FirstOrder.Structure.func) (rel : LO.FirstOrder.Structure.rel = LO.FirstOrder.Structure.rel) :
    x = y
    structure LO.FirstOrder.Struc (L : LO.FirstOrder.Language) :
    Type (max (u_1 + 1) u_2)
    Instances For
      @[reducible, inline]
      Equations
      Instances For
        Equations
        • LO.FirstOrder.instCoeSortStrucType = { coe := LO.FirstOrder.Struc.Dom }
        Equations
        Instances For
          @[simp]
          theorem LO.FirstOrder.Structure.lMap_func {L₁ : LO.FirstOrder.Language} {L₂ : LO.FirstOrder.Language} (φ : L₁.Hom L₂) {M : Type w} (s₂ : LO.FirstOrder.Structure L₂ M) {k : } {f : L₁.Func k} {v : Fin kM} :
          @[simp]
          theorem LO.FirstOrder.Structure.lMap_rel {L₁ : LO.FirstOrder.Language} {L₂ : LO.FirstOrder.Language} (φ : L₁.Hom L₂) {M : Type w} (s₂ : LO.FirstOrder.Structure L₂ M) {k : } {r : L₁.Rel k} {v : Fin kM} :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[reducible, inline]
            Equations
            Instances For
              @[reducible]
              Equations
              • s.toStruc = { Dom := M, nonempty := i, struc := s }
              Instances For
                @[reducible, inline]
                Equations
                Instances For
                  @[reducible, inline]
                  abbrev LO.FirstOrder.Semiterm.valm {ξ : Type u_1} {L : LO.FirstOrder.Language} (M : Type w) [s : LO.FirstOrder.Structure L M] {n : } (e : Fin nM) (ε : ξM) :
                  Equations
                  Instances For
                    @[reducible, inline]
                    Equations
                    Instances For
                      @[reducible, inline]
                      Equations
                      Instances For
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_bvar {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} (x : Fin n) :
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_fvar {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} (x : ξ) :
                        theorem LO.FirstOrder.Semiterm.val_func {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} {k : } (f : L.Func k) (v : Fin kLO.FirstOrder.Semiterm L ξ n) :
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_func₀ {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} (f : L.Func 0) (v : Fin 0LO.FirstOrder.Semiterm L ξ n) :
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_func₁ {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} (f : L.Func 1) (t : LO.FirstOrder.Semiterm L ξ n) :
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_func₂ {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} (f : L.Func 2) (t u : LO.FirstOrder.Semiterm L ξ n) :
                        theorem LO.FirstOrder.Semiterm.val_rew {n₁ n₂ : } {μ₁ : Type u_1} {μ₂ : Type u_2} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e₂ : Fin n₂M} {ε₂ : μ₂M} (ω : LO.FirstOrder.Rew L μ₁ n₁ μ₂ n₂) (t : LO.FirstOrder.Semiterm L μ₁ n₁) :
                        LO.FirstOrder.Semiterm.val s e₂ ε₂ (ω t) = LO.FirstOrder.Semiterm.val s (LO.FirstOrder.Semiterm.val s e₂ ε₂ ω LO.FirstOrder.Semiterm.bvar) (LO.FirstOrder.Semiterm.val s e₂ ε₂ ω LO.FirstOrder.Semiterm.fvar) t
                        theorem LO.FirstOrder.Semiterm.val_rewrite {n : } {μ₁ : Type u_2} {μ₂ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε₂ : μ₂M} (f : μ₁LO.FirstOrder.Semiterm L μ₂ n) (t : LO.FirstOrder.Semiterm L μ₁ n) :
                        theorem LO.FirstOrder.Semiterm.val_rewriteMap {n : } {μ₁ : Type u_1} {μ₂ : Type u_2} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε₂ : μ₂M} (f : μ₁μ₂) (t : LO.FirstOrder.Semiterm L μ₁ n) :
                        LO.FirstOrder.Semiterm.val s e ε₂ ((LO.FirstOrder.Rew.rewriteMap f) t) = LO.FirstOrder.Semiterm.val s e (fun (x : μ₁) => ε₂ (f x)) t
                        theorem LO.FirstOrder.Semiterm.val_substs {n₁ n₂ : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e₂ : Fin n₂M} {ε : ξM} (w : Fin n₁LO.FirstOrder.Semiterm L ξ n₂) (t : LO.FirstOrder.Semiterm L ξ n₁) :
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_bShift {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} (a : M) (t : LO.FirstOrder.Semiterm L ξ n) :
                        LO.FirstOrder.Semiterm.val s (a :> e) ε (LO.FirstOrder.Rew.bShift t) = LO.FirstOrder.Semiterm.val s e ε t
                        theorem LO.FirstOrder.Semiterm.val_bShift' {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {ε : ξM} (e : Fin (n + 1)M) (t : LO.FirstOrder.Semiterm L ξ n) :
                        LO.FirstOrder.Semiterm.val s e ε (LO.FirstOrder.Rew.bShift t) = LO.FirstOrder.Semiterm.val s (fun (x : Fin n) => e x.succ) ε t
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_emb {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} {o : Type v'} [i : IsEmpty o] (t : LO.FirstOrder.Semiterm L o n) :
                        LO.FirstOrder.Semiterm.val s e ε (LO.FirstOrder.Rew.emb t) = LO.FirstOrder.Semiterm.val s e (fun (a : o) => i.elim a) t
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_castLE {n₁ n₂ : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e₂ : Fin n₂M} {ε : ξM} (h : n₁ n₂) (t : LO.FirstOrder.Semiterm L ξ n₁) :
                        LO.FirstOrder.Semiterm.val s e₂ ε ((LO.FirstOrder.Rew.castLE h) t) = LO.FirstOrder.Semiterm.val s (fun (x : Fin n₁) => e₂ (Fin.castLE h x)) ε t
                        theorem LO.FirstOrder.Semiterm.val_embSubsts {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} {k : } (w : Fin kLO.FirstOrder.Semiterm L ξ n) (t : LO.FirstOrder.Semiterm L Empty k) :
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_toS {n : } {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} (t : LO.FirstOrder.Semiterm L (Fin n) 0) :
                        LO.FirstOrder.Semiterm.valb s e (LO.FirstOrder.Rew.toS t) = LO.FirstOrder.Semiterm.val s ![] e t
                        @[simp]
                        theorem LO.FirstOrder.Semiterm.val_toF {n : } {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} (t : LO.FirstOrder.Semiterm L Empty n) :
                        LO.FirstOrder.Semiterm.val s ![] e (LO.FirstOrder.Rew.toF t) = LO.FirstOrder.Semiterm.valb s e t
                        theorem LO.FirstOrder.Semiterm.val_lMap {n : } {ξ : Type u_3} {L₁ : LO.FirstOrder.Language} {L₂ : LO.FirstOrder.Language} {M : Type w} (φ : L₁.Hom L₂) (s₂ : LO.FirstOrder.Structure L₂ M) (e : Fin nM) (ε : ξM) {t : LO.FirstOrder.Semiterm L₁ ξ n} :
                        theorem LO.FirstOrder.Semiterm.val_shift {n : } {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} (ε : M) (t : LO.FirstOrder.SyntacticSemiterm L n) :
                        LO.FirstOrder.Semiterm.val s e ε (LO.FirstOrder.Rew.shift t) = LO.FirstOrder.Semiterm.val s e (ε Nat.succ) t
                        theorem LO.FirstOrder.Semiterm.val_free {n : } {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} (ε : M) (a : M) (t : LO.FirstOrder.SyntacticSemiterm L (n + 1)) :
                        LO.FirstOrder.Semiterm.val s e (a :>ₙ ε) (LO.FirstOrder.Rew.free t) = LO.FirstOrder.Semiterm.val s (e <: a) ε t
                        theorem LO.FirstOrder.Semiterm.val_fix {n : } {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} (ε : M) (a : M) (t : LO.FirstOrder.SyntacticSemiterm L n) :
                        LO.FirstOrder.Semiterm.val s (e <: a) ε (LO.FirstOrder.Rew.fix t) = LO.FirstOrder.Semiterm.val s e (a :>ₙ ε) t
                        theorem LO.FirstOrder.Semiterm.val_eq_of_funEqOn {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε ε' : ξM} [DecidableEq ξ] (t : LO.FirstOrder.Semiterm L ξ n) (h : Function.funEqOn t.FVar? ε ε') :
                        theorem LO.FirstOrder.Semiterm.val_toEmpty {n : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e : Fin nM} {ε : ξM} [DecidableEq ξ] (t : LO.FirstOrder.Semiterm L ξ n) (h : t.freeVariables = ) :
                        theorem LO.FirstOrder.Structure.ofEquiv_func {M : Type u_2} {N : Type u_1} {L : LO.FirstOrder.Language} [s : LO.FirstOrder.Structure L M] (Θ : M N) {k : } (f : L.Func k) (v : Fin kN) :
                        theorem LO.FirstOrder.Structure.ofEquiv_val {M : Type u_3} {N : Type u_2} {L : LO.FirstOrder.Language} [s : LO.FirstOrder.Structure L M] (Θ : M N) {n : } {ξ : Type u_1} (e : Fin nN) (ε : ξN) (t : LO.FirstOrder.Semiterm L ξ n) :
                        @[simp]
                        def LO.FirstOrder.Semiformula.Eval {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {n : } (s : LO.FirstOrder.Structure L M) (e : Fin nM) (ε : ξM) :
                        Equations
                        Instances For
                          @[reducible, inline]
                          abbrev LO.FirstOrder.Semiformula.Evalm {ξ : Type u_1} {L : LO.FirstOrder.Language} (M : Type w) [s : LO.FirstOrder.Structure L M] {n : } (e : Fin nM) (ε : ξM) :
                          Equations
                          Instances For
                            @[reducible, inline]
                            Equations
                            Instances For
                              @[reducible, inline]
                              Equations
                              Instances For
                                @[reducible, inline]
                                Equations
                                Instances For
                                  @[reducible, inline]
                                  Equations
                                  Instances For
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      theorem LO.FirstOrder.Semiformula.eval_rel {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {k : } {r : L.Rel k} {v : Fin kLO.FirstOrder.Semiterm L ξ n} :
                                      theorem LO.FirstOrder.Semiformula.Eval.of_eq {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e e' : Fin nM} {ε ε' : ξM} {φ : LO.FirstOrder.Semiformula L ξ n} (h : (LO.FirstOrder.Semiformula.Eval s e ε) φ) (he : e = e') (hε : ε = ε') :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_rel₀ {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {r : L.Rel 0} :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_rel₂ {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {r : L.Rel 2} (t₁ t₂ : LO.FirstOrder.Semiterm L ξ n) :
                                      theorem LO.FirstOrder.Semiformula.eval_nrel {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {k : } {r : L.Rel k} {v : Fin kLO.FirstOrder.Semiterm L ξ n} :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_nrel₀ {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {r : L.Rel 0} :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_nrel₂ {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {r : L.Rel 2} (t₁ t₂ : LO.FirstOrder.Semiterm L ξ n) :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_all {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {φ : LO.FirstOrder.Semiformula L ξ (n + 1)} :
                                      (LO.FirstOrder.Semiformula.Eval s e ε) (∀' φ) ∀ (x : M), (LO.FirstOrder.Semiformula.Eval s (x :> e) ε) φ
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_ex {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {φ : LO.FirstOrder.Semiformula L ξ (n + 1)} :
                                      (LO.FirstOrder.Semiformula.Eval s e ε) (∃' φ) ∃ (x : M), (LO.FirstOrder.Semiformula.Eval s (x :> e) ε) φ
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_ball {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {φ ψ : LO.FirstOrder.Semiformula L ξ (n + 1)} :
                                      (LO.FirstOrder.Semiformula.Eval s e ε) (∀[φ] ψ) ∀ (x : M), (LO.FirstOrder.Semiformula.Eval s (x :> e) ε) φ(LO.FirstOrder.Semiformula.Eval s (x :> e) ε) ψ
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_bex {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {φ ψ : LO.FirstOrder.Semiformula L ξ (n + 1)} :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_univClosure {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {ε : ξM} {n' : } {e' : Fin 0M} {φ : LO.FirstOrder.Semiformula L ξ n'} :
                                      (LO.FirstOrder.Semiformula.Eval s e' ε) (∀* φ) ∀ (e : Fin n'M), (LO.FirstOrder.Semiformula.Eval s e ε) φ
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_exClosure {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {ε : ξM} {n' : } {e' : Fin 0M} {φ : LO.FirstOrder.Semiformula L ξ n'} :
                                      (LO.FirstOrder.Semiformula.Eval s e' ε) (∃* φ) ∃ (e : Fin n'M), (LO.FirstOrder.Semiformula.Eval s e ε) φ
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_univItr {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {ε : ξM} {k : } {e : Fin nM} {φ : LO.FirstOrder.Semiformula L ξ (n + k)} :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_exItr {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {ε : ξM} {k : } {e : Fin nM} {φ : LO.FirstOrder.Semiformula L ξ (n + k)} :
                                      theorem LO.FirstOrder.Semiformula.eval_rew {n₂ : } {ξ₂ : Type u_2} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e₂ : Fin n₂M} {ε₂ : ξ₂M} {ξ₁ : Type u_1} {n₁ : } (ω : LO.FirstOrder.Rew L ξ₁ n₁ ξ₂ n₂) (φ : LO.FirstOrder.Semiformula L ξ₁ n₁) :
                                      (LO.FirstOrder.Semiformula.Eval s e₂ ε₂) ((LO.FirstOrder.Rewriting.app ω) φ) (LO.FirstOrder.Semiformula.Eval s (LO.FirstOrder.Semiterm.val s e₂ ε₂ ω LO.FirstOrder.Semiterm.bvar) (LO.FirstOrder.Semiterm.val s e₂ ε₂ ω LO.FirstOrder.Semiterm.fvar)) φ
                                      theorem LO.FirstOrder.Semiformula.eval_rew_q {n₂ : } {ξ₂ : Type u_2} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e₂ : Fin n₂M} {ξ₁ : Type u_1} {n₁ : } {x : M} {ε₂ : ξ₂M} (ω : LO.FirstOrder.Rew L ξ₁ n₁ ξ₂ n₂) (φ : LO.FirstOrder.Semiformula L ξ₁ (n₁ + 1)) :
                                      (LO.FirstOrder.Semiformula.Eval s (x :> e₂) ε₂) ((LO.FirstOrder.Rewriting.app ω.q) φ) (LO.FirstOrder.Semiformula.Eval s (x :> LO.FirstOrder.Semiterm.val s e₂ ε₂ ω LO.FirstOrder.Semiterm.bvar) (LO.FirstOrder.Semiterm.val s e₂ ε₂ ω LO.FirstOrder.Semiterm.fvar)) φ
                                      theorem LO.FirstOrder.Semiformula.eval_map {n₂ : } {ξ₂ : Type u_2} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n₁ : } {ξ₁ : Type u_1} (b : Fin n₁Fin n₂) (f : ξ₁ξ₂) (e : Fin n₂M) (ε : ξ₂M) (φ : LO.FirstOrder.Semiformula L ξ₁ n₁) :
                                      theorem LO.FirstOrder.Semiformula.eval_rewrite {ξ₂ : Type u_2} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε₂ : ξ₂M} {ξ₁ : Type u_1} (f : ξ₁LO.FirstOrder.Semiterm L ξ₂ n) (φ : LO.FirstOrder.Semiformula L ξ₁ n) :
                                      theorem LO.FirstOrder.Semiformula.eval_rewriteMap {ξ₂ : Type u_2} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε₂ : ξ₂M} {ξ₁ : Type u_1} (f : ξ₁ξ₂) (φ : LO.FirstOrder.Semiformula L ξ₁ n) :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_castLE {n₂ : } {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {e₂ : Fin n₂M} {ε : ξM} {n₁ : } (h : n₁ n₂) (φ : LO.FirstOrder.Semiformula L ξ n₁) :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_bShift {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {x : M} (φ : LO.FirstOrder.Semiformula L ξ n) :
                                      theorem LO.FirstOrder.Semiformula.eval_bShift' {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {ε : ξM} {e' : Fin (n + 1)M} (φ : LO.FirstOrder.Semiformula L ξ n) :
                                      (LO.FirstOrder.Semiformula.Eval s e' ε) ((LO.FirstOrder.Rewriting.app LO.FirstOrder.Rew.bShift) φ) (LO.FirstOrder.Semiformula.Eval s (fun (x : Fin n) => e' x.succ) ε) φ
                                      theorem LO.FirstOrder.Semiformula.eval_substs {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {k : } (w : Fin kLO.FirstOrder.Semiterm L ξ n) (φ : LO.FirstOrder.Semiformula L ξ k) :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_emb {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} (φ : LO.FirstOrder.Semiformula L Empty n) :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_empty {ξ : Type u_2} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : ξM} {o : Type u_1} [h : IsEmpty o] (φ : LO.FirstOrder.Formula L o) :
                                      (LO.FirstOrder.Semiformula.Eval s e ε) ((LO.FirstOrder.Rewriting.app LO.FirstOrder.Rew.empty) φ) (LO.FirstOrder.Semiformula.Eval s ![] fun (a : o) => h.elim a) φ
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_toS {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε : EmptyM} (φ : LO.FirstOrder.Formula L (Fin n)) :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_free {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} (ε : M) {a : M} (φ : LO.FirstOrder.SyntacticSemiformula L (n + 1)) :
                                      @[simp]
                                      theorem LO.FirstOrder.Semiformula.eval_shift {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} (ε : M) {a : M} (φ : LO.FirstOrder.SyntacticSemiformula L n) :
                                      theorem LO.FirstOrder.Semiformula.eval_iff_of_funEqOn {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {ε ε' : ξM} [DecidableEq ξ] (φ : LO.FirstOrder.Semiformula L ξ n) (h : Function.funEqOn φ.FVar? ε ε') :
                                      theorem LO.FirstOrder.Semiformula.eval_toEmpty {ξ : Type u_1} {L : LO.FirstOrder.Language} {M : Type w} {s : LO.FirstOrder.Structure L M} {n : } {e : Fin nM} {f : ξM} [DecidableEq ξ] {φ : LO.FirstOrder.Semiformula L ξ n} (hp : φ.freeVariables = ) :
                                      theorem LO.FirstOrder.Structure.ofEquiv_rel {M : Type u_2} {N : Type u_1} {L : LO.FirstOrder.Language} [s : LO.FirstOrder.Structure L M] (Θ : M N) {k : } (r : L.Rel k) (v : Fin kN) :
                                      theorem LO.FirstOrder.Structure.eval_ofEquiv_iff {M : Type u_3} {N : Type u_2} {L : LO.FirstOrder.Language} [s : LO.FirstOrder.Structure L M] (Θ : M N) {ξ : Type u_1} {n : } {e : Fin nN} {ε : ξN} {φ : LO.FirstOrder.Semiformula L ξ n} :
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      @[reducible, inline]
                                      Equations
                                      Instances For
                                        @[reducible, inline]
                                        Equations
                                        Instances For
                                          @[reducible, inline]
                                          Equations
                                          Instances For
                                            @[reducible, inline]
                                            Equations
                                            Instances For
                                              @[reducible, inline]
                                              Equations
                                              Instances For
                                                Equations
                                                • =
                                                Instances For
                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    theorem LO.FirstOrder.Semiformula.eval_lMap {ξ : Type u_1} {L₁ : LO.FirstOrder.Language} {L₂ : LO.FirstOrder.Language} {Φ : L₁.Hom L₂} {M : Type u} {s₂ : LO.FirstOrder.Structure L₂ M} {n : } {e : Fin nM} {ε : ξM} [Nonempty M] {φ : LO.FirstOrder.Semiformula L₁ ξ n} :