c

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
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InductionRule
  2. Serializable
  3. CommonRule
  4. ContextRule
  5. NDProof
  6. SequentProof
  7. DagProof
  8. Product
  9. Equals
  10. AnyRef
  11. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

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 toany2stringadd[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 toArrowAssoc[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
    Attributes
    protected
    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[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  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 toEnsuring[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 toEnsuring[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 toEnsuring[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 toEnsuring[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 formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from InductionRule toStringFormat[InductionRule] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  25. val formula: Abs
  26. def formulasToBeDeleted: Seq[Seq[SequentIndex]]
    Attributes
    protected
    Definition Classes
    ContextRule
  27. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  28. val hashCode: Int
    Definition Classes
    DagProof
  29. def immediateSubProofs: Seq[NDProof]

    The immediate subproofs of this rule.

    The immediate subproofs of this rule.

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

    The name of this rule (in words).

    The name of this rule (in words).

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

    The list of main formulas of the rule.

    The list of main formulas of the rule.

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

    The name of this rule (in symbols).

    The name of this rule (in symbols).

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

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

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

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

    The upper sequents of the rule.

    The upper sequents of the rule.

    Definition Classes
    SequentProof
  43. def productArity: Int
    Definition Classes
    InductionRule → Product
  44. def productElement(n: Int): Any
    Definition Classes
    InductionRule → Product
  45. def productElementNames: Iterator[String]
    Definition Classes
    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(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  58. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

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

    (Since version ) see corresponding Javadoc for more information.

  2. def [B](y: B): (InductionRule, B)
    Implicit
    This member is added by an implicit conversion from InductionRule toArrowAssoc[InductionRule] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

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 fromInductionRule to any2stringadd[InductionRule]

Inherited by implicit conversion StringFormat fromInductionRule to StringFormat[InductionRule]

Inherited by implicit conversion Ensuring fromInductionRule to Ensuring[InductionRule]

Inherited by implicit conversion ArrowAssoc fromInductionRule to ArrowAssoc[InductionRule]

Ungrouped