Packages

case class ElidingProvable(provable: Provable, steps: Int, defs: Declaration) extends ProvableSig with Product with Serializable

A direct Provable straight from the core that does not keep track of its proof term, but only tracks number of proof steps. Directly forwards all function calls to provable.

Linear Supertypes
Serializable, Serializable, Product, Equals, ProvableSig, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ElidingProvable
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ProvableSig
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ElidingProvable(provable: Provable, steps: Int, defs: Declaration)

Type Members

  1. 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
    ElidingProvableProvableSig
  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
    ElidingProvableProvableSig
  6. def apply(ren: URename): ProvableSig
    Definition Classes
    ElidingProvableProvableSig
  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
    ElidingProvableProvableSig
    See also

    Andre Platzer. A complete uniform substitution calculus for differential dynamic logic. Journal of Automated Reasoning, 59(2), pp. 219-266, 2017. Theorem 26+27."

  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
    ElidingProvableProvableSig
  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
    ElidingProvableProvableSig
  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. 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
    ElidingProvableProvableSig
    See also

    "Andre Platzer. A uniform substitution calculus for differential dynamic logic. In Amy P. Felty and Aart Middeldorp, editors, International Conference on Automated Deduction, CADE'15, Berlin, Germany, Proceedings, LNCS. Springer, 2015. arXiv 1503.01981, 2015."

  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
    ElidingProvableProvableSig
  17. val defs: Declaration
    Definition Classes
    ElidingProvableProvableSig
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(obj: Any): Boolean

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    ElidingProvable → Equals → AnyRef → Any
  20. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  22. def hashCode(): Subgoal

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    ElidingProvable → AnyRef → Any
  23. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  24. 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

  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
    ElidingProvableProvableSig
  29. val provable: Provable
  30. def proveArithmetic(t: QETool, f: Formula): ProvableSig
    Definition Classes
    ElidingProvableProvableSig
  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
    ElidingProvableProvableSig
  32. def proved: Sequent

    What conclusion this Provable proves if isProved.

    What conclusion this Provable proves if isProved.

    Definition Classes
    ElidingProvableProvableSig
  33. 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
  34. 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
  35. 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
    ElidingProvableProvableSig
    See also

    "Andre Platzer. A uniform substitution calculus for differential dynamic logic. In Amy P. Felty and Aart Middeldorp, editors, International Conference on Automated Deduction, CADE'15, Berlin, Germany, Proceedings, LNCS. Springer, 2015. arXiv 1503.01981, 2015."

    Provable.apply(USubst)

  36. 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
    ElidingProvableProvableSig
  37. 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
    ElidingProvableProvableSig
  38. val steps: Int
    Definition Classes
    ElidingProvableProvableSig
  39. 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
    ElidingProvableProvableSig
  40. 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
    ElidingProvableProvableSig
  41. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  42. val underlyingProvable: Provable

    The core's Provable that this object really represents.

    The core's Provable that this object really represents.

    Definition Classes
    ProvableSig
  43. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. 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 ProvableSig

Inherited from AnyRef

Inherited from Any

Ungrouped