Documentation

Foundation.FirstOrder.Basic.Model

structure LO.FirstOrder.Structure.Model (L : Language) (M : Type u_1) :
Type u_1
  • intro : M
Instances For
    Equations
    Instances For
      def LO.FirstOrder.Structure.ofFunc (F : Type u_1) {M : Type u_2} (fF : {k : } → F k(Fin kM)M) :
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem LO.FirstOrder.Structure.func_ofFunc (F : Type u_1) {M : Type u_2} (fF : {k : } → F k(Fin kM)M) {k : } (f : F k) (v : Fin kM) :
        func f v = fF f v
        instance LO.FirstOrder.Structure.add (L₁ : Language) (L₂ : Language) (M : Type u_1) [str₁ : Structure L₁ M] [str₂ : Structure L₂ M] :
        Structure (L₁.add L₂) M
        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        theorem LO.FirstOrder.Structure.func_sigma_inl {L₁ : Language} {L₂ : Language} {M : Type u_1} [str₁ : Structure L₁ M] [str₂ : Structure L₂ M] {k : } (f : L₁.Func k) (v : Fin kM) :
        func (Sum.inl f) v = func f v
        @[simp]
        theorem LO.FirstOrder.Structure.func_sigma_inr {L₁ : Language} {L₂ : Language} {M : Type u_1} [str₁ : Structure L₁ M] [str₂ : Structure L₂ M] {k : } (f : L₂.Func k) (v : Fin kM) :
        func (Sum.inr f) v = func f v
        @[simp]
        theorem LO.FirstOrder.Structure.rel_sigma_inl {L₁ : Language} {L₂ : Language} {M : Type u_1} [str₁ : Structure L₁ M] [str₂ : Structure L₂ M] {k : } (r : L₁.Rel k) (v : Fin kM) :
        rel (Sum.inl r) v rel r v
        @[simp]
        theorem LO.FirstOrder.Structure.rel_sigma_inr {L₁ : Language} {L₂ : Language} {M : Type u_1} [str₁ : Structure L₁ M] [str₂ : Structure L₂ M] {k : } (r : L₂.Rel k) (v : Fin kM) :
        rel (Sum.inr r) v rel r v
        @[simp]
        theorem LO.FirstOrder.Structure.val_lMap_add₁ {L₁ : Language} {L₂ : Language} {M : Type u_1} [str₁ : Structure L₁ M] [str₂ : Structure L₂ M] {μ : Type u_2} {n : } (t : Semiterm L₁ μ n) (e : Fin nM) (ε : μM) :
        Semiterm.val (add L₁ L₂ M) e ε (Semiterm.lMap (Language.Hom.add₁ L₁ L₂) t) = Semiterm.val str₁ e ε t
        @[simp]
        theorem LO.FirstOrder.Structure.val_lMap_add₂ {L₁ : Language} {L₂ : Language} {M : Type u_1} [str₁ : Structure L₁ M] [str₂ : Structure L₂ M] {μ : Type u_2} {n : } (t : Semiterm L₂ μ n) (e : Fin nM) (ε : μM) :
        Semiterm.val (add L₁ L₂ M) e ε (Semiterm.lMap (Language.Hom.add₂ L₁ L₂) t) = Semiterm.val str₂ e ε t
        @[simp]
        theorem LO.FirstOrder.Structure.eval_lMap_add₁ {L₁ : Language} {L₂ : Language} {M : Type u_1} [str₁ : Structure L₁ M] [str₂ : Structure L₂ M] {μ : Type u_2} {n : } (φ : Semiformula L₁ μ n) (e : Fin nM) (ε : μM) :
        (Semiformula.Eval (add L₁ L₂ M) e ε) ((Semiformula.lMap (Language.Hom.add₁ L₁ L₂)) φ) (Semiformula.Eval str₁ e ε) φ
        @[simp]
        theorem LO.FirstOrder.Structure.eval_lMap_add₂ {L₁ : Language} {L₂ : Language} {M : Type u_1} [str₁ : Structure L₁ M] [str₂ : Structure L₂ M] {μ : Type u_2} {n : } (φ : Semiformula L₂ μ n) (e : Fin nM) (ε : μM) :
        (Semiformula.Eval (add L₁ L₂ M) e ε) ((Semiformula.lMap (Language.Hom.add₂ L₁ L₂)) φ) (Semiformula.Eval str₂ e ε) φ
        instance LO.FirstOrder.Structure.sigma {ι : Type u_2} (L : ιLanguage) (M : Type u_1) [str : (i : ι) → Structure (L i) M] :
        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        theorem LO.FirstOrder.Structure.func_sigma {ι : Type u_3} (L : ιLanguage) (M : Type u_1) [str : (i : ι) → Structure (L i) M] {i : ι} {k : } (f : (L i).Func k) (v : Fin kM) :
        func i, f v = func f v
        @[simp]
        theorem LO.FirstOrder.Structure.rel_sigma {ι : Type u_3} (L : ιLanguage) (M : Type u_1) [str : (i : ι) → Structure (L i) M] {i : ι} {k : } (r : (L i).Rel k) (v : Fin kM) :
        rel i, r v rel r v
        @[simp]
        theorem LO.FirstOrder.Structure.val_lMap_sigma {ι : Type u_4} (L : ιLanguage) (M : Type u_1) [str : (i : ι) → Structure (L i) M] {i : ι} {μ : Type u_2} {n : } (t : Semiterm (L i) μ n) (e : Fin nM) (ε : μM) :
        Semiterm.val (sigma L M) e ε (Semiterm.lMap (Language.Hom.sigma L i) t) = Semiterm.val (str i) e ε t
        @[simp]
        theorem LO.FirstOrder.Structure.eval_lMap_sigma {ι : Type u_4} (L : ιLanguage) (M : Type u_1) [str : (i : ι) → Structure (L i) M] {i : ι} {μ : Type u_2} {n : } (φ : Semiformula (L i) μ n) (e : Fin nM) (ε : μM) :
        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        theorem LO.FirstOrder.Structure.func_uLift {L : Language} {M : Type v} [Structure L M] {k : } (f : L.Func k) (v : Fin kULift.{v', v} M) :
        func f v = { down := func f fun (i : Fin k) => (v i).down }
        @[simp]
        theorem LO.FirstOrder.Structure.rel_uLift {L : Language} {M : Type v} [Structure L M] {k : } (r : L.Rel k) (v : Fin kULift.{v', v} M) :
        rel r v = rel r fun (i : Fin k) => (v i).down
        theorem LO.FirstOrder.Semiterm.valm_uLift {L : Language} {M : Type v} [Structure L M] {n : } {ξ : Type u_1} {e : Fin nULift.{v', v} M} {ε : ξULift.{v', v} M} {t : Semiterm L ξ n} :
        valm (ULift.{v', v} M) e ε t = { down := valm M (fun (i : Fin n) => (e i).down) (fun (i : ξ) => (ε i).down) t }
        theorem LO.FirstOrder.Semiformula.evalm_uLift {L : Language} {M : Type v} [Structure L M] {n : } {ξ : Type u_1} {e : Fin nULift.{v', v} M} {ε : ξULift.{v', v} M} {φ : Semiformula L ξ n} :
        (Evalm (ULift.{v', v} M) e ε) φ (Evalm M (fun (i : Fin n) => (e i).down) fun (i : ξ) => (ε i).down) φ