Packages

o

edu.cmu.cs.ls.keymaerax.tools.qe

BigDecimalQETool

object BigDecimalQETool extends Tool with QETool

Proves quantifier- and variable-free arithmetic formulas by exact arithmetic evaluation using java.math.BigDecimal. Ground term evaluation for formulas with concrete number arithmetic.

Note

Java's BigDecimal is clearer and has less indirection than Scala's BigDecimal.

Linear Supertypes
QETool, Tool, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BigDecimalQETool
  2. QETool
  3. Tool
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def cancel(): Boolean

    Cancels the current tool operation and returns true on success, false otherwise.

    Cancels the current tool operation and returns true on success, false otherwise.

    Definition Classes
    BigDecimalQEToolTool
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def eval(fml: Formula): Boolean

    Evaluate a Formula by evaluating its terms in exact java.math.BigDecimal arithmetic.

    Evaluate a Formula by evaluating its terms in exact java.math.BigDecimal arithmetic.

    returns

    the truth value of the input formula or

    Exceptions thrown

    [[IllegalArgumentException]] if terms cannot be evaluated in exact arithmetic or if Formula is not a Boolean combination of numeric comparisons.

  10. def eval(t: Term): BigDecimal

    Evaluate a Term in exact java.math.BigDecimal arithmetic.

    Evaluate a Term in exact java.math.BigDecimal arithmetic.

    returns

    the java.math.BigDecimal equal to the input term

    Exceptions thrown

    IllegalArgumentException if exact evaluation is not possible, e.g., for Variables or non-exact division

    Note

    We use java.math.BigDecimal instead of scala.math.BigDecimal in order to avoid one layer of indirection and therefore reduce the trusted code base. Moreover java.math.BigDecimal is more explicit about rounding modes and precision.

    See also

    the documentation of java.math.BigDecimal, in particular the paragraph mentioning java.math.MathContext.UNLIMITED:

    • Arithmetic methods which take a java.math.MathContext.UNLIMITED or no java.math.MathContext object are exact.
    • If the result of division cannot be represented exactly, an ArithmeticException is thrown.
  11. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def init(config: Map[String, String]): Unit

    Initializes the tool with tool-specific configuration parameters.

    Initializes the tool with tool-specific configuration parameters.

    Definition Classes
    BigDecimalQEToolTool
  15. def isInitialized: Boolean

    Checks whether this tool has been initialized already.

    Checks whether this tool has been initialized already.

    Definition Classes
    BigDecimalQEToolTool
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. val name: String

    Returns the name of the tool.

    Returns the name of the tool.

    Definition Classes
    BigDecimalQEToolTool
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def quantifierElimination(formula: Formula): Formula

    Returns a quantifier-free formula that is equivalent to the specified formula.

    Returns a quantifier-free formula that is equivalent to the specified formula.

    formula

    The formula whose quantifier-free equivalent is sought.

    returns

    An equivalent quantifier-free formula.

    Definition Classes
    BigDecimalQEToolQETool
  22. final def restart(): Unit

    Check whether the managed tool is still alive and restart it if need be.

    Check whether the managed tool is still alive and restart it if need be.

    Definition Classes
    BigDecimalQEToolTool
  23. final def shutdown(): Unit

    Shutdown the tool

    Shutdown the tool

    Definition Classes
    BigDecimalQEToolTool
  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from QETool

Inherited from Tool

Inherited from AnyRef

Inherited from Any

Ungrouped