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)
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
              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₂] :
                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
                      @[implicit_reducible]
                      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.Hom.ext_iff {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {φ ψ : M₁ →ₛ[L] M₂} :
                      φ = ψ ∀ (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.ext_iff {M₁ : Type u_2} {M₂ : Type u_3} {F : Type u_5} [FunLike F M₁ M₂] {φ ψ : F} :
                      φ = ψ ∀ (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 e ε t) = Semiterm.val (φ e) (φ ε) t
                      @[implicit_reducible]
                      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) :
                      φ = ψ
                      theorem LO.FirstOrder.Structure.Embedding.ext_iff {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {φ ψ : M₁ ↪ₛ[L] M₂} :
                      φ = ψ ∀ (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
                        @[implicit_reducible]
                        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.Iso.ext_iff {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {φ ψ : M₁ ≃ₛ[L] M₂} :
                        φ = ψ ∀ (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
                        @[implicit_reducible]
                        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
                        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} (h : φ.Open) :
                          (Eval e₁ ε₁) φ (Eval (Θ e₁) (Θ ε₁)) φ
                          theorem LO.FirstOrder.Semiformula.eval_hom_allClosure {ξ : 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 (Θ ε₁)) (∀⁰* φ)(Evalf ε₁) (∀⁰* φ)
                          class 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₂] :
                          Instances
                            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.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₁↓[L] ⊧* T M₂↓[L] ⊧* T
                              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₂] [M₁ ≡ₑ[L] M₂] (T : Theory L) [h : M₂↓[L] ⊧* T] :
                              M₁↓[L] ⊧* 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) :
                              theorem LO.FirstOrder.Structure.ElementaryEquiv.val_eq_of_equiv {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {ξ : Type u_5} {n : } {f₁ : ξM₁} {f₂ : ξM₂} {b₁ : Fin nM₁} {b₂ : Fin nM₂} (I : M₁ M₂) (hf : ∀ (x : ξ), I (f₁ x) = f₂ x) (hb : ∀ (x : Fin n), I (b₁ x) = b₂ x) (hfunc : ∀ {k : } (f : L.Func k) {v₁ : Fin kM₁} {v₂ : Fin kM₂}, (∀ (i : Fin k), I (v₁ i) = v₂ i)I (func f v₁) = func f v₂) (t : Semiterm L ξ n) :
                              I (Semiterm.val b₁ f₁ t) = Semiterm.val b₂ f₂ t
                              theorem LO.FirstOrder.Structure.ElementaryEquiv.eval_iff_of_equiv {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Structure L M₁] [s₂ : Structure L M₂] {ξ : Type u_5} {n : } {f₁ : ξM₁} {f₂ : ξM₂} {b₁ : Fin nM₁} {b₂ : Fin nM₂} (I : M₁ M₂) (hf : ∀ (x : ξ), I (f₁ x) = f₂ x) (hb : ∀ (x : Fin n), I (b₁ x) = b₂ x) (hrel : ∀ {k : } (R : L.Rel k) {v₁ : Fin kM₁} {v₂ : Fin kM₂}, (∀ (i : Fin k), I (v₁ i) = v₂ i) → (rel R v₁ rel R v₂)) (hfunc : ∀ {k : } (f : L.Func k) {v₁ : Fin kM₁} {v₂ : Fin kM₂}, (∀ (i : Fin k), I (v₁ i) = v₂ i)I (func f v₁) = func f v₂) (φ : Semiformula L ξ n) :
                              (Semiformula.Eval b₁ f₁) φ (Semiformula.Eval b₂ f₂) φ
                              theorem LO.FirstOrder.Structure.ElementaryEquiv.of_equiv {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [Nonempty M₁] [Nonempty M₂] [s₁ : Structure L M₁] [s₂ : Structure L M₂] (I : M₁ M₂) (hrel : ∀ {k : } (R : L.Rel k) {v₁ : Fin kM₁} {v₂ : Fin kM₂}, (∀ (i : Fin k), I (v₁ i) = v₂ i) → (rel R v₁ rel R v₂)) (hfunc : ∀ {k : } (f : L.Func k) {v₁ : Fin kM₁} {v₂ : Fin kM₂}, (∀ (i : Fin k), I (v₁ i) = v₂ i)I (func f v₁) = func f v₂) :
                              M₁ ≡ₑ[L] M₂