Packages

case class TermProvable(provable: ProvableSig, pt: ProofTerm, defs: Declaration) extends ProvableSig with Logging with Product with Serializable

TermProvable has the same signature as Provable, but constructs proof terms alongside Provables. The ProofTerms remember how the provable was proved.

Linear Supertypes
Serializable, Serializable, Product, Equals, Logging, LazyLogging, LoggerHolder, ProvableSig, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TermProvable
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Logging
  7. LazyLogging
  8. LoggerHolder
  9. ProvableSig
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TermProvable(provable: ProvableSig, pt: ProofTerm, defs: Declaration)

Type Members

  1. class DebugMeException extends Exception
  2. type Subgoal = Int

    Position types for the subgoals of a Provable.

    Position types for the subgoals of a Provable.

    Definition Classes
    ProvableSig

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 apply(prolongation: ProvableSig): ProvableSig

    Substitute Subderivation Forward: Prolong this Provable with the given prolongation.

    Substitute Subderivation Forward: Prolong this Provable with the given prolongation. This Provable with conclusion G |- D transforms as follows

      G1 |- D1 ... Gn |- Dn                  G1 |- D1 ... Gn |- Dn
    -------------------------       =>     -------------------------
             G |- D                                 G0 |- D0

    provided

             G |- D
    ------------------------- prolongation
            G0 |- D0
    prolongation

    the subderivation used to prolong this Provable. Where subderivation has a subgoal equaling our conclusion.

    returns

    A Provable derivation that proves prolongation's conclusion from our subgoals.

    Definition Classes
    TermProvableProvableSig
  5. def apply(newConsequence: Sequent, rule: Rule): ProvableSig

    Apply Rule Forward: Apply given proof rule forward in Hilbert style to prolong this Provable to a Provable for concludes.

    Apply Rule Forward: Apply given proof rule forward in Hilbert style to prolong this Provable to a Provable for concludes. This Provable with conclusion G |- D transforms as follows

      G1 |- D1 ... Gn |- Dn                  G1 |- D1 ... Gn |- Dn
    -------------------------       =>     -------------------------
             G |- D                              newConsequence

    provided

             G |- D
    ------------------------- rule
          newConsequence
    newConsequence

    the new conclusion that the rule shows to follow from this.conclusion

    rule

    the proof rule to apply to concludes to reduce it to this.conclusion.

    returns

    A Provable derivation that proves concludes from the same subgoals by using the given proof rule. Will return a Provable with the same subgoals but an updated conclusion.

    Definition Classes
    TermProvableProvableSig
  6. def apply(ren: URename): ProvableSig

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    TermProvableProvableSig
  7. def apply(subst: USubst): ProvableSig

    Apply a uniform substitution to a (locally sound!) Provable.

    Apply a uniform substitution to a (locally sound!) Provable. Substitutes both subgoals and conclusion with the same uniform substitution subst.

     G1 |- D1 ... Gn |- Dn              s(G1) |- s(D1) ... s(Gn) |- s(Dn)
    -----------------------     =>     -----------------------------------   (USR)
             G |- D                                s(G) |- s(D)
    subst

    The uniform substitution (of no free variables) to be used on the premises and conclusion of this Provable.

    returns

    The Provable resulting from applying subst to our subgoals and conclusion.

    Definition Classes
    TermProvableProvableSig
  8. def apply(subderivation: ProvableSig, subgoal: Subgoal): ProvableSig

    Substitute subderivation as a proof of subgoal.

    Substitute subderivation as a proof of subgoal. Merge: Replace premise subgoal by the given subderivation. Use the given provable derivation in place of the indicated subgoal of this Provable, returning the resulting concatenated Provable.

    In particular, if subderivation.isProved, then the given subgoal will disappear, otherwise it will be replaced by the subgoals of subderivation (with the first subgoal of subderivation in place of subgoal and all other subgoals at the end).

    This function implements the substitution principle for hypotheses.

     G1 |- D1 ... Gi |- Di ... Gn |- Dn              G1 |- D1 ... Gr1 |- Dr1 ... Gn |- Dn Gr2 |- Dr2 ... Grk | Drk
    ------------------------------------     =>     ---------------------------------------------------------------
                   G |- D                                         G |- D

    using the given subderivation

    Gr1 |- Dr1  Gr2 |- Dr2 ... Grk |- Drk
    ------------------------------------ (subderivation)
                 Gi |- Di
    subderivation

    the Provable derivation that proves premise subgoal.

    subgoal

    the index of our subgoal that the given subderivation concludes.

    returns

    A Provable derivation that joins our derivation and subderivation to a joint derivation of our conclusion using subderivation to show our subgoal. Will return a Provable with the same conclusion but an updated set of premises.

    Definition Classes
    TermProvableProvableSig
  9. def apply(rule: Rule, subgoal: Subgoal): ProvableSig

    Apply Rule: Apply given proof rule to the indicated subgoal of this Provable, returning the resulting Provable

    Apply Rule: Apply given proof rule to the indicated subgoal of this Provable, returning the resulting Provable

     G1 |- D1 ... Gi |- Di ... Gn |- Dn              G1 |- D1 ... Gr1 |- Dr1 ... Gn |- Dn Gr2 |- Dr2 ... Grk | Drk
    ------------------------------------     =>     ---------------------------------------------------------------
                   G |- D                                         G |- D

    using the rule instance

    Gr1 |- Dr1  Gr2 |- Dr2 ... Grk |- Drk
    ------------------------------------ (rule)
                 Gi |- Di
    rule

    the proof rule to apply to the indicated subgoal of this Provable derivation.

    subgoal

    which of our subgoals to apply the given proof rule to.

    returns

    A Provable derivation that proves the premise subgoal by using the given proof rule. Will return a Provable with the same conclusion but an updated set of premises.

    Definition Classes
    TermProvableProvableSig
  10. def apply(fw: (ProvableSig) ⇒ ProvableSig): ProvableSig

    Apply forward tactic on all subgoals.

    Apply forward tactic on all subgoals.

    Definition Classes
    ProvableSig
  11. def apply(fw: (ProvableSig) ⇒ ProvableSig, subgoal: Subgoal): ProvableSig

    Apply forward tactic fw at subgoal.

    Apply forward tactic fw at subgoal.

    Definition Classes
    ProvableSig
  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. val axiom: Map[String, Formula]

    immutable list of sound axioms, i.e., valid formulas of differential dynamic logic.

    immutable list of sound axioms, i.e., valid formulas of differential dynamic logic. (convenience method)

    Definition Classes
    ProvableSig
  14. lazy val axioms: Map[String, ProvableSig]

    immutable list of Provables of sound axioms, i.e., valid formulas of differential dynamic logic.

    immutable list of Provables of sound axioms, i.e., valid formulas of differential dynamic logic.

        *
    ---------- (axiom)
     |- axiom
    Definition Classes
    TermProvableProvableSig
  15. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  16. val conclusion: Sequent

    the conclusion G |- D that follows if all subgoals are valid.

    the conclusion G |- D that follows if all subgoals are valid.

    Definition Classes
    TermProvableProvableSig
  17. val defs: Declaration
    Definition Classes
    TermProvableProvableSig
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. final def isProved: Boolean

    Checks whether this Provable proves its conclusion.

    Checks whether this Provable proves its conclusion.

    returns

    true if conclusion is proved by this Provable, false if subgoals are missing that need to be proved first.

    Definition Classes
    ProvableSig
    See also

    Provable.isProved

  23. lazy val logger: Logger
    Attributes
    protected
    Definition Classes
    LazyLogging → LoggerHolder
  24. final val loggerName: String
    Attributes
    protected
    Definition Classes
    LoggerHolder
  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. def prettyString: String

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    TermProvableProvableSig
  29. val provable: ProvableSig
  30. def proveArithmetic(t: QETool, f: Formula): ProvableSig

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    TermProvableProvableSig
  31. def proveArithmeticLemma(t: QETool, f: Formula): Lemma

    Proves a formula f in real arithmetic using an external tool for quantifier elimination.

    Proves a formula f in real arithmetic using an external tool for quantifier elimination.

    t

    The quantifier-elimination tool.

    f

    The formula.

    returns

    a Lemma with a quantifier-free formula equivalent to f and evidence as provided by the tool.

    Definition Classes
    TermProvableProvableSig
  32. def proved: Sequent

    What conclusion this Provable proves if isProved.

    What conclusion this Provable proves if isProved.

    Definition Classes
    TermProvableProvableSig
  33. val pt: ProofTerm
  34. def reapply(defs: Declaration): ProvableSig

    Returns a copy of this provable with the definitions replaced by defs.

    Returns a copy of this provable with the definitions replaced by defs.

    Definition Classes
    ProvableSig
  35. def reapply(underlying: Provable): ProvableSig

    Returns a copy of this provable with the underlying provable replaced by underlying.

    Returns a copy of this provable with the underlying provable replaced by underlying.

    Definition Classes
    ProvableSig
  36. lazy val rules: Map[String, ProvableSig]

    immutable list of Provables of locally sound axiomatic proof rules.

    immutable list of Provables of locally sound axiomatic proof rules.

     Gi |- Di
    ---------- (axiomatic rule)
      G |- D
    Definition Classes
    TermProvableProvableSig
  37. def startProof(goal: Formula): ProvableSig

    Begin a new proof for the desired conclusion formula from no antecedent.

    Begin a new proof for the desired conclusion formula from no antecedent.

     |- goal
    ---------
     |- goal
    goal

    the desired conclusion formula for the succedent.

    returns

    a Provable whose subgoals need to be all proved in order to prove goal.

    Definition Classes
    TermProvableProvableSig
  38. def startProof(goal: Sequent): ProvableSig

    Begin a new proof for the desired conclusion goal

    Begin a new proof for the desired conclusion goal

     goal
    ------
     goal
    goal

    the desired conclusion.

    returns

    a Provable whose subgoals need to be all proved in order to prove goal.

    Definition Classes
    TermProvableProvableSig
  39. val steps: Int

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    TermProvableProvableSig
  40. def sub(subgoal: Subgoal): ProvableSig

    Sub-Provable: Get a sub-Provable corresponding to a Provable with the given subgoal as conclusion.

    Sub-Provable: Get a sub-Provable corresponding to a Provable with the given subgoal as conclusion. Provables resulting from the returned subgoal can be merged into this Provable to prove said subgoal.

    subgoal

    the index of our subgoal for which to return a new open Provable.

    returns

    an initial unfinished open Provable for the subgoal i:

     Gi |- Di
    ----------
     Gi |- Di

    which is suitable for being merged back into this Provable for subgoal i subsequently.

    Definition Classes
    TermProvableProvableSig
  41. val subgoals: IndexedSeq[Sequent]

    the premises Gi |- Di that, if they are all valid, imply the conclusion.

    the premises Gi |- Di that, if they are all valid, imply the conclusion.

    Definition Classes
    TermProvableProvableSig
  42. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  43. def toString(): String

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    TermProvable → AnyRef → Any
  44. val underlyingProvable: Provable

    The core's Provable that this object really represents.

    The core's Provable that this object really represents.

    Definition Classes
    ProvableSig
  45. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Logging

Inherited from LazyLogging

Inherited from LoggerHolder

Inherited from ProvableSig

Inherited from AnyRef

Inherited from Any

Ungrouped