Class

at.logic.gapt.proofs.lk

InductionRule

Related Doc: package lk

Permalink

case class InductionRule(cases: Seq[InductionCase], mainFormula: HOLFormula) 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)
Γ :- Δ, ∀x: indTy, F(x)

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.

mainFormula

The formula we want to prove via induction.

Source
lk.scala
Linear Supertypes
Type Hierarchy
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], mainFormula: HOLFormula)

    Permalink

    cases

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

    mainFormula

    The formula we want to prove via induction.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    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)

    Permalink
    Implicit information
    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

    Permalink
    Definition Classes
    AnyRef → Any
  6. def LKRuleCreationException(message: String): LKRuleCreationException

    Permalink
    Definition Classes
    LKProof
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def auxFormulas: Seq[Seq[HOLFormula]]

    Permalink

    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]]

    Permalink

    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]

    Permalink

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

  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. lazy val conclusion: Sequent[HOLFormula]

    Permalink

    The conclusion of the rule.

    The conclusion of the rule.

    Definition Classes
    ContextRuleSequentProof
  13. def contexts: Seq[Sequent[HOLFormula]]

    Permalink
    Attributes
    protected
    Definition Classes
    ContextRule
  14. def dagLike: DagLikeOps[LKProof]

    Permalink

    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

    Permalink

    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[HOLFormula]

    Permalink

    The end-sequent of the rule.

    The end-sequent of the rule.

    Definition Classes
    LKProof
  17. def ensuring(cond: (InductionRule) ⇒ Boolean, msg: ⇒ Any): InductionRule

    Permalink
    Implicit information
    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

    Permalink
    Implicit information
    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

    Permalink
    Implicit information
    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

    Permalink
    Implicit information
    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

    Permalink
    Definition Classes
    AnyRef
  22. def equals(that: Any): Boolean

    Permalink
    Definition Classes
    DagProof → Equals → AnyRef → Any
  23. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    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()
  25. def formulasToBeDeleted: Seq[Seq[SequentIndex]]

    Permalink
    Attributes
    protected
    Definition Classes
    ContextRule
  26. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  27. val hashCode: Int

    Permalink
    Definition Classes
    DagProof → AnyRef → Any
  28. def immediateSubProofs: Seq[LKProof]

    Permalink

    The immediate subproofs of this rule.

    The immediate subproofs of this rule.

    Definition Classes
    InductionRuleDagProof
  29. val indTy: Ty

    Permalink
  30. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  31. def longName: String

    Permalink

    The name of this rule (in words).

    The name of this rule (in words).

    Definition Classes
    DagProof
  32. val mainFormula: HOLFormula

    Permalink

    The formula we want to prove via induction.

  33. def mainFormulaSequent: Sequent[HOLFormula]

    Permalink
    Attributes
    protected
    Definition Classes
    InductionRuleContextRule
  34. def mainFormulas: Seq[HOLFormula]

    Permalink

    The list of main formulas of the rule.

    The list of main formulas of the rule.

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

    Permalink

    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

    Permalink

    The name of this rule (in symbols).

    The name of this rule (in symbols).

    Definition Classes
    InductionRuleDagProof
  37. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  38. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  39. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  40. def occConnectors: Seq[OccConnector[HOLFormula]]

    Permalink

    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[HOLFormula]]

    Permalink

    The upper sequents of the rule.

    The upper sequents of the rule.

    Definition Classes
    SequentProof
  42. def productArity: Int

    Permalink
    Definition Classes
    InductionRule → Product
  43. def productElement(n: Int): Any

    Permalink
    Definition Classes
    InductionRule → Product
  44. val qfFormula: HOLFormula

    Permalink
  45. val quant: Var

    Permalink
  46. def stepString(subProofLabels: Map[Any, String]): String

    Permalink
    Attributes
    protected
    Definition Classes
    SequentProofDagProof
  47. def subProofs: Set[LKProof]

    Permalink

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

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

    Definition Classes
    DagProof
  48. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  49. def toString(): String

    Permalink
    Definition Classes
    DagProof → AnyRef → Any
  50. def treeLike: TreeLikeOps[LKProof]

    Permalink

    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
  51. def validateIndices(premise: HOLSequent, antecedentIndices: Seq[SequentIndex], succedentIndices: Seq[SequentIndex]): Unit

    Permalink

    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
  52. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. def [B](y: B): (InductionRule, B)

    Permalink
    Implicit information
    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[HOLFormula, LKProof]

Inherited from LKProof

Inherited from SequentProof[HOLFormula, 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