Packages

package lk

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. lk
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class AndLeftRule (subProof: LKProof, aux1: SequentIndex, aux2: SequentIndex) extends UnaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with a conjunction on the left:

            (π)
        A, B, Γ :- Δ
       --------------
       A ∧ B, Γ :- Δ
    

    An LKProof ending with a conjunction on the left:

            (π)
        A, B, Γ :- Δ
       --------------
       A ∧ B, Γ :- Δ
    

    subProof

    The subproof π.

    aux1

    The index of A.

    aux2

    The index of B.

  2. case class AndRightRule (leftSubProof: LKProof, aux1: SequentIndex, rightSubProof: LKProof, aux2: SequentIndex) extends BinaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with a conjunction on the right:

       (π1)         (π2)
      Γ :- Δ, A    Π :- Λ, B
    --------------------------
        Γ, Π :- Δ, Λ, A∧B
    

    An LKProof ending with a conjunction on the right:

       (π1)         (π2)
      Γ :- Δ, A    Π :- Λ, B
    --------------------------
        Γ, Π :- Δ, Λ, A∧B
    

    leftSubProof

    The proof π1.

    aux1

    The index of A.

    rightSubProof

    The proof π2

    aux2

    The index of B.

  3. abstract class BinaryLKProof extends LKProof

    An LKProof deriving a sequent from two other sequents:

        (π1)     (π2)
       Γ :- Δ   Γ' :- Δ'
      ------------------
           Π :- Λ
    

  4. trait CommonRule extends LKProof with ContextRule[Formula, LKProof]
  5. case class ContractionLeftRule (subProof: LKProof, aux1: SequentIndex, aux2: SequentIndex) extends ContractionRule with Product with Serializable

    An LKProof ending with a left contraction:

            (π)
        A, A, Γ :- Δ
       --------------
         A, Γ :- Δ
    

    An LKProof ending with a left contraction:

            (π)
        A, A, Γ :- Δ
       --------------
         A, Γ :- Δ
    

    subProof

    The subproof π.

    aux1

    The index of one occurrence of A.

    aux2

    The index of the other occurrence of A.

  6. case class ContractionRightRule (subProof: LKProof, aux1: SequentIndex, aux2: SequentIndex) extends ContractionRule with Product with Serializable

    An LKProof ending with a right contraction:

            (π)
        Γ :- Δ, A, A
       --------------
         Γ :- Δ, A
    

    An LKProof ending with a right contraction:

            (π)
        Γ :- Δ, A, A
       --------------
         Γ :- Δ, A
    

    subProof

    The subproof π.

    aux1

    The index of one occurrence of A.

    aux2

    The index of the other occurrence of A.

  7. abstract class ContractionRule extends UnaryLKProof with CommonRule
  8. class ConvenienceConstructor extends AnyRef

    Class for reducing boilerplate code in LK companion objects.

  9. case class CutRule (leftSubProof: LKProof, aux1: SequentIndex, rightSubProof: LKProof, aux2: SequentIndex) extends BinaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with a cut:

         (π1)         (π2)
       Γ :- Δ, A   A, Π :- Λ
      ------------------------
           Γ, Π :- Δ, Λ
    

    An LKProof ending with a cut:

         (π1)         (π2)
       Γ :- Δ, A   A, Π :- Λ
      ------------------------
           Γ, Π :- Δ, Λ
    

    leftSubProof

    The proof π1.

    aux1

    The index of A in π1.

    rightSubProof

    The proof π2.

    aux2

    The index of A in π2.

  10. case class DefinitionLeftRule (subProof: LKProof, aux: SequentIndex, mainFormula: Formula) extends DefinitionRule with Product with Serializable

    An LKProof ending with a definition on the left:

    An LKProof ending with a definition on the left:

          (π)
       A[φ], Γ :- Δ
      -----------d:l
       A[c], Γ :- Δ
    

    subProof

    The proof π.

    aux

    The index of A in the antecedent.

  11. case class DefinitionRightRule (subProof: LKProof, aux: SequentIndex, mainFormula: Formula) extends DefinitionRule with Product with Serializable

    An LKProof ending with a definition on the right:

    An LKProof ending with a definition on the right:

          (π)
       Γ :- Δ, A[φ]
      -----------d:l
       Γ :- Δ, A[c]
    

    subProof

    The proof π.

    aux

    The index of A in the succedent.

  12. abstract class DefinitionRule extends UnaryLKProof with CommonRule
  13. trait Eigenvariable extends AnyRef

    Use this trait for rules that use eigenvariables.

  14. case class EqualityLeftRule (subProof: LKProof, eq: SequentIndex, aux: SequentIndex, replacementContext: Abs) extends EqualityRule with Product with Serializable

    An LKProof ending with a left equality rule.

    An LKProof ending with a left equality rule. There are two possible cases according to which direction the rule is applied in:

               (π)                            (π)
       A[s], s = t, Γ :- Δ            A[t], s = t, Γ :- Δ
      ---------------------eq:l      ---------------------eq:l
       A[t], s = t, Γ :- Δ            A[s], s = t, Γ :- Δ
    
    

    In either case, the rule only replaces term occurrences at parallel positions. These positions are given by the positions argument.

    subProof

    The subproof π.

    eq

    The index of s = t.

    aux

    The index of the formula in which the replacement is to be performed.

    replacementContext

    A term λx.A[x] that designates the positions to be replaced.

  15. case class EqualityRightRule (subProof: LKProof, eq: SequentIndex, aux: SequentIndex, replacementContext: Abs) extends EqualityRule with Product with Serializable

    An LKProof ending with a right equality rule.

    An LKProof ending with a right equality rule. There are two possible cases according to which direction the rule is applied in:

               (π)                            (π)
       s = t, Γ :- Δ, A[s]            s = t, Γ :- Δ, A[t]
      ---------------------eq:r      ---------------------eq:r
       s = t, Γ :- Δ, A[t]            s = t, Γ :- Δ, A[s]
    

    In either case, the rule only replaces term occurrences at parallel positions. These positions are given by the positions argument.

    subProof

    The subproof π.

    eq

    The index of s = t.

    aux

    The index of the formula in which the replacement is to be performed.

    replacementContext

    A term λx.A[x] that designates the positions to be replaced.

  16. abstract class EqualityRule extends UnaryLKProof with CommonRule

    Abstract class that performs most of the construction of left and right equality rules.

  17. case class ExistsLeftRule (subProof: LKProof, aux: SequentIndex, eigenVariable: Var, quantifiedVariable: Var) extends UnaryLKProof with CommonRule with Eigenvariable with Product with Serializable

    An LKProof ending with an existential quantifier on the left:

              (π)
         A[x\α], Γ :- Δ
        ---------------∀:r
          ∃x.A Γ :- Δ
    
    This rule is only applicable if the eigenvariable condition is satisfied: α must not occur freely in Γ :- Δ.

    An LKProof ending with an existential quantifier on the left:

              (π)
         A[x\α], Γ :- Δ
        ---------------∀:r
          ∃x.A Γ :- Δ
    
    This rule is only applicable if the eigenvariable condition is satisfied: α must not occur freely in Γ :- Δ.

    subProof

    The proof π.

    aux

    The index of A[x\α].

    eigenVariable

    The variable α.

    quantifiedVariable

    The variable x.

  18. case class ExistsRightRule (subProof: LKProof, aux: SequentIndex, A: Formula, term: Expr, v: Var) extends UnaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with an existential quantifier on the right:

               (π)
         Γ :- Δ, A[x\t]
        ----------------∃:r
          Γ :- Δ, ∃x.A
    

    An LKProof ending with an existential quantifier on the right:

               (π)
         Γ :- Δ, A[x\t]
        ----------------∃:r
          Γ :- Δ, ∃x.A
    

    subProof

    The proof π.

    aux

    The index of A[x\t].

    A

    The formula A.

    term

    The term t.

    v

    The variable x.

  19. case class ExistsSkLeftRule (subProof: LKProof, aux: SequentIndex, mainFormula: Formula, skolemTerm: Expr, skolemDef: Expr) extends UnaryLKProof with SkolemQuantifierRule with Product with Serializable

    An LKProof ending with an existential quantifier on the left:

              (π)
         A[x\s(...)], Γ :- Δ
        --------------- ∃sk:l
          ∃x.A Γ :- Δ
    
    This rule requires a Skolem function s(...)

    An LKProof ending with an existential quantifier on the left:

              (π)
         A[x\s(...)], Γ :- Δ
        --------------- ∃sk:l
          ∃x.A Γ :- Δ
    
    This rule requires a Skolem function s(...)

    subProof

    The proof π.

    aux

    The index of A[x\s(...)].

    mainFormula

    The main formula A[x\s(...)]

    skolemTerm

    The Skolem term s(...)

    skolemDef

    The Skolem definition, see at.logic.gapt.expr.hol.SkolemFunctions

  20. case class ForallLeftRule (subProof: LKProof, aux: SequentIndex, A: Formula, term: Expr, v: Var) extends UnaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with a universal quantifier on the left:

               (π)
         A[x\t], Γ :- Δ
        ----------------∀:l
          ∀x.A, Γ :- Δ
    

    An LKProof ending with a universal quantifier on the left:

               (π)
         A[x\t], Γ :- Δ
        ----------------∀:l
          ∀x.A, Γ :- Δ
    

    subProof

    The proof π.

    aux

    The index of A[x\t].

    A

    The formula A.

    term

    The term t.

    v

    The variable x.

  21. case class ForallRightRule (subProof: LKProof, aux: SequentIndex, eigenVariable: Var, quantifiedVariable: Var) extends UnaryLKProof with CommonRule with Eigenvariable with Product with Serializable

    An LKProof ending with a universal quantifier on the right:

              (π)
         Γ :- Δ, A[x\α]
        ---------------∀:r
         Γ :- Δ, ∀x.A
    
    This rule is only applicable if the eigenvariable condition is satisfied: α must not occur freely in Γ :- Δ.

    An LKProof ending with a universal quantifier on the right:

              (π)
         Γ :- Δ, A[x\α]
        ---------------∀:r
         Γ :- Δ, ∀x.A
    
    This rule is only applicable if the eigenvariable condition is satisfied: α must not occur freely in Γ :- Δ.

    subProof

    The proof π.

    aux

    The index of A[x\α].

    eigenVariable

    The variable α.

    quantifiedVariable

    The variable x.

  22. case class ForallSkRightRule (subProof: LKProof, aux: SequentIndex, mainFormula: Formula, skolemTerm: Expr, skolemDef: Expr) extends UnaryLKProof with SkolemQuantifierRule with Product with Serializable

    An LKProof ending with a universal quantifier on the right:

              (π)
         Γ :- Δ, A[x\s(...)]
        ---------------∀:r
         Γ :- Δ, ∀x.A
    
    This rule requires a Skolem function s(...)

    An LKProof ending with a universal quantifier on the right:

              (π)
         Γ :- Δ, A[x\s(...)]
        ---------------∀:r
         Γ :- Δ, ∀x.A
    
    This rule requires a Skolem function s(...)

    subProof

    The proof π.

    aux

    The index of A[x\α].

    mainFormula

    The main formula A[x\s(...)]

    skolemTerm

    The Skolem term s(...)

    skolemDef

    The Skolem definition, see at.logic.gapt.expr.hol.SkolemFunctions

  23. class FreeCutElimination extends AnyRef

    Free-cut elimination for proofs with equality and induction.

  24. case class ImpLeftRule (leftSubProof: LKProof, aux1: SequentIndex, rightSubProof: LKProof, aux2: SequentIndex) extends BinaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with an implication on the left:

        (π1)         (π2)
      Γ :- Δ, A    B, Π :- Λ
    --------------------------
        A→B, Γ, Π :- Δ, Λ
    

    An LKProof ending with an implication on the left:

        (π1)         (π2)
      Γ :- Δ, A    B, Π :- Λ
    --------------------------
        A→B, Γ, Π :- Δ, Λ
    

    leftSubProof

    The proof π1.

    aux1

    The index of A.

    rightSubProof

    The proof π2

    aux2

    The index of B.

  25. case class ImpRightRule (subProof: LKProof, aux1: SequentIndex, aux2: SequentIndex) extends UnaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with an implication on the right:

            (π)
        A, Γ :- Δ, B
       --------------
        Γ :- Δ, A → B
    

    An LKProof ending with an implication on the right:

            (π)
        A, Γ :- Δ, B
       --------------
        Γ :- Δ, A → B
    

    subProof

    The subproof π.

    aux1

    The index of A.

    aux2

    The index of B.

  26. case class InductionCase (proof: LKProof, constructor: Const, hypotheses: Seq[SequentIndex], eigenVars: Seq[Var], conclusion: SequentIndex) extends Product with Serializable

    Proof that a given data type constructor c preserves a formula F:

    Proof that a given data type constructor c preserves a formula F:

                                     (π)
    F(x,,1,,), F(x,,2,,), ..., F(x,,n,,), Γ :- Δ, F(c(x,,1,,,...,x,,n,,,y,,1,,,...,y,,n,,))
    

    The variables xi and yi are eigenvariables; xi are the eigenvariables of the same type as the inductive data type, yi are the other arguments of the constructor c. They can come in any order in the constructor.

    proof

    The LKProof ending in the sequent of this case.

    constructor

    The constructor c of the inductive data type that we're considering.

    hypotheses

    Indices of F(x1), ..., F(xn)

    eigenVars

    The eigenvariables of this case: x1, ..., xn, y1, ..., yn (these need to correspond to the order in c)

    conclusion

    Index of F(c(x1,...,xn,y1,...,yn))

  27. case class InductionRule (cases: Seq[InductionCase], formula: Abs, term: Expr) extends LKProof with CommonRule with Product with Serializable

    An LKProof ending with an induction rule:

      (π,,1,,)   (π,,2,,)           (π,,n,,)
    case 1      case 2     ...     case n
    -------------------------------------(ind)
    Γ :- Δ, F(t: indTy)
    

    An LKProof ending with an induction rule:

      (π,,1,,)   (π,,2,,)           (π,,n,,)
    case 1      case 2     ...     case n
    -------------------------------------(ind)
    Γ :- Δ, F(t: indTy)
    

    This induction rule can handle inductive data types. The cases are proofs that the various type constructors preserve the formula we want to prove. They are provided via the InductionCase class.

    cases

    A sequence of proofs showing that each type constructor preserves the validity of the main formula.

    formula

    The formula we want to prove via induction.

  28. abstract class InitialSequent extends LKProof

    An LKProof consisting of a single sequent:

        --------ax
         Γ :- Δ
    

  29. class InterpolationException extends Exception
  30. abstract class LKProof extends SequentProof[Formula, LKProof]
  31. class LKProofReplacer extends LKVisitor[Unit]
  32. class LKProofSubstitutable extends Substitutable[Substitution, LKProof, LKProof]

    Class that describes how LKProofs can be substituted.

  33. class LKRuleCreationException extends Exception
  34. class LKToNDTranslationException extends Exception
  35. trait LKVisitor [T] extends AnyRef

    Implementation of the visitor pattern for at.logic.gapt.proofs.lk.LKProof.

    Implementation of the visitor pattern for at.logic.gapt.proofs.lk.LKProof. Proof transformations can implement this trait to reduce boilerplate code.

    T

    Type of additional arguments that may be used in the transformation.

  36. case class LogicalAxiom (A: Formula) extends InitialSequent with Product with Serializable

    An LKProof consisting of a logical axiom:

       --------ax
        A :- A
    
    with A atomic.

    An LKProof consisting of a logical axiom:

       --------ax
        A :- A
    
    with A atomic.

    A

    The atom A.

  37. case class NegLeftRule (subProof: LKProof, aux: SequentIndex) extends UnaryLKProof with CommonRule with Product with Serializable

    Index of the left cut formula or the formula itself.

    Index of the left cut formula or the formula itself. An LKProof ending with a negation on the left:

          (π)
       Γ :- Δ, A
      -----------¬:l
      ¬A, Γ :- Δ
    

    subProof

    The proof π.

    aux

    The index of A in the succedent.

  38. case class NegRightRule (subProof: LKProof, aux: SequentIndex) extends UnaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with a negation on the right:Index of the left cut formula or the formula itself.

    An LKProof ending with a negation on the right:Index of the left cut formula or the formula itself.

          (π)
       A, Γ :- Δ
      -----------¬:r
      Γ :- Δ, ¬A
    

    subProof

    The proof π.

    aux

    The index of A in the antecedent.

  39. case class OrLeftRule (leftSubProof: LKProof, aux1: SequentIndex, rightSubProof: LKProof, aux2: SequentIndex) extends BinaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with a disjunction on the left:

        (π1)         (π2)
      A, Γ :- Δ    B, Π :- Λ
    --------------------------
        A∨B, Γ, Π :- Δ, Λ
    

    An LKProof ending with a disjunction on the left:

        (π1)         (π2)
      A, Γ :- Δ    B, Π :- Λ
    --------------------------
        A∨B, Γ, Π :- Δ, Λ
    

    leftSubProof

    The proof π1.

    aux1

    The index of A.

    rightSubProof

    The proof π2

    aux2

    The index of B.

  40. case class OrRightRule (subProof: LKProof, aux1: SequentIndex, aux2: SequentIndex) extends UnaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with a disjunction on the right:

            (π)
        Γ :- Δ, A, B
       --------------
        Γ :- Δ, A ∨ B
    

    An LKProof ending with a disjunction on the right:

            (π)
        Γ :- Δ, A, B
       --------------
        Γ :- Δ, A ∨ B
    

    subProof

    The subproof π.

    aux1

    The index of A.

    aux2

    The index of B.

  41. class ProofBuilder [Proof] extends AnyRef

    Class for convenient construction of proofs.

    Class for convenient construction of proofs. Allows you to write proofs post-order style (à la Bussproofs). Example:

    (ProofBuilder
    c LogicalAxiom(A)
    c LogicalAxiom(B)
    u (WeakeningLeftRule(_, C))
    b (AndRightRule(_,_, And(A, B))
    qed)
    
    The constructor is private, so the only way to instantiate this class is by using the ProofBuilder object. This means that the stack will always be empty in the beginning.

  42. case class ProofLink (referencedProof: Expr, referencedSequent: Sequent[Formula]) extends InitialSequent with Product with Serializable
  43. class ReductiveCutElimination extends AnyRef
  44. case class ReflexivityAxiom (s: Expr) extends InitialSequent with Product with Serializable

    An LKProof consisting of a reflexivity axiom:

       ------------ax
         :- s = s
    
    with s a term.

    An LKProof consisting of a reflexivity axiom:

       ------------ax
         :- s = s
    
    with s a term.

    s

    The term s.

  45. trait SkolemQuantifierRule extends UnaryLKProof with CommonRule
  46. trait SolveUtils extends AnyRef
  47. abstract class UnaryLKProof extends LKProof

    An LKProof deriving a sequent from another sequent:

           (π)
         Γ :- Δ
       ----------
        Γ' :- Δ'
    

  48. case class WeakeningLeftRule (subProof: LKProof, formula: Formula) extends UnaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with a left weakening:

           (π)
          Γ :- Δ
        ---------w:l
        A, Γ :- Δ
    

    An LKProof ending with a left weakening:

           (π)
          Γ :- Δ
        ---------w:l
        A, Γ :- Δ
    

    subProof

    The subproof π.

    formula

    The formula A.

  49. case class WeakeningRightRule (subProof: LKProof, formula: Formula) extends UnaryLKProof with CommonRule with Product with Serializable

    An LKProof ending with a right weakening:

           (π)
          Γ :- Δ
        ---------w:r
        Γ :- Δ, A
    

    An LKProof ending with a right weakening:

           (π)
          Γ :- Δ
        ---------w:r
        Γ :- Δ, A
    

    subProof

    The subproof π.

    formula

    The formula A.

  50. class eliminateDefinitions extends Function[Expr, Expr]

    Implements definition elimination.

  51. class extractRecSchem2 extends AnyRef
  52. class regularize extends LKVisitor[Unit]
  53. class solvePropositional extends SolveUtils

Value Members

  1. implicit def LeftSequentIndex(i: SequentIndex): Either[SequentIndex, Formula]
  2. implicit def RightFormula(f: Formula): Either[SequentIndex, Formula]
  3. object AndLeftMacroRule extends ConvenienceConstructor
  4. object AndLeftRule extends ConvenienceConstructor with Serializable
  5. object AndRightRule extends ConvenienceConstructor with Serializable
  6. object AtomicExpansion
  7. object BinaryLKProof
  8. object BottomAxiom extends InitialSequent with Product with Serializable

    An LKProof introducing ⊥ on the left:

          --------⊥:l
            ⊥ :-
    

  9. object ContractionLeftMacroRule

    This macro rule simulates a series of contractions in the antecedent.

  10. object ContractionLeftRule extends ConvenienceConstructor with Serializable
  11. object ContractionMacroRule extends ConvenienceConstructor

    This macro rule simulates a series of contractions in both cedents.

  12. object ContractionRightMacroRule

    This macro rule simulates a series of contractions in the succedent.

  13. object ContractionRightRule extends ConvenienceConstructor with Serializable
  14. object CutRule extends ConvenienceConstructor with Serializable
  15. object DefinitionLeftRule extends ConvenienceConstructor with Serializable
  16. object DefinitionRightRule extends ConvenienceConstructor with Serializable
  17. object DefinitionRule extends ConvenienceConstructor
  18. object EqualityLeftMacroRule extends ConvenienceConstructor
  19. object EqualityLeftRule extends ConvenienceConstructor with Serializable
  20. object EqualityRightMacroRule extends ConvenienceConstructor
  21. object EqualityRightRule extends ConvenienceConstructor with Serializable
  22. object EquationalLKProver extends OneShotProver
  23. object ExchangeLeftMacroRule

    Move a formula to the beginning of the antecedent, where the main formula is customarily placed.

    Move a formula to the beginning of the antecedent, where the main formula is customarily placed.

             (π)
        Γ, A, Γ' :- Δ
       --------------
        A, Γ, Γ' :- Δ
    

  24. object ExchangeRightMacroRule

    Move a formula to the end of the succedent, where the main formula is customarily placed.

    Move a formula to the end of the succedent, where the main formula is customarily placed.

             (π)
        Γ :- Δ, A, Δ'
       --------------
        Γ :- Δ, Δ', A
    

  25. object ExistsLeftBlock
  26. object ExistsLeftRule extends ConvenienceConstructor with Serializable
  27. object ExistsRightBlock
  28. object ExistsRightRule extends ConvenienceConstructor with Serializable
  29. object ExistsSkLeftRule extends ConvenienceConstructor with Serializable
  30. object ExtractInterpolant
  31. object FOTheoryMacroRule
  32. object ForallLeftBlock
  33. object ForallLeftRule extends ConvenienceConstructor with Serializable
  34. object ForallRightBlock
  35. object ForallRightRule extends ConvenienceConstructor with Serializable
  36. object ForallSkRightRule extends ConvenienceConstructor with Serializable
  37. object ImpLeftRule extends ConvenienceConstructor with Serializable
  38. object ImpRightMacroRule extends ConvenienceConstructor
  39. object ImpRightRule extends ConvenienceConstructor with Serializable
  40. object InitialSequent
  41. object Interpolate
  42. implicit object LKProofSubstitutableDefault extends LKProofSubstitutable
  43. object LKProver extends OneShotProver
  44. object LKToExpansionProof
  45. object LKToND
  46. object NaturalNumberInductionRule extends ConvenienceConstructor
  47. object NegLeftRule extends ConvenienceConstructor with Serializable
  48. object NegRightRule extends ConvenienceConstructor with Serializable
  49. object OrLeftRule extends ConvenienceConstructor with Serializable
  50. object OrRightMacroRule extends ConvenienceConstructor
  51. object OrRightRule extends ConvenienceConstructor with Serializable
  52. object ParamodulationLeftRule extends ConvenienceConstructor
  53. object ParamodulationRightRule extends ConvenienceConstructor
  54. object ProofBuilder extends ProofBuilder[LKProof]
  55. object ReductiveCutElimination

    This object implements a version of Gentzen's cut-elimination proof for our sequent calculus LK.

    This object implements a version of Gentzen's cut-elimination proof for our sequent calculus LK. For details, please refer to the documentation of the apply methods.

  56. object ResolutionProofBuilder extends ProofBuilder[ResolutionProof]
  57. object StrongQuantifierRule
  58. object TopAxiom extends InitialSequent with Product with Serializable

    An LKProof introducing ⊤ on the right:

          --------⊤:r
            :- ⊤
    

  59. object TransRule
  60. object UnaryLKProof
  61. object WeakQuantifierBlock
  62. object WeakQuantifierRule
  63. object WeakeningContractionMacroRule extends ConvenienceConstructor

    This macro rule simulates multiple weakenings and contractions in both cedents.

  64. object WeakeningLeftMacroRule

    This macro rule simulates a series of weakenings in the antecedent.

  65. object WeakeningMacroRule extends ConvenienceConstructor

    This macro rule simulates a series of weakenings in both cedents.

  66. object WeakeningRightMacroRule

    This macro rule simulates a series of weakenings in the succedent.

  67. object cleanCuts extends LKVisitor[Unit]

    Algorithm that removes some unnecessary cuts.

    Algorithm that removes some unnecessary cuts. At the moment it only removes cuts where one of the premises is a logical axiom.

  68. object cleanStructuralRules
  69. object consoleString
  70. object containsDefinitionRules
  71. object containsEqualityReasoning
  72. object cutFormulas
  73. object cutsNumber
  74. object eliminateDefinitions

    Eliminates definitions from a lambda expression, HOL formula, or LK proof.

  75. object equalityLeftReduction
  76. object equalityRightReduction
  77. object extractRecSchem
  78. object freeCutElimination
  79. object freeVariablesLK
  80. object gradeReduction
  81. object groundFreeVarsLK
  82. object inductionLeftReduction
  83. object inductionReduction
  84. object inductionRightReduction
  85. object inductionUnfoldingReduction
  86. object inductionsNumber
  87. object instanceProof
  88. object instantiateProof
  89. object isRegular
  90. object leftRankReduction
  91. implicit object lkProofReplaceable extends ClosedUnderReplacement[LKProof]
  92. object makeInductionExplicit extends LKVisitor[Unit]
  93. object makeTheoryAxiomsExplicit extends LKVisitor[Seq[Formula]]

    Given a list of formulas Π, this transforms a proof π of Σ :- Δ into a proof π' of Π, Σ :- Δ.

    Given a list of formulas Π, this transforms a proof π of Σ :- Δ into a proof π' of Π, Σ :- Δ.

    It replaces theory axioms on sequents S that are subsumed by Π with propositional proofs of Π, S.

  94. object moveStrongQuantifierRulesDown

    Modifies an LK proof to introduce strong quantifiers as soon as possible.

  95. object printProofStats
  96. object proofFromInstances

    Computes a proof of F from a proof of some instances of F

  97. object pushAllWeakeningsToLeaves
  98. object pushEqualityInferencesToLeaves
  99. object pushSingleWeakeningToLeaves
  100. object quantRulesNumber
  101. object regularize

    Proof regularization

  102. object rightRankReduction
  103. object rulesNumber
  104. object skolemize
  105. object skolemizeInferences
  106. object solvePropositional extends solvePropositional
  107. object solveQuasiPropositional extends solvePropositional
  108. object strongQuantRulesNumber
  109. object unfoldInduction
  110. object weakQuantRulesNumber
  111. object weakeningOnlySubTree

Deprecated Value Members

  1. object TheoryAxiom
    Annotations
    @deprecated
    Deprecated

    (Since version 2.7) Use ProofLink instead

Inherited from AnyRef

Inherited from Any

Ungrouped