Packages

c

gapt.proofs.lk

InductionRule

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)

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.

Source
lk.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InductionRule
  2. Serializable
  3. Serializable
  4. CommonRule
  5. ContextRule
  6. LKProof
  7. SequentProof
  8. DagProof
  9. Product
  10. Equals
  11. AnyRef
  12. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new InductionRule(cases: Seq[InductionCase], formula: Abs, term: Expr)

    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.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from InductionRule to any2stringadd[InductionRule] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (InductionRule, B)
    Implicit
    This member is added by an implicit conversion from InductionRule to ArrowAssoc[InductionRule] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def LKRuleCreationException(message: String): LKRuleCreationException
    Attributes
    protected
    Definition Classes
    LKProof
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def auxFormulas: Seq[Seq[Formula]]

    A list of lists containing the auxiliary formulas of the rule.

    A list of lists containing the auxiliary formulas of the rule. The first list constains the auxiliary formulas in the first premise and so on.

    Definition Classes
    SequentProof
  9. def auxIndices: Seq[Seq[SequentIndex]]

    A list of lists of SequentIndices denoting the auxiliary formula(s) of the rule.

    A list of lists of SequentIndices denoting the auxiliary formula(s) of the rule. The first list contains the auxiliary formulas in the first premise and so on.

    Definition Classes
    InductionRuleSequentProof
  10. val cases: Seq[InductionCase]
  11. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate() @throws( ... )
  12. lazy val conclusion: Sequent[Formula]

    The conclusion of the rule.

    The conclusion of the rule.

    Definition Classes
    ContextRuleSequentProof
  13. def contexts: Seq[Sequent[Formula]]
    Attributes
    protected
    Definition Classes
    ContextRule
  14. def dagLike: DagLikeOps[LKProof]

    Operations that view the sub-proofs as a DAG, which ignore duplicate sub-proofs, see DagProof.DagLikeOps for a list.

    Operations that view the sub-proofs as a DAG, which ignore duplicate sub-proofs, see DagProof.DagLikeOps for a list.

    Definition Classes
    DagProof
  15. def depth: Int

    Depth of the proof, which is the maximum length of a path you can take via immediateSubProofs.

    Depth of the proof, which is the maximum length of a path you can take via immediateSubProofs.

    Definition Classes
    DagProof
  16. final def endSequent: Sequent[Formula]

    The end-sequent of the rule.

    The end-sequent of the rule.

    Definition Classes
    LKProof
  17. def ensuring(cond: (InductionRule) ⇒ Boolean, msg: ⇒ Any): InductionRule
    Implicit
    This member is added by an implicit conversion from InductionRule to Ensuring[InductionRule] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: (InductionRule) ⇒ Boolean): InductionRule
    Implicit
    This member is added by an implicit conversion from InductionRule to Ensuring[InductionRule] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean, msg: ⇒ Any): InductionRule
    Implicit
    This member is added by an implicit conversion from InductionRule to Ensuring[InductionRule] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: Boolean): InductionRule
    Implicit
    This member is added by an implicit conversion from InductionRule to Ensuring[InductionRule] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(that: Any): Boolean
    Definition Classes
    DagProof → Equals → AnyRef → Any
  23. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from InductionRule to StringFormat[InductionRule] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  24. val formula: Abs
  25. def formulasToBeDeleted: Seq[Seq[SequentIndex]]
    Attributes
    protected
    Definition Classes
    ContextRule
  26. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  27. val hashCode: Int
    Definition Classes
    DagProof
  28. def immediateSubProofs: Seq[LKProof]

    The immediate subproofs of this rule.

    The immediate subproofs of this rule.

    Definition Classes
    InductionRuleDagProof
  29. val indTy: Ty
  30. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  31. def longName: String

    The name of this rule (in words).

    The name of this rule (in words).

    Definition Classes
    DagProof
  32. val mainFormula: Formula
  33. def mainFormulaSequent: Sequent[Formula]
    Attributes
    protected
    Definition Classes
    InductionRuleContextRule
  34. def mainFormulas: Seq[Formula]

    The list of main formulas of the rule.

    The list of main formulas of the rule.

    Definition Classes
    SequentProof
  35. def mainIndices: Vector[SequentIndex]

    A list of SequentIndices denoting the main formula(s) of the rule.

    A list of SequentIndices denoting the main formula(s) of the rule.

    Definition Classes
    ContextRuleSequentProof
  36. def name: String

    The name of this rule (in symbols).

    The name of this rule (in symbols).

    Definition Classes
    InductionRuleDagProof
  37. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  39. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  40. def occConnectors: Seq[SequentConnector]

    A list of occurrence connectors, one for each immediate subproof.

    A list of occurrence connectors, one for each immediate subproof.

    Definition Classes
    ContextRuleSequentProof
  41. def premises: Seq[Sequent[Formula]]

    The upper sequents of the rule.

    The upper sequents of the rule.

    Definition Classes
    SequentProof
  42. def productArity: Int
    Definition Classes
    InductionRule → Product
  43. def productElement(n: Int): Any
    Definition Classes
    InductionRule → Product
  44. val qfFormula: Expr
  45. val quant: Var
  46. def stepString(subProofLabels: Map[Any, String]): String
    Attributes
    protected
    Definition Classes
    SequentProofDagProof
  47. def subProofAt(pos: List[Int]): LKProof

    Returns the subproof at the given position: p.subProofAt(Nil) is p itself; p.subProofAt(i :: is) is the ith subproof of p.subProofAt(is).

    Returns the subproof at the given position: p.subProofAt(Nil) is p itself; p.subProofAt(i :: is) is the ith subproof of p.subProofAt(is).

    Definition Classes
    DagProof
  48. def subProofs: Set[LKProof]

    Set of all (transitive) sub-proofs including this.

    Set of all (transitive) sub-proofs including this.

    Definition Classes
    DagProof
  49. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  50. val term: Expr
  51. def toString(): String
    Definition Classes
    DagProof → AnyRef → Any
  52. def treeLike: TreeLikeOps[LKProof]

    Operations that view the sub-proofs as a tree, see DagProof.TreeLikeOps for a list.

    Operations that view the sub-proofs as a tree, see DagProof.TreeLikeOps for a list.

    Definition Classes
    DagProof
  53. def validateIndices(premise: HOLSequent, antecedentIndices: Seq[SequentIndex], succedentIndices: Seq[SequentIndex]): Unit

    Checks whether indices are in the right place and premise is defined at all of them.

    Checks whether indices are in the right place and premise is defined at all of them.

    premise

    The sequent to be checked.

    antecedentIndices

    Indices that should be in the antecedent.

    succedentIndices

    Indices that should be in the succedent.

    Attributes
    protected
    Definition Classes
    LKProof
  54. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  56. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. def [B](y: B): (InductionRule, B)
    Implicit
    This member is added by an implicit conversion from InductionRule to ArrowAssoc[InductionRule] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Serializable

Inherited from Serializable

Inherited from CommonRule

Inherited from ContextRule[Formula, LKProof]

Inherited from LKProof

Inherited from SequentProof[Formula, LKProof]

Inherited from DagProof[LKProof]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from InductionRule to any2stringadd[InductionRule]

Inherited by implicit conversion StringFormat from InductionRule to StringFormat[InductionRule]

Inherited by implicit conversion Ensuring from InductionRule to Ensuring[InductionRule]

Inherited by implicit conversion ArrowAssoc from InductionRule to ArrowAssoc[InductionRule]

Ungrouped