Documentation

Foundation.FirstOrder.Basic.Semantics.Elementary

structure LO.FirstOrder.Structure.Hom (L : Language) (M₁ : Type u_2) (M₂ : Type u_3) [s₁ : Structure L M₁] [s₂ : Structure L M₂] :
Type (max u_2 u_3)
  • toFun : M₁M₂
  • func' {k : } (f : L.Func k) (v : Fin kM₁) : self.toFun (func f v) = func f (self.toFun v)
  • rel' {k : } (r : L.Rel k) (v : Fin kM₁) : rel r vrel r (self.toFun v)
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      structure LO.FirstOrder.Structure.Embedding (L : Language) (M₁ : Type u_2) (M₂ : Type u_3) [s₁ : Structure L M₁] [s₂ : Structure L M₂] extends M₁ →ₛ[L] M₂ :
      Type (max u_2 u_3)
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          structure LO.FirstOrder.Structure.Iso (L : Language) (M₁ : Type u_2) (M₂ : Type u_3) [s₁ : Structure L M₁] [s₂ : Structure L M₂] extends M₁ ↪ₛ[L] M₂ :
          Type (max u_2 u_3)
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              structure LO.FirstOrder.Structure.ClosedSubset (L : Language) (M : Type u_1) [s : Structure L M] :
              Type u_1
              • domain : Set M
              • domain_closed {k : } (f : L.Func k) {v : Fin kM} : (∀ (i : Fin k), v i self.domain)func f v self.domain
              Instances For
                theorem LO.FirstOrder.Structure.ClosedSubset.ext {L : Language} {M : Type u_1} {s : Structure L M} {x y : ClosedSubset L M} (domain : x.domain = y.domain) :
                x = y
                class LO.FirstOrder.Structure.HomClass (F : Type u_5) (L : outParam Language) (M₁ : outParam (Type u_6)) (M₂ : outParam (Type u_7)) [s₁ : Structure L M₁] [s₂ : Structure L M₂] [FunLike F M₁ M₂] :
                • map_func (h : F) {k : } (f : L.Func k) (v : Fin kM₁) : h (func f v) = func f (h v)
                • map_rel (h : F) {k : } (r : L.Rel k) (v : Fin kM₁) : rel r vrel r (h v)
                Instances
                  class LO.FirstOrder.Structure.EmbeddingClass (F : Type u_5) (L : outParam Language) (M₁ : outParam (Type u_6)) (M₂ : outParam (Type u_7)) [s₁ : Structure L M₁] [s₂ : Structure L M₂] [FunLike F M₁ M₂] extends LO.FirstOrder.Structure.HomClass F L M₁ M₂ :
                  Instances
                    class LO.FirstOrder.Structure.IsoClass (F : Type u_5) (L : outParam Language) (M₁ : outParam (Type u_6)) (M₂ : outParam (Type u_7)) [s₁ : Structure L M₁] [s₂ : Structure L M₂] [FunLike F M₁ M₂] extends LO.FirstOrder.Structure.EmbeddingClass F L M₁ M₂ :
                    Instances
                      instance LO.FirstOrder.Structure.instFunLikeHom {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] :
                      FunLike (M₁ →ₛ[L] M₂) M₁ M₂
                      Equations
                      instance LO.FirstOrder.Structure.instHomClassHom {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] :
                      HomClass (M₁ →ₛ[L] M₂) L M₁ M₂
                      theorem LO.FirstOrder.Structure.Hom.ext {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] (φ ψ : M₁ →ₛ[L] M₂) (h : ∀ (x : M₁), φ x = ψ x) :
                      φ = ψ
                      theorem LO.FirstOrder.Structure.HomClass.ext {M₁ : Type u_2} {M₂ : Type u_3} {F : Type u_5} [FunLike F M₁ M₂] (φ ψ : F) (h : ∀ (x : M₁), φ x = ψ x) :
                      φ = ψ
                      theorem LO.FirstOrder.Structure.HomClass.func {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [HomClass F L M₁ M₂] (φ : F) {k : } (f : L.Func k) (v : Fin kM₁) :
                      φ (func f v) = func f (φ v)
                      theorem LO.FirstOrder.Structure.HomClass.rel {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [HomClass F L M₁ M₂] (φ : F) {k : } (r : L.Rel k) (v : Fin kM₁) :
                      rel r vrel r (φ v)
                      theorem LO.FirstOrder.Structure.HomClass.val_term {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [HomClass F L M₁ M₂] (φ : F) {n : } {ξ : Type u_6} (e : Fin nM₁) (ε : ξM₁) (t : Semiterm L ξ n) :
                      φ (Semiterm.val s₁ e ε t) = Semiterm.val s₂ (φ e) (φ ε) t
                      instance LO.FirstOrder.Structure.instFunLikeEmbedding {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] :
                      FunLike (M₁ ↪ₛ[L] M₂) M₁ M₂
                      Equations
                      instance LO.FirstOrder.Structure.instEmbeddingClassEmbedding {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] :
                      EmbeddingClass (M₁ ↪ₛ[L] M₂) L M₁ M₂
                      theorem LO.FirstOrder.Structure.Embedding.ext {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] (φ ψ : M₁ ↪ₛ[L] M₂) (h : ∀ (x : M₁), φ x = ψ x) :
                      φ = ψ
                      def LO.FirstOrder.Structure.EmbeddingClass.toEmbedding {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [EmbeddingClass F L M₁ M₂] (φ : F) :
                      M₁ M₂
                      Equations
                      Instances For
                        theorem LO.FirstOrder.Structure.EmbeddingClass.func {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [EmbeddingClass F L M₁ M₂] (φ : F) {k : } (f : L.Func k) (v : Fin kM₁) :
                        φ (func f v) = func f (φ v)
                        theorem LO.FirstOrder.Structure.EmbeddingClass.rel {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [EmbeddingClass F L M₁ M₂] (φ : F) {k : } (r : L.Rel k) (v : Fin kM₁) :
                        rel r (φ v) rel r v
                        instance LO.FirstOrder.Structure.instFunLikeIso {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] :
                        FunLike (M₁ ≃ₛ[L] M₂) M₁ M₂
                        Equations
                        instance LO.FirstOrder.Structure.instIsoClassIso {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] :
                        IsoClass (M₁ ≃ₛ[L] M₂) L M₁ M₂
                        theorem LO.FirstOrder.Structure.Iso.ext {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] (φ ψ : M₁ ≃ₛ[L] M₂) (h : ∀ (x : M₁), φ x = ψ x) :
                        φ = ψ
                        theorem LO.FirstOrder.Structure.ClosedSubset.closed {L : Language} {M : Type u_1} [s : Structure L M] (u : ClosedSubset L M) {k : } (f : L.Func k) {v : Fin kM} (hv : ∀ (i : Fin k), v i u) :
                        func f v u
                        Equations
                        • One or more equations did not get rendered due to their size.
                        theorem LO.FirstOrder.Structure.ClosedSubset.func {L : Language} {M : Type u_1} [s : Structure L M] (u : ClosedSubset L M) {k : } (f : L.Func k) (v : Fin ku) :
                        (func f v) = func f fun (i : Fin k) => (v i)
                        theorem LO.FirstOrder.Structure.ClosedSubset.rel {L : Language} {M : Type u_1} [s : Structure L M] (u : ClosedSubset L M) {k : } (r : L.Rel k) (v : Fin ku) :
                        rel r v rel r fun (i : Fin k) => (v i)
                        Equations
                        • u.inclusion = { toFun := Subtype.val, func' := , rel' := , toFun_inj := , rel_inv' := }
                        Instances For
                          theorem LO.FirstOrder.Semiformula.eval_hom_iff_of_open {ξ : Type u_6} {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [Structure.EmbeddingClass F L M₁ M₂] (Θ : F) {n : } {e₁ : Fin nM₁} {ε₁ : ξM₁} {φ : Semiformula L ξ n} :
                          φ.Open((Eval s₁ e₁ ε₁) φ (Eval s₂ (Θ e₁) (Θ ε₁)) φ)
                          theorem LO.FirstOrder.Semiformula.eval_hom_univClosure {ξ : Type u_6} {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [Structure.EmbeddingClass F L M₁ M₂] (Θ : F) {n : } {ε₁ : ξM₁} {φ : Semiformula L ξ n} (hp : φ.Open) :
                          (Evalf s₂ (Θ ε₁)) (∀* φ)(Evalf s₁ ε₁) (∀* φ)
                          def LO.FirstOrder.Structure.ElementaryEquiv (L : Language) (M₁ : Type u_2) (M₂ : Type u_3) [Nonempty M₁] [Nonempty M₂] [s₁ : Structure L M₁] [s₂ : Structure L M₂] :
                          Equations
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              theorem LO.FirstOrder.Structure.ElementaryEquiv.symm {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [Nonempty M₁] [Nonempty M₂] [s₁ : Structure L M₁] [s₂ : Structure L M₂] :
                              (M₁ ≡ₑ[L] M₂)M₂ ≡ₑ[L] M₁
                              theorem LO.FirstOrder.Structure.ElementaryEquiv.trans {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} {M₃ : Type u_4} [Nonempty M₁] [Nonempty M₂] [Nonempty M₃] [s₁ : Structure L M₁] [s₂ : Structure L M₂] [s₃ : Structure L M₃] :
                              (M₁ ≡ₑ[L] M₂)(M₂ ≡ₑ[L] M₃)M₁ ≡ₑ[L] M₃
                              theorem LO.FirstOrder.Structure.ElementaryEquiv.models {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [Nonempty M₁] [Nonempty M₂] [s₁ : Structure L M₁] [s₂ : Structure L M₂] (h : M₁ ≡ₑ[L] M₂) {φ : SyntacticFormula L} :
                              M₁ ⊧ₘ φ M₂ ⊧ₘ φ
                              theorem LO.FirstOrder.Structure.ElementaryEquiv.modelsTheory {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [Nonempty M₁] [Nonempty M₂] [s₁ : Structure L M₁] [s₂ : Structure L M₂] (h : M₁ ≡ₑ[L] M₂) {T : Theory L} :
                              M₁ ⊧ₘ* T M₂ ⊧ₘ* T
                              theorem LO.FirstOrder.Structure.ElementaryEquiv.ofEquiv {L : Language} {M : Type u_1} [Nonempty M] [s : Structure L M] {N : Type u_5} [Nonempty N] (Θ : M N) :