Packages

sealed abstract class BelleExpr extends AnyRef

Algebraic Data Type whose elements are well-formed Bellephoron tactic expressions. All Bellerophon tactic expressions are of type edu.cmu.cs.ls.keymaerax.bellerophon.BelleExpr, which provides the following tactic combinators

  • s ; t alias s & t sequential composition executes t on the output of s, failing if either fail.
  • s | t alternative composition executes t if applying s fails, failing if both fail.
  • t* saturating repetition executes tactic t repeatedly to a fixpoint, casting result to type annotation, diverging if no fixpoint.
  • t*n bounded repetition executes t tactic n number of times, failing if any of those repetitions fail.
  • t+ saturating repetition executes tactic t to a fixpoint, requires at least one successful application.
  • <(e1,...,en) branching to run tactic ei on branch i, failing if any of them fail or if there are not exactly n branches.
To do

Consolidate the members of BelleExpr and finalize an abstract syntax.

See also

Table 1 of Bellerophon: A Typed Language for Automated Deduction in a Uniform Substitution Calculus. In Mauricio Ayala-Rincón and César A. Muñoz, editors, Interactive Theorem Proving, International Conference, ITP 2017, volume 10499 of LNCS, pp. 207-224. Springer, 2017.

edu.cmu.cs.ls.keymaerax.bellerophon.Interpreter

edu.cmu.cs.ls.keymaerax.bellerophon.SequentialInterpreter

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

Abstract Value Members

  1. abstract def prettyString: String

    pretty-printed form of this Bellerophon tactic expression

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def &(other: BelleExpr): BelleExpr

    this & other: sequential composition this ; other executes other on the output of this, failing if either fail.

  4. def *(n: Int): BelleExpr

    this*n: bounded repetition executes this tactic to times number of times, failing if any of those repetitions fail.

  5. def <(children: BelleExpr*): BelleExpr

    <(e1,...,en): branching to run tactic ei on branch i, failing if any of them fail or if there are not exactly n branches.

    <(e1,...,en): branching to run tactic ei on branch i, failing if any of them fail or if there are not exactly n branches.

    Note

    Equivalent to

    a & Idioms.<(b,c)
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. def U(p: (SequentType, (RenUSubst) ⇒ BelleExpr)*): BelleExpr

    case _ of {fi => ei} uniform substitution case pattern applies the first ei such that fi uniformly substitutes to current provable for which ei does not fail, fails if the ei of all matching fi fail.

  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  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 getLocation: Location

    Get the location where this tactic stems from.

  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  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. def setLocation(newLocation: Location): Unit

    Note

    location is private so that it's not something that effects case class quality, and mutable so that it can be ignored when building up custom tactics.

  21. def switch(children: (BelleLabel, BelleExpr)*): BelleExpr
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    BelleExpr → 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( ... )
  27. def |(other: BelleExpr): BelleExpr

    this | other: alternative composition executes other if applying this fails, failing if both fail.

  28. def |!(other: BelleExpr): BelleExpr

    this |! other: alternative composition executes other if applying this fails (even critically), failing if both fail.

  29. def ||(other: BelleExpr): BelleExpr

Inherited from AnyRef

Inherited from Any

Ungrouped