Documentation

Foundation.FirstOrder.Tarski.Elementary

structure FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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
              Instances For
                theorem FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.Structure.HomClass F L M₁ M₂ :
                  Instances
                    class FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.Structure.EmbeddingClass F L M₁ M₂ :
                    Instances
                      @[instance_reducible]
                      instance FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 k → M₁) :
                      φ (func f v) = func f (⇑φ ∘ v)
                      theorem FFL.FirstOrder.Tarski.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 k → M₁) :
                      rel r v → rel r (⇑φ ∘ v)
                      theorem FFL.FirstOrder.Tarski.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 n → M₁) (ε : ξ → M₁) (t : Semiterm L ξ n) :
                      φ (Semiterm.val e ε t) = Semiterm.val (⇑φ ∘ e) (⇑φ ∘ ε) t
                      @[instance_reducible]
                      instance FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 k → M₁) :
                        φ (func f v) = func f (⇑φ ∘ v)
                        theorem FFL.FirstOrder.Tarski.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 k → M₁) :
                        rel r (⇑φ ∘ v) ↔ rel r v
                        @[instance_reducible]
                        instance FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.Structure.ClosedSubset.closed {L : Language} {M : Type u_1} [s : Structure L M] (u : ClosedSubset L M) {k : ℕ} (f : L.Func k) {v : Fin k → M} (hv : ∀ (i : Fin k), v i ∈ u) :
                        func f v ∈ u
                        @[instance_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.
                        theorem FFL.FirstOrder.Tarski.Structure.ClosedSubset.func {L : Language} {M : Type u_1} [s : Structure L M] (u : ClosedSubset L M) {k : ℕ} (f : L.Func k) (v : Fin k → ↥u) :
                        ↑(func f v) = func f fun (i : Fin k) => ↑(v i)
                        theorem FFL.FirstOrder.Tarski.Structure.ClosedSubset.rel {L : Language} {M : Type u_1} [s : Structure L M] (u : ClosedSubset L M) {k : ℕ} (r : L.Rel k) (v : Fin k → ↥u) :
                        rel r v ↔ rel r fun (i : Fin k) => ↑(v i)
                        Equations
                        Instances For
                          theorem FFL.FirstOrder.Semiformula.eval_hom_iff_of_open {ξ : Type u_6} {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Tarski.Structure L M₁] [s₂ : Tarski.Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [Tarski.Structure.EmbeddingClass F L M₁ M₂] (Θ : F) {n : ℕ} {e₁ : Fin n → M₁} {ε₁ : ξ → M₁} {φ : Semiformula L ξ n} (h : φ.Open) :
                          (Eval e₁ ε₁) φ ↔ (Eval (⇑Θ ∘ e₁) (⇑Θ ∘ ε₁)) φ
                          theorem FFL.FirstOrder.Semiformula.eval_hom_allClosure {ξ : Type u_6} {L : Language} {M₁ : Type u_2} {M₂ : Type u_3} [s₁ : Tarski.Structure L M₁] [s₂ : Tarski.Structure L M₂] {F : Type u_5} [FunLike F M₁ M₂] [Tarski.Structure.EmbeddingClass F L M₁ M₂] (Θ : F) {n : ℕ} {ε₁ : ξ → M₁} {φ : Semiformula L ξ n} (hp : φ.Open) :
                          (Evalf (⇑Θ ∘ ε₁)) (∀¹* φ) → (Evalf ε₁) (∀¹* φ)
                          class FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.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 FFL.FirstOrder.Tarski.Structure.ElementaryEquiv.ofEquiv {L : Language} {M : Type u_1} [Nonempty M] [s : Structure L M] {N : Type u_5} [Nonempty N] (Θ : M ≃ N) :
                              theorem FFL.FirstOrder.Tarski.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 n → M₁} {b₂ : Fin n → M₂} (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 k → M₁} {v₂ : Fin k → M₂}, (∀ (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 FFL.FirstOrder.Tarski.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 n → M₁} {b₂ : Fin n → M₂} (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 k → M₁} {v₂ : Fin k → M₂}, (∀ (i : Fin k), I (v₁ i) = v₂ i) → (rel R v₁ ↔ rel R v₂)) (hfunc : ∀ {k : ℕ} (f : L.Func k) {v₁ : Fin k → M₁} {v₂ : Fin k → M₂}, (∀ (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 FFL.FirstOrder.Tarski.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 k → M₁} {v₂ : Fin k → M₂}, (∀ (i : Fin k), I (v₁ i) = v₂ i) → (rel R v₁ ↔ rel R v₂)) (hfunc : ∀ {k : ℕ} (f : L.Func k) {v₁ : Fin k → M₁} {v₂ : Fin k → M₂}, (∀ (i : Fin k), I (v₁ i) = v₂ i) → I (func f v₁) = func f v₂) :
                              M₁ ≡ₑ[L] M₂