Documentation

MathematicalLogic.SecondOrder.Semantics

Instances
    Equations
      Instances For
        def SecondOrder.Language.Assignment.cons {M : Type u_1} {T : Ty} {l : List Ty} (u : interpTy M T) (ρ : Assignment M l) :
        Assignment M (T :: l)
        Equations
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem SecondOrder.Language.Assignment.cons_zero {M✝ : Type u_1} {a✝ : Ty} {u : interpTy M✝ a✝} {l✝ : List Ty} {ρ : Assignment M✝ l✝} :
            (u ∷ₐ ρ) 0 = u
            @[simp]
            theorem SecondOrder.Language.Assignment.cons_one {M : Type u_1} {T : Ty} {l : List Ty} {a✝ : Ty} {u : interpTy M a✝} {ρ : Assignment M (T :: l)} :
            (u ∷ₐ ρ) 1 = ρ 0
            @[simp]
            theorem SecondOrder.Language.Assignment.cons_two {M : Type u_1} {T₁ T₂ : Ty} {l : List Ty} {a✝ : Ty} {u : interpTy M a✝} {ρ : Assignment M (T₁ :: T₂ :: l)} :
            (u ∷ₐ ρ) 2 = ρ 1
            @[simp]
            theorem SecondOrder.Language.Assignment.cons_three {M : Type u_1} {T₁ T₂ T₃ : Ty} {l : List Ty} {a✝ : Ty} {u : interpTy M a✝} {ρ : Assignment M (T₁ :: T₂ :: T₃ :: l)} :
            (u ∷ₐ ρ) 3 = ρ 2
            @[simp]
            theorem SecondOrder.Language.Assignment.cons_four {M : Type u_1} {T₁ T₂ T₃ T₄ : Ty} {l : List Ty} {a✝ : Ty} {u : interpTy M a✝} {ρ : Assignment M (T₁ :: T₂ :: T₃ :: T₄ :: l)} :
            (u ∷ₐ ρ) 4 = ρ 3
            def SecondOrder.Language.interp {L : Language} {l : List Ty} (M : Type u) [L.HasStructure M] (ρ : Assignment M l) :
            L.Term lM
            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem SecondOrder.Language.interp_var {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {x : l.Fin Ty.var} :
                #x ⟧ₜ M, ρ = ρ x
                @[simp]
                theorem SecondOrder.Language.interp_fconst {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {a✝ : } {f : L.Func a✝} {v : Fin a✝L.Term l} :
                f ⬝ᶠ v ⟧ₜ M, ρ = HasStructure.interpFunc f fun (i : Fin a✝) => v i ⟧ₜ M, ρ
                @[simp]
                theorem SecondOrder.Language.interp_fvar {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {a✝ : } {f : l.Fin (Ty.func a✝)} {v : Fin a✝L.Term l} :
                f ⬝ᶠᵛ v ⟧ₜ M, ρ = ρ f fun (i : Fin a✝) => v i ⟧ₜ M, ρ
                def SecondOrder.Language.satisfy {L : Language} (M : Type u) [L.HasStructure M] {l : List Ty} :
                L.Formula lAssignment M lProp
                Equations
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem SecondOrder.Language.satisfy_rconst {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {a✝ : } {r : L.Rel a✝} {v : Fin a✝L.Term l} :
                    M ⊨[ρ] r ⬝ʳ v HasStructure.interpRel r fun (i : Fin a✝) => v i ⟧ₜ M, ρ
                    @[simp]
                    theorem SecondOrder.Language.satisfy_rvar {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {a✝ : } {r : l.Fin (Ty.rel a✝)} {v : Fin a✝L.Term l} :
                    M ⊨[ρ] r ⬝ʳᵛ v ρ r fun (i : Fin a✝) => v i ⟧ₜ M, ρ
                    @[simp]
                    theorem SecondOrder.Language.satisfy_eq {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {t₁ t₂ : L.Term l} :
                    M ⊨[ρ] t₁ t₂ t₁ ⟧ₜ M, ρ = t₂ ⟧ₜ M, ρ
                    @[simp]
                    theorem SecondOrder.Language.satisfy_false {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} :
                    @[simp]
                    theorem SecondOrder.Language.satisfy_imp {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {p q : L.Formula l} :
                    M ⊨[ρ] p q M ⊨[ρ] pM ⊨[ρ] q
                    @[simp]
                    theorem SecondOrder.Language.satisfy_true {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} :
                    @[simp]
                    theorem SecondOrder.Language.satisfy_neg {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {p : L.Formula l} :
                    M ⊨[ρ] ~ p ¬M ⊨[ρ] p
                    @[simp]
                    theorem SecondOrder.Language.satisfy_and {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {p q : L.Formula l} :
                    M ⊨[ρ] p q M ⊨[ρ] p M ⊨[ρ] q
                    @[simp]
                    theorem SecondOrder.Language.satisfy_or {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {p q : L.Formula l} :
                    M ⊨[ρ] p q M ⊨[ρ] p M ⊨[ρ] q
                    @[simp]
                    theorem SecondOrder.Language.satisfy_iff {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {p q : L.Formula l} :
                    M ⊨[ρ] p q (M ⊨[ρ] p M ⊨[ρ] q)
                    @[simp]
                    theorem SecondOrder.Language.satisfy_all {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {p : L.Formula (Ty.var :: l)} :
                    M ⊨[ρ] ∀' p ∀ (u : M), M ⊨[u ∷ₐ ρ] p
                    @[simp]
                    theorem SecondOrder.Language.satisfy_allf {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {n : } {p : L.Formula (Ty.func n :: l)} :
                    M ⊨[ρ] ∀ᶠ[n]p ∀ (f : Vec M nM), M ⊨[f ∷ₐ ρ] p
                    @[simp]
                    theorem SecondOrder.Language.satisfy_allr {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {n : } {p : L.Formula (Ty.rel n :: l)} :
                    M ⊨[ρ] ∀ʳ[n]p ∀ (r : Vec M nProp), M ⊨[r ∷ₐ ρ] p
                    @[simp]
                    theorem SecondOrder.Language.satisfy_ex {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {p : L.Formula (Ty.var :: l)} :
                    M ⊨[ρ] ∃' p ∃ (u : M), M ⊨[u ∷ₐ ρ] p
                    @[simp]
                    theorem SecondOrder.Language.satisfy_exf {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {n : } {p : L.Formula (Ty.func n :: l)} :
                    M ⊨[ρ] ∃ᶠ[n]p ∃ (f : Vec M nM), M ⊨[f ∷ₐ ρ] p
                    @[simp]
                    theorem SecondOrder.Language.satisfy_exr {L : Language} {M : Type u} [L.HasStructure M] {l : List Ty} {ρ : Assignment M l} {n : } {p : L.Formula (Ty.rel n :: l)} :
                    M ⊨[ρ] ∃ʳ[n]p ∃ (r : Vec M nProp), M ⊨[r ∷ₐ ρ] p
                    @[reducible, inline]
                    Equations
                    Instances For
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Instances For
                          @[reducible]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            structure SecondOrder.Language.Structure.Embedding {L : Language} (M : L.Structure) (N : L.Structure) extends M.Dom N.Dom :
                            Type (max u_1 u_2)
                            Instances For
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Equations
                                Instances For
                                  def SecondOrder.Language.Structure.Embedding.trans {L : Language} {M : L.Structure} {N : L.Structure} {𝓢 : L.Structure} (e₁ : M ↪ᴹ N) (e₂ : N ↪ᴹ 𝓢) :
                                  M ↪ᴹ 𝓢
                                  Equations
                                  Instances For
                                    structure SecondOrder.Language.Structure.Isomorphism {L : Language} (M : L.Structure) (N : L.Structure) extends M.Dom N.Dom :
                                    Type (max u_1 u_2)
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        Equations
                                        Instances For
                                          Equations
                                          • i.symm = { toEquiv := i.symm, on_func := , on_rel := }
                                          Instances For
                                            def SecondOrder.Language.Structure.Isomorphism.trans {L : Language} {M : L.Structure} {N : L.Structure} {𝓢 : L.Structure} (i₁ : M ≃ᴹ N) (i₂ : N ≃ᴹ 𝓢) :
                                            M ≃ᴹ 𝓢
                                            Equations
                                            Instances For
                                              Equations
                                              Instances For
                                                Equations
                                                Instances For
                                                  Equations
                                                  Instances For
                                                    theorem SecondOrder.Language.Structure.Isomorphism.on_term {L : Language} {l : List Ty} {M : L.Structure} {N : L.Structure} (i : M ≃ᴹ N) (t : L.Term l) (ρ : Assignment M.Dom l) :
                                                    Instances
                                                      structure SecondOrder.Language.Theory.Model {L : Language} (T : L.Theory) extends L.Structure :
                                                      Type (u_1 + 1)
                                                      Instances For
                                                        @[reducible]
                                                        Equations
                                                        Instances For