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
- Alphabetic
- By Inheritance
- InductionRule
- Serializable
- CommonRule
- ContextRule
- NDProof
- SequentProof
- DagProof
- Product
- Equals
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- 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
- 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()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def NDRuleCreationException(message: String): NDRuleCreationException
- Attributes
- protected
- Definition Classes
- NDProof
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- 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
- 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
- InductionRule → SequentProof
- val cases: Seq[InductionCase]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- lazy val conclusion: Sequent[Formula]
The conclusion of the rule.
The conclusion of the rule.
- Definition Classes
- ContextRule → SequentProof
- def contexts: Seq[Sequent[Formula]]
- Attributes
- protected
- Definition Classes
- ContextRule
- 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
- 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
- def eigenVariables: Set[Var]
- final def endSequent: Sequent[Formula]
The end-sequent of the rule.
The end-sequent of the rule.
- Definition Classes
- NDProof
- 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
- 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
- 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
- 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
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(that: Any): Boolean
- Definition Classes
- DagProof → Equals → AnyRef → Any
- 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()
- val formula: Abs
- def formulasToBeDeleted: Seq[Seq[SequentIndex]]
- Attributes
- protected
- Definition Classes
- ContextRule
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- val hashCode: Int
- Definition Classes
- DagProof
- def immediateSubProofs: Seq[NDProof]
The immediate subproofs of this rule.
The immediate subproofs of this rule.
- Definition Classes
- InductionRule → DagProof
- val indTy: Ty
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def longName: String
The name of this rule (in words).
The name of this rule (in words).
- Definition Classes
- DagProof
- val mainFormula: Formula
- def mainFormulaSequent: Sequent[Formula]
- Attributes
- protected
- Definition Classes
- InductionRule → ContextRule
- def mainFormulas: Seq[Formula]
The list of main formulas of the rule.
The list of main formulas of the rule.
- Definition Classes
- SequentProof
- 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
- ContextRule → SequentProof
- def name: String
The name of this rule (in symbols).
The name of this rule (in symbols).
- Definition Classes
- InductionRule → DagProof
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- 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
- ContextRule → SequentProof
- def premises: Seq[Sequent[Formula]]
The upper sequents of the rule.
The upper sequents of the rule.
- Definition Classes
- SequentProof
- def productArity: Int
- Definition Classes
- InductionRule → Product
- def productElement(n: Int): Any
- Definition Classes
- InductionRule → Product
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val qfFormula: Expr
- val quant: Var
- def stepString(subProofLabels: Map[Any, String]): String
- Attributes
- protected
- Definition Classes
- SequentProof → DagProof
- 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
- def subProofs: Set[NDProof]
Set of all (transitive) sub-proofs including this.
Set of all (transitive) sub-proofs including this.
- Definition Classes
- DagProof
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val term: Expr
- def toString(): String
- Definition Classes
- DagProof → AnyRef → Any
- 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
- 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
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- 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.
- 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.
This is the API documentation for GAPT.
The main package is gapt.