c

at.logic.gapt.proofs.nd

InductionRule

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

An NDProof 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
nd.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InductionRule
  2. Serializable
  3. Serializable
  4. CommonRule
  5. ContextRule
  6. NDProof
  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 NDRuleCreationException(message: String): NDRuleCreationException
    Definition Classes
    NDProof
  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
    @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[NDProof]

    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. def eigenVariables: Set[Var]
  17. final def endSequent: Sequent[Formula]

    The end-sequent of the rule.

    The end-sequent of the rule.

    Definition Classes
    NDProof
  18. 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
  19. 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
  20. 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
  21. 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
  22. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def equals(that: Any): Boolean
    Definition Classes
    DagProof → Equals → AnyRef → Any
  24. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. 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()
  26. val formula: Abs
  27. def formulasToBeDeleted: Seq[Seq[SequentIndex]]
    Attributes
    protected
    Definition Classes
    ContextRule
  28. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  29. val hashCode: Int
    Definition Classes
    DagProof
  30. def immediateSubProofs: Seq[NDProof]

    The immediate subproofs of this rule.

    The immediate subproofs of this rule.

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

    The name of this rule (in words).

    The name of this rule (in words).

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

    The list of main formulas of the rule.

    The list of main formulas of the rule.

    Definition Classes
    SequentProof
  37. 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
  38. def name: String

    The name of this rule (in symbols).

    The name of this rule (in symbols).

    Definition Classes
    InductionRuleDagProof
  39. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  40. final def notify(): Unit
    Definition Classes
    AnyRef
  41. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  42. 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
  43. def premises: Seq[Sequent[Formula]]

    The upper sequents of the rule.

    The upper sequents of the rule.

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

    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
  50. def subProofs: Set[NDProof]

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

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

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

    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
  55. def validateIndices(premise: HOLSequent, antecedentIndices: 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.

    Attributes
    protected
    Definition Classes
    NDProof
  56. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  58. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. 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

Inherited from Serializable

Inherited from Serializable

Inherited from CommonRule

Inherited from ContextRule[Formula, NDProof]

Inherited from NDProof

Inherited from SequentProof[Formula, NDProof]

Inherited from DagProof[NDProof]

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