Documentation

Foundation.FirstOrder.Basic.Calculus

One-sided sequent calculus for first-order classical logic #

@[reducible, inline]
Equations
Instances For
    @[simp]
    theorem LO.FirstOrder.Sequent.lcHom_comm {L : Language} {ξ : Type u_1} {Γ : List (Formula L ξ)} (f : Formula L ξ →ˡᶜ Proposition L) :
    List.map (⇑f) (Γ) = List.map (⇑f) Γ
    Equations
    Instances For
      @[simp]
      theorem LO.FirstOrder.Sequent.embed_cons {L : Language} {φ : Sentence L} {Γ : List (Sentence L)} :
      embed (φ :: Γ) = Rewriting.emb φ :: embed Γ
      @[simp]
      theorem LO.FirstOrder.Sequent.embed_append {L : Language} (Γ Δ : List (Sentence L)) :
      embed (Γ ++ Δ) = embed Γ ++ embed Δ

      Derivation for one-sided $\mathbf{LK}$ #

      inductive LO.FirstOrder.Derivation {L : Language} :
      Sequent LType u_1

      Derivation for one-sided $\mathbf{LK}$

      Instances For
        @[simp]
        theorem LO.FirstOrder.Derivation.height_id {L : Language} {k : } {r : L.Rel k} {v : Fin kSemiterm L 0} :
        (identity r v).height = 0
        @[simp]
        theorem LO.FirstOrder.Derivation.height_cut {L✝ : Language} {Δ : List (Proposition L✝)} {φ : Proposition L✝} (dp : ⊢ᴸᴷ¹ φ :: Δ) (dn : ⊢ᴸᴷ¹ φ :: Δ) :
        (dp.cut dn).height = (max dp.height dn.height).succ
        @[simp]
        theorem LO.FirstOrder.Derivation.height_contraction {L✝ : Language} {Δ Γ : Sequent L✝} (d : ⊢ᴸᴷ¹ Δ) (h : Δ Γ) :
        @[simp]
        theorem LO.FirstOrder.Derivation.height_and {L✝ : Language} {Δ : List (Proposition L✝)} {φ ψ : Proposition L✝} (dp : ⊢ᴸᴷ¹ φ :: Δ) (dq : ⊢ᴸᴷ¹ ψ :: Δ) :
        (dp.and dq).height = (max dp.height dq.height).succ
        @[simp]
        theorem LO.FirstOrder.Derivation.height_or {L✝ : Language} {Δ : List (Proposition L✝)} {φ ψ : Proposition L✝} (d : ⊢ᴸᴷ¹ φ :: ψ :: Δ) :
        @[simp]
        theorem LO.FirstOrder.Derivation.height_exs {L✝ : Language} {Δ : List (Proposition L✝)} {t : Semiterm L✝ 0} {φ : Semiproposition L✝ (Nat.succ 0)} (d : ⊢ᴸᴷ¹ φ/[t] :: Δ) :
        @[reducible, inline]
        abbrev LO.FirstOrder.Derivation.cast {L✝ : Language} {Δ Γ : Sequent L✝} (d : ⊢ᴸᴷ¹ Δ) (e : Δ = Γ := by simp) :
        Equations
        Instances For
          @[simp]
          theorem LO.FirstOrder.Derivation.height_cast {L✝ : Language} {Δ Γ : Sequent L✝} (d : ⊢ᴸᴷ¹ Δ) (e : Δ = Γ) :
          def LO.FirstOrder.Derivation.contra {L✝ : Language} {Δ Γ : Sequent L✝} (d : ⊢ᴸᴷ¹ Δ) (h : Δ Γ := by simp) :
          Equations
          Instances For
            def LO.FirstOrder.Derivation.identity' {L : Language} {k : } {Δ : Sequent L} (r : L.Rel k) (v : Fin kSemiterm L 0) (hpos : Semiformula.rel r v Δ := by simp) (hneg : Semiformula.nrel r v Δ := by simp) :
            Equations
            Instances For
              def LO.FirstOrder.Derivation.tensor {L✝ : Language} {Γ Δ : List (Proposition L✝)} {φ ψ : Proposition L✝} ( : ⊢ᴸᴷ¹ φ :: Γ) ( : ⊢ᴸᴷ¹ ψ :: Δ) :
              ⊢ᴸᴷ¹ φ ψ :: (Γ ++ Δ)
              Equations
              Instances For
                def LO.FirstOrder.Derivation.rotate {L✝ : Language} {φ : Proposition L✝} {Γ : List (Proposition L✝)} (d : ⊢ᴸᴷ¹ φ :: Γ) :
                Equations
                Instances For
                  def LO.FirstOrder.Derivation.close {L : Language} {Δ : Sequent L} (φ : Proposition L) (hp : φ Δ := by simp) (hn : φ Δ := by simp) :
                  Equations
                  Instances For
                    @[implicit_reducible]
                    Equations
                    • One or more equations did not get rendered due to their size.
                    @[implicit_reducible]
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Equations
                    Instances For
                      Equations
                      Instances For
                        def LO.FirstOrder.Derivation.exOfInstances {L : Language} {Γ : List (Proposition L)} (v : List (SyntacticTerm L)) (φ : Semiproposition L 1) (h : ⊢ᴸᴷ¹ List.map (fun (x : Semiterm L 0) => φ/[x]) v ++ Γ) :
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Classical proof system #

                          inductive LO.FirstOrder.LK (L : Language) :
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[reducible, inline]
                              abbrev LO.FirstOrder.LK.Proof {L : Language} (φ : Proposition L) :
                              Type u_1
                              Equations
                              Instances For
                                theorem LO.FirstOrder.LK.Proof.lMap {L₁ : Language} {L₂ : Language} (Φ : L₁.Hom L₂) {φ : Proposition L₁} :
                                structure LO.FirstOrder.Theory.Proof {L : Language} (T : Theory L) (σ : Sentence L) :
                                Type u_1
                                Instances For
                                  @[implicit_reducible]
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  theorem LO.FirstOrder.Theory.Proof.provable_iff {L : Language} {T : Theory L} {φ : Sentence L} :
                                  T φ ∃ (Γ : List (Sentence L)), (∀ ψΓ, ψ T) Nonempty (⊢ᴸᴷ¹ Rewriting.emb φ :: Sequent.embed Γ)

                                  Theory #

                                  Equations
                                  Instances For
                                    @[simp]
                                    theorem LO.FirstOrder.Theory.mem_theory {L : Language} {σ : Sentence L} {T : Theory L} :
                                    σ T.theory T σ