Documentation

Foundation.FirstOrder.Hauptsatz

#Algebraic Proofs of Cut Elimination

Main reference: Jeremy Avigad, Algebraic proofs of cut elimination, The Journal of Logic and Algebraic Programming, Volume 49, Issues 1–2, 2001, Pages 15-30

Instances For
    @[simp]
    @[simp]
    theorem LO.FirstOrder.Derivation.isCutFree_and_iff {L : Language} {Γ : Sequent L} {φ ψ : SyntacticFormula L} {dφ : ⊢ᵀ φ :: Γ} {dψ : ⊢ᵀ ψ :: Γ} :
    @[simp]
    @[simp]
    theorem LO.FirstOrder.Derivation.isCutFree_wk_iff {L : Language} {Γ Δ : Sequent L} {d : ⊢ᵀ Δ} {ss : Δ Γ} :
    @[simp]
    @[simp]
    theorem LO.FirstOrder.Derivation.IsCutFree.not_cut {L : Language} {Γ : Sequent L} {φ : SyntacticFormula L} (dp : ⊢ᵀ φ :: Γ) (dn : ⊢ᵀ φ :: Γ) :
    Instances For
      def LO.FirstOrder.PositiveDerivationFrom.trans {L : Language} {Ξ Γ Δ : Sequent L} :
      Ξ ⟶⁺ ΓΓ ⟶⁺ ΔΞ ⟶⁺ Δ
      Equations
      Instances For
        def LO.FirstOrder.PositiveDerivationFrom.add {L : Language} {Γ Δ Ξ Θ : Sequent L} :
        Γ ⟶⁺ ΔΞ ⟶⁺ ΘΓ ++ Ξ ⟶⁺ Δ ++ Θ
        Equations
        Instances For
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              • srq.trans sqp = { val := sqp.val.trans srq.val }
              Instances For
                def LO.FirstOrder.Hauptsatz.StrongerThan.leMinOfle {L✝ : Language} {r p q : Sequent L✝} (srp : StrongerThan r p) (srq : StrongerThan r q) :
                Equations
                • srp.leMinOfle srq = { val := let d := (srp.val.add srq.val).wk ; d }
                Instances For
                  Equations
                  Instances For
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[irreducible]
                      Instances For
                        @[irreducible]
                        Equations
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def LO.FirstOrder.Hauptsatz.Forces.implyOf {L : Language} {p : Sequent L} {φ ψ : SyntacticFormulaᵢ L} (b : (q : Sequent L) → Forces q φForces (p q) ψ) :
                            Forces p (φ ψ)
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def LO.FirstOrder.Hauptsatz.Forces.modusPonens {L : Language} {p : Sequent L} {φ ψ : SyntacticFormulaᵢ L} (f : Forces p (φ ψ)) (g : Forces p φ) :
                              Forces p ψ
                              Equations
                              Instances For
                                @[irreducible]
                                Instances For
                                  def LO.FirstOrder.Hauptsatz.Forces.conj {L : Language} {p : Sequent L} {Γ : Sequentᵢ L} (b : (φ : SyntacticFormulaᵢ L) → φ ΓForces p φ) :
                                  Forces p (Γ)
                                  Equations
                                  Instances For
                                    Equations
                                    Instances For
                                      noncomputable def LO.FirstOrder.Hauptsatz.main {L : Language} [L.DecidableEq] {Γ : Sequent L} :
                                      ⊢ᵀ Γ{ d : ⊢ᵀ Γ // Derivation.IsCutFree d }
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For