Packages

t

edu.cmu.cs.ls.keymaerax.hydra

ProofTreeNode

trait ProofTreeNode extends AnyRef

A Proof Tree Node represents the central element of managing a (possibly large compound) inference during proof search in a ProofTree. Unlike the stateless edu.cmu.cs.ls.keymaerax.core.Provable representation of the prover kernel, proof trees provide navigation and tactic scheduling infrastructure.

Beyond providing proof tree navigation information, this type manages the interface to the kernel's provable. Proof tree nodes consist of a local provable that created this proof node, and which can later be stitched together after completing the entire subproof. The provable function can later perform the computation required to staple the proof together as far as the children have completed it.

The proof treee node also provides infrastructure for letting tactics run to expand this proof tree node.

See also

edu.cmu.cs.ls.keymaerax.core.Provable

ProvableSig

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProofTreeNode
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def children: List[ProofTreeNode]

    The node's direct children.

  2. abstract def goal: Option[Sequent]

    The node's goal, None if closed.

  3. abstract def goalIdx: Int

    The index of the goal (subgoal in local provable) that this node targets.

  4. abstract val id: ProofTreeNodeId

    The node ID.

  5. abstract def label: Option[BelleLabel]

    The node label.

  6. abstract def localProvable: ProvableSig

    The local provable, whose subgoals will be filled in by the node's children.

    The local provable, whose subgoals will be filled in by the node's children.

    See also

    provable

  7. abstract def maker: Option[String]

    The tactic (serialized BelleExpr) that produced this node from its parent.

  8. abstract def makerShortName: Option[String]

    The tactic short name.

  9. abstract def numSubgoals: Int

    The number of subgoals in the local provable (fast, doesn't actually load the provable).

  10. abstract def parent: Option[ProofTreeNode]

    The node's parent, None if root.

  11. abstract val proof: ProofTree

    The proof that this proof node is a part of.

  12. abstract def pruneBelow(): Unit

    Deletes this node with the entire subtree underneath.

  13. abstract def runTactic(userId: String, interpreter: (List[IOListener]) ⇒ Interpreter, tactic: BelleExpr, shortName: String, executor: BellerophonTacticExecutor = ..., wait: Boolean = false): String

    Runs a tactic on this node.

  14. abstract def stepTactic(userId: String, interpreter: Interpreter, tactic: BelleExpr, executor: BellerophonTacticExecutor = ..., wait: Boolean = false): String

    Runs a tactic step-by-step, starting on this node.

  15. abstract def tacticInputSuggestions(pos: Position): Map[ArgInfo, Expression]

    Returns suggestions for tactic argument inputs, argument info according to UIIndex and DerivationInfo.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def allAncestors: List[ProofTreeNode]

    All direct and indirect ancestors of this node.

  5. def allDescendants: List[ProofTreeNode]

    All direct and indirect descendants of this node.

  6. def applicableTacticsAt(pos: Position, pos2: Option[Position] = None): List[(DerivationInfo, Option[DerivationInfo])]

    Returns a list of tactics that are applicable at the specified position in this node's goal.

    Returns a list of tactics that are applicable at the specified position in this node's goal. Each entry is the typical form of the tactic and an optional more convenient variant of the tactic.

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. final def conclusion: Sequent

    The tree node's conclusion (might be subject to other nodes being proved).

  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def isProved: Boolean

    Indicates whether or not the proof from this node downwards is done (potentially expensive).

    Indicates whether or not the proof from this node downwards is done (potentially expensive).

    See also

    ProvableSig.isProved

  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def provable: ProvableSig

    Compute the overall provable with the sub-proofs already filled in for the local subgoals (potentially expensive) from children.

    Compute the overall provable with the sub-proofs already filled in for the local subgoals (potentially expensive) from children.

    See also

    localProvable

  21. def substs: List[SubstitutionPair]

    Uniform substitutions applied at this node.

  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped