Packages

trait AtPosition[T <: BelleExpr] extends BelleExpr with (PositionLocator) ⇒ T with Logging

Applied at a position, AtPosition turns into a tactic of type T. Turns a position or position locator into a tactic. That is, an AtPosition[T] tactic is essentially a function of type

Position => T

but one that also supports indirect positioning via position locators that merely identify positions

PositionLocator => T

An AtPosition tactic t supports direct positions and indirect position locators.

  • t(1) applied at the first succedent formula.
  • t(-1) applied at the first antecedent formula.
  • t(-4, 0::1::1::Nil) applied at subexpression positioned at .0.1.1 of the fourth antecedent formula, that is at the second child of the second child of the first child of the fourth antecedent formula in the sequent.
  • t('L) applied at the first applicable position in the antecedent (left side of the sequent).
  • t('R) applied at the first applicable position in the succedent (right side of the sequent).
  • t('_) applied at the first applicable position in the side of the sequent to which tactic t applies. The side of the sequent is uniquely determined by type of tactic.
  • t('Llast) applied at the last antecedent position (left side of the sequent).
  • t('Rlast) applied at the last succedent position (right side of the sequent).

In addition, the formulas expected or sought for at the respective positions identified by the locators can be provided, which is useful for tactic contract and tactic documentation purposes. It is also useful for finding a corresponding formula by pattern matching.

  • t(2, fml) applied at the second succedent formula, ensuring that the formula fml is at that position.
  • t(-2, fml) applied at the second antecedent formula, ensuring that the formula fml is at that position.
  • t(5, 0::1::1::Nil, ex) applied at subexpression positioned at .0.1.1 of the fifth succedent formula, that is at the second child of the second child of the first child of the fifth succcedent formula in the sequent, ensuring that the expression ex is at that position.
  • t('L, fml) applied at the antecedent position (left side of the sequent) where the expected formula fml can be found (on the top level).
  • t('R, fml) applied at the succedent position (right side of the sequent) where the expected formula fml can be found (on the top level).
  • t('_, fml) applied at the suitable position (uniquely determined by type of tactic) where the expected formula fml can be found (on the top level).
Linear Supertypes
Logging, LazyLogging, LoggerHolder, (PositionLocator) ⇒ T, BelleExpr, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AtPosition
  2. Logging
  3. LazyLogging
  4. LoggerHolder
  5. Function1
  6. BelleExpr
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def apply(locator: PositionLocator): T

    Returns the tactic that can be applied at the position identified by locator.

    Returns the tactic that can be applied at the position identified by locator.

    locator

    The locator: Fixed, Find, LastAnte, or LastSucc

    returns

    The tactic of type T that can be readily applied at the position identified by locator to any given BelleExpr.

    Definition Classes
    AtPosition → Function1
    See also

    PositionLocator

  2. abstract def prettyString: String

    pretty-printed form of this Bellerophon tactic expression

    pretty-printed form of this Bellerophon tactic expression

    Definition Classes
    BelleExpr

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.

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

    Definition Classes
    BelleExpr
  4. def *(n: Int): BelleExpr

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

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

    Definition Classes
    BelleExpr
  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.

    Definition Classes
    BelleExpr
    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.

    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.

    Definition Classes
    BelleExpr
  8. def andThen[A](g: (T) ⇒ A): (PositionLocator) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. final def apply(locator: Symbol, expected: Expression): T
  10. final def apply(locator: Symbol, expected: Expression, defs: Declaration): T

    Returns the tactic at the position identified by locator, ensuring that locator will yield the formula expected verbatim.

    Returns the tactic at the position identified by locator, ensuring that locator will yield the formula expected verbatim.

    locator

    The locator symbol at which to apply this AtPosition: 'L (find left), 'R (find right), '_ (find left/right appropriately for tactic), 'Llast (at last position in antecedent), or 'Rlast (at last position in succedent).

    expected

    the formula expected at the position that locator identifies. Contract fails if that expectation is not met.

    Note

    Convenience wrapper

    See also

    edu.cmu.cs.ls.keymaerax.bellerophon.AtPosition

    apply()

  11. final def apply(locator: Symbol): T
  12. final def apply(locator: Symbol, inExpr: PosInExpr): T

    Returns the tactic at the position identified by locator.

    Returns the tactic at the position identified by locator.

    locator

    The locator symbol at which to apply this AtPosition: 'L (find left), 'R (find right), '_ (find left/right appropriately for tactic), 'Llast (at last position in antecedent), or 'Rlast (at last position in succedent).

    Note

    Convenience wrapper

    See also

    edu.cmu.cs.ls.keymaerax.bellerophon.AtPosition

    PositionLocator)

  13. final def apply(seqIdx: Int, inExpr: PosInExpr): T
  14. final def apply(seqIdx: Int, inExpr: List[Int] = Nil): T

    Applied at a fixed position in (signed) sequent position seqIdx at subexpression inExpr.

    Applied at a fixed position in (signed) sequent position seqIdx at subexpression inExpr.

    seqIdx

    The signed index in the sequent (strictly negative index for antecedent, strictly positive for succedent).

    inExpr

    Where to apply inside the formula at index seqIdx interpreted as a PosInExpr.

    returns

    The tactic of type T that can be readily applied at the specified position to any given BelleExpr.

    Note

    Convenience wrapper

    See also

    PosInExpr

    Position)

    Fixed

  15. final def apply(seqIdx: Int, inExpr: PosInExpr, expected: Formula): T
  16. final def apply(seqIdx: Int, inExpr: List[Int], expected: Formula): T

    Applied at a fixed position, ensuring that the formula expected will be found at that position, verbatim.

    Applied at a fixed position, ensuring that the formula expected will be found at that position, verbatim.

    seqIdx

    The position where this tactic will be applied at (-1 based for antecedent, 1 based for succedent).

    expected

    the formula expected at position. Contract fails if that expectation is not met.

    returns

    The tactic of type T that can be readily applied at the specified position to any given BelleExpr.

    Note

    Convenience wrapper

    See also

    PositionLocator)

    Fixed

  17. final def apply(seqIdx: Int, expected: Formula): T

    Applied at a fixed position, ensuring that the formula expected will be found at that position, verbatim.

    Applied at a fixed position, ensuring that the formula expected will be found at that position, verbatim.

    seqIdx

    The position where this tactic will be applied at (-1 based for antecedent, 1 based for succedent).

    expected

    the formula expected at position. Contract fails if that expectation is not met.

    returns

    The tactic of type T that can be readily applied at the specified position to any given BelleExpr.

    Note

    Convenience wrapper

    See also

    PositionLocator)

    Fixed

  18. final def apply(position: Position, expected: Formula): T

    Applied at a fixed position, ensuring that the formula expected will be found at that position, verbatim.

    Applied at a fixed position, ensuring that the formula expected will be found at that position, verbatim.

    position

    The position where this tactic will be applied at.

    expected

    the formula expected at position. Contract fails if that expectation is not met.

    returns

    The tactic of type T that can be readily applied at the specified position to any given BelleExpr.

    Note

    Convenience wrapper

    See also

    PositionLocator)

    Fixed

  19. final def apply(position: Position): T

    Applied at a fixed position.

    Applied at a fixed position.

    position

    The position where this tactic will be applied at.

    returns

    The tactic of type T that can be readily applied at the specified position to any given BelleExpr.

    Note

    Convenience wrapper

    See also

    PositionLocator)

    Fixed

  20. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  21. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  22. def compose[A](g: (A) ⇒ PositionLocator): (A) ⇒ T
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  23. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  25. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. def getLocation: Location

    Get the location where this tactic stems from.

    Get the location where this tactic stems from.

    Definition Classes
    BelleExpr
  28. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. lazy val logger: Logger
    Attributes
    protected
    Definition Classes
    LazyLogging → LoggerHolder
  31. final val loggerName: String
    Attributes
    protected
    Definition Classes
    LoggerHolder
  32. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  33. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  35. def setLocation(newLocation: Location): Unit

    Definition Classes
    BelleExpr
    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.

  36. def switch(children: (BelleLabel, BelleExpr)*): BelleExpr
    Definition Classes
    BelleExpr
  37. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  38. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  39. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  42. def |(other: BelleExpr): BelleExpr

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

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

    Definition Classes
    BelleExpr
  43. def |!(other: BelleExpr): BelleExpr

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

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

    Definition Classes
    BelleExpr
  44. def ||(other: BelleExpr): BelleExpr
    Definition Classes
    BelleExpr

Inherited from Logging

Inherited from LazyLogging

Inherited from LoggerHolder

Inherited from (PositionLocator) ⇒ T

Inherited from BelleExpr

Inherited from AnyRef

Inherited from Any

Ungrouped