Packages

o

edu.cmu.cs.ls.keymaerax.btactics

IntervalArithmeticV2

object IntervalArithmeticV2

Interval Arithmetic

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

Type Members

  1. type BoundMap = HashMap[Term, ProvableSig]
  2. type DecimalBounds = (HashMap[Term, BigDecimal], HashMap[Term, BigDecimal])
  3. class StaticSingleAssignmentExpression[E <: Expression] extends AnyRef

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 BoundMap(): BoundMap
  5. def DecimalBounds(): DecimalBounds
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. def collect_bounds(prec: Int, assms: Seq[Formula]): DecimalBounds
  9. def collect_bounds(prec: Int, bounds: DecimalBounds, assms: Seq[Formula]): DecimalBounds

    Populate environment with bounds (only LessEqual are being considered)

    Populate environment with bounds (only LessEqual are being considered)

    prec

    decimal precision

    bounds

    the environment to populate

    assms

    sequence of Formulas containing bounds

    returns

    updated environment

  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def eval_ivl(prec: Int)(bounds: DecimalBounds)(t: Term): (BigDecimal, BigDecimal)

    Compute interval bounds by recursing over the input term structure.

    Compute interval bounds by recursing over the input term structure. An environment of bounds for variables and function symbols can be provided, too.

    prec

    decimal precision for numeric bounds

    bounds

    environment of lower and upper bounds

    t

    input term

    returns

    a tuple for lower and upper bounds on the term t

  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. lazy val intervalArithmetic: BelleExpr
    Annotations
    @Tactic( x$1 , x$3 , x$4 , x$5 , x$6 , x$7 , x$8 , x$2 , x$9 , x$10 , x$11 , x$12 )
  17. val intervalCut: DependentPositionTactic
  18. def intervalCutTerm(t: Term): InputTactic
    Annotations
    @Tactic( x$13 , x$14 , x$18 , x$15 , x$16 , x$19 , x$20 , x$17 , x$21 , x$22 , x$23 , x$24 )
  19. def intervalCutTerms(terms: Seq[Term]): BuiltInTactic
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. def isNumeric(t: Term): Boolean
  22. def mathematicaFriendly(d: BigDecimal): Term
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. def proveBinop(qeTool: ⇒ QETacticTool)(prec: Int)(context: IndexedSeq[Formula])(op: (Term, Term) ⇒ Term)(l1: Term, u1: Term)(l2: Term, u2: Term): (ProvableSig, Term, Term)

    prove formula of the following shape context |- \forall i1 i2 ((l1 <= i1 & i1 <= u1 & l2 <= i2 & i2 <= u2) -> (l <= op(i1, i2) & op(i1, i2) <= u))

  27. def proveBool(prec: Int)(qeTool: QETacticTool)(assms: IndexedSeq[Formula])(include_assms: Boolean)(lowers0: BoundMap, uppers0: BoundMap, ssa: StaticSingleAssignmentExpression[Formula])(fml: Formula): (BoundMap, BoundMap, Option[ProvableSig])
  28. def proveBounds(prec: Int)(qeTool: QETacticTool)(assms: IndexedSeq[Formula])(include_assms: Boolean)(lowers0: BoundMap, uppers0: BoundMap, ssaMap: Map[Variable, Term])(terms: Seq[Term]): (BoundMap, BoundMap)

    Proves Bounds on all Subexpressions using Interval Arithmetic.

    Proves Bounds on all Subexpressions using Interval Arithmetic.

    prec

    decimal precision

    qeTool

    Tool for QE, it will only be called on formulas without variables and without quantifiers

    assms

    list of constraints on variables, equalities can be used to abbreviate terms

    include_assms

    if assms need to be added to lowers/uppers (False if re-using precomputed bounds)

    lowers0

    precomputed bounds (can be used for cacheing results)

    uppers0

    dito

    terms

    terms whose subexpressions shall be bounded

    returns

    bounds on all subexpressions

  29. def proveComparison(prec: Int)(qeTool: QETacticTool)(assms: IndexedSeq[Formula])(include_assms: Boolean)(lowers0: BoundMap, uppers0: BoundMap, ssaMap: Map[Variable, Term])(fml: ComparisonFormula): (BoundMap, BoundMap, Option[ProvableSig])
  30. def proveUnop(qeTool: ⇒ QETacticTool)(prec: Int)(context: IndexedSeq[Formula])(op: (Term) ⇒ Term)(l1: Term, u1: Term): (ProvableSig, Term, Term)

    prove formula of the following shape context |- \forall i1 ((l1 <= i1 & i1 <= u1) -> (l <= op(i1) & op(i1) <= u))

  31. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  32. def toString(): String
    Definition Classes
    AnyRef → Any
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  36. object Slow

    Tactics appear to be a bit slow

Inherited from AnyRef

Inherited from Any

Ungrouped