Packages

o

edu.cmu.cs.ls.keymaerax.btactics

PolynomialArithV2

object PolynomialArithV2 extends TwoThreeTreePolynomialRing

Polynomial Arithmetic.

Computations are carried out fairly efficiently in a distributive representation. Computations are certifying:

  • the internal data structures maintain a proof that the constructed term equals the distributive representation

The main interface is that of a PolynomialRing

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

Type Members

  1. final case class NonPolynomialArithmeticException(message: String) extends IllegalArgumentException with NonSupportedOperationException with Product with Serializable
  2. final case class NonSupportedDivisorException(message: String) extends IllegalArgumentException with NonSupportedOperationException with Product with Serializable
  3. final case class NonSupportedExponentException(message: String) extends IllegalArgumentException with NonSupportedOperationException with Product with Serializable
  4. trait NonSupportedOperationException extends IllegalArgumentException

    report operations not supported by polynomial arithmetic in computations

  5. final case class NonSupportedOperationInapplicability(cause: NonSupportedOperationException) extends TacticInapplicableFailure with Product with Serializable

    report operations not supported by polynomial arithmetic in tactics

  6. trait Polynomial extends AnyRef

    Interface to Polynomials: - a term that keeps track of how the polynomial was constructed - a proof for the internal representation of the polynomial - arithmetic - test for zero

    Interface to Polynomials: - a term that keeps track of how the polynomial was constructed - a proof for the internal representation of the polynomial - arithmetic - test for zero

    Definition Classes
    PolynomialRing
  7. trait PowerProduct extends AnyRef
    Definition Classes
    PolynomialRing
  8. case class Branch2(left: TreePolynomial, value: Monomial, right: TreePolynomial, prvO: Option[ProvableSig]) extends TreePolynomial with Product with Serializable
    Definition Classes
    TwoThreeTreePolynomialRing
  9. case class Branch3(left: TreePolynomial, value1: Monomial, mid: TreePolynomial, value2: Monomial, right: TreePolynomial, prvO: Option[ProvableSig]) extends TreePolynomial with Product with Serializable
    Definition Classes
    TwoThreeTreePolynomialRing
  10. case class Coefficient(num: BigDecimal, denom: BigDecimal, prvO: Option[ProvableSig] = None) extends Product with Serializable

    prv: lhs = rhs lhs: input term (arbitrary, trace of construction) rhs: Divide(Number(num), Number(denom))

    prv: lhs = rhs lhs: input term (arbitrary, trace of construction) rhs: Divide(Number(num), Number(denom))

    Definition Classes
    TwoThreeTreePolynomialRing
  11. case class Empty(prvO: Option[ProvableSig]) extends TreePolynomial with Product with Serializable
    Definition Classes
    TwoThreeTreePolynomialRing
  12. sealed trait Growth extends AnyRef

    2-3 Tree for monomials, keeping track of proofs.

    2-3 Tree for monomials, keeping track of proofs.

    Definition Classes
    TwoThreeTreePolynomialRing
  13. case class Monomial(coeff: Coefficient, powerProduct: SparsePowerProduct, prvO: Option[ProvableSig] = None) extends Product with Serializable

    prv: lhs = rhs lhs: input term (arbitrary, trace of construction) rhs: representation of coeff*powers.map(^)

    prv: lhs = rhs lhs: input term (arbitrary, trace of construction) rhs: representation of coeff*powers.map(^)

    Definition Classes
    TwoThreeTreePolynomialRing
  14. case class SparsePowerProduct(sparse: Seq[(Term, Int)]) extends PowerProduct with Product with Serializable
    Definition Classes
    TwoThreeTreePolynomialRing
  15. case class Sprout(sprout: Branch2) extends Growth with Product with Serializable
    Definition Classes
    TwoThreeTreePolynomialRing
  16. case class Stay(p: TreePolynomial) extends Growth with Product with Serializable
    Definition Classes
    TwoThreeTreePolynomialRing
  17. sealed trait TreePolynomial extends Polynomial
    Definition Classes
    TwoThreeTreePolynomialRing
  18. final case class UnknownPolynomialImplementationException(other: TwoThreeTreePolynomialRing.Polynomial) extends RuntimeException with Product with Serializable
    Definition Classes
    TwoThreeTreePolynomialRing

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 Const(num: BigDecimal): TreePolynomial
  5. def Const(num: BigDecimal, denom: BigDecimal): TreePolynomial
  6. lazy val One: TreePolynomial
    Definition Classes
    TwoThreeTreePolynomialRing
  7. def PolynomialRing(variableOrdering: Ordering[Term], monomialOrdering: Ordering[IndexedSeq[(Term, Int)]]): PolynomialRing

    constructor for given variable and monomial orderings

  8. def Var(term: Term, power: Int): TreePolynomial
  9. def Var(term: Term): TreePolynomial
  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. lazy val branch2GrowLeft: ProvableSig

    Definition Classes
    TwoThreeTreePolynomialRing
    Note

    for the Left case, could actually just use branch2Left

  12. lazy val branch2GrowRight: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  13. lazy val branch2Left: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  14. lazy val branch2Right: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  15. lazy val branch2Value: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  16. lazy val branch3GrowLeft: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  17. lazy val branch3GrowMid: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  18. lazy val branch3GrowRight: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  19. lazy val branch3Left: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  20. lazy val branch3Mid: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  21. lazy val branch3Right: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  22. lazy val branch3Value1: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  23. lazy val branch3Value2: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  24. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  25. lazy val coefficientBigDecimalPrv: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  26. lazy val coefficientNegPrv: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  27. lazy val coefficientPlusPrv: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  28. lazy val coefficientTimesPrv: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  29. val constC: FuncOf
    Definition Classes
    TwoThreeTreePolynomialRing
  30. val constCl: FuncOf
    Definition Classes
    TwoThreeTreePolynomialRing
  31. val constCr: FuncOf
    Definition Classes
    TwoThreeTreePolynomialRing
  32. val constF: UnitFunctional
    Definition Classes
    TwoThreeTreePolynomialRing
  33. val constL: FuncOf
    Definition Classes
    TwoThreeTreePolynomialRing
  34. val constLd: FuncOf
    Definition Classes
    TwoThreeTreePolynomialRing
  35. lazy val constLemma: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  36. val constLn: FuncOf
    Definition Classes
    TwoThreeTreePolynomialRing
  37. val constR_: FuncOf
    Definition Classes
    TwoThreeTreePolynomialRing
  38. val constRd: FuncOf
    Definition Classes
    TwoThreeTreePolynomialRing
  39. val constRn: FuncOf
    Definition Classes
    TwoThreeTreePolynomialRing
  40. val constX: UnitFunctional
    Definition Classes
    TwoThreeTreePolynomialRing
  41. lazy val divideIdentity: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  42. lazy val divideNeg: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  43. lazy val divideNumber: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  44. lazy val divideRat: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  45. lazy val emptySprout: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  46. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  47. lazy val equalReflexive: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  48. lazy val equalityBySubtraction: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  49. def equate(t1: Term, t2: Term): Option[ProvableSig]
  50. val equate: DependentPositionTactic
  51. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  52. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  53. lazy val identityTimes: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  54. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  55. lazy val minusBranch2: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  56. lazy val minusBranch3: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  57. lazy val minusEmpty: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  58. lazy val monTimesBranch2: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  59. lazy val monTimesBranch3: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  60. lazy val monTimesZero: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  61. val monomialOrdering: Ordering[IndexedSeq[(Term, Int)]]
    Definition Classes
    TwoThreeTreePolynomialRing
  62. lazy val monomialTimesLemma: ProvableSig

    l = cl * xls r = cr * xrs c = cl*cr xs = xls ** xrs -> l*r=c*xs

    l = cl * xls r = cr * xrs c = cl*cr xs = xls ** xrs -> l*r=c*xs

    Definition Classes
    TwoThreeTreePolynomialRing
  63. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  64. lazy val negTimes: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  65. lazy val negateBranch2: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  66. lazy val negateBranch3: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  67. lazy val negateEmpty: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  68. def normalize(term: Term): ProvableSig
  69. val normalizeAt: DependentPositionTactic
  70. lazy val normalizeBranch2: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  71. lazy val normalizeBranch3: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  72. lazy val normalizeCoeff0: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  73. lazy val normalizeCoeff1: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  74. lazy val normalizeMonom0: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  75. lazy val normalizeMonomCS: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  76. lazy val normalizeMonomNCS: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  77. lazy val normalizePowers1R: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  78. lazy val normalizePowers1V: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  79. lazy val normalizePowersC1: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  80. lazy val normalizePowersCP: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  81. lazy val normalizePowersCV: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  82. lazy val normalizePowersRP: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  83. lazy val normalizePowersRV: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  84. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  85. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  86. implicit def ofInt(i: Int): Polynomial
    Definition Classes
    PolynomialRing
  87. def ofSparse(powers: (Term, Int)*): SparsePowerProduct
  88. def ofSparse(seq: Seq[(Term, Int)]): SparsePowerProduct
  89. def ofTerm(t: Term): Polynomial
    Definition Classes
    PolynomialRing
  90. lazy val partition2: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  91. lazy val plusBranch2: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  92. lazy val plusBranch3: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  93. lazy val plusEmpty: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  94. lazy val plusMinus: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  95. lazy val plusTimes: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  96. def powerDivideLemma(i: Int): ProvableSig

    lookup or prove lemma of the form "(x_(||) / y_(||))i = x_(||)i / y_(||)^i "

    lookup or prove lemma of the form "(x_(||) / y_(||))i = x_(||)i / y_(||)^i "

    Definition Classes
    TwoThreeTreePolynomialRing
  97. lazy val powerEven: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  98. lazy val powerLemma: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  99. lazy val powerOdd: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  100. lazy val powerOne: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  101. lazy val powerPoly: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  102. lazy val powerZero: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  103. def ratForm(term: Term): (Polynomial, Polynomial, ProvableSig)
  104. lazy val rationalLemma: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  105. def reassoc(prv: ProvableSig): ProvableSig

    drop parentheses of a sum of terms on the rhs of prv to the left, e.g., t = a + (b + c) ~~> t = a + b + c

    drop parentheses of a sum of terms on the rhs of prv to the left, e.g., t = a + (b + c) ~~> t = a + b + c

    Definition Classes
    TwoThreeTreePolynomialRing
  106. lazy val reassocLeft0RightConst: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  107. lazy val reassocRight0: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  108. lazy val reassocRightConst: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  109. lazy val reassocRightPlus: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  110. def reportBelleThrowables[R](block: ⇒ R): R
  111. lazy val splitBranch2: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  112. lazy val splitBranch3: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  113. lazy val splitCoefficient: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  114. def splitCoefficientNumericCondition(n: Term, d: Term, n1: Term, d1: Term, n2: Term, d2: Term): And
    Definition Classes
    TwoThreeTreePolynomialRing
  115. lazy val splitEmpty: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  116. lazy val splitMonomial: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  117. def symbols(t: Term): Seq[Term]
    Definition Classes
    PolynomialRing
  118. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  119. lazy val timesBranch2: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  120. lazy val timesBranch3: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  121. lazy val timesEmpty: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  122. lazy val timesIdentity: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  123. lazy val timesPowers1Left: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  124. lazy val timesPowers1Right: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  125. lazy val timesPowersBoth: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  126. lazy val timesPowersLeft: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  127. lazy val timesPowersRight: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  128. lazy val varLemma: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  129. lazy val varPowerLemma: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing
  130. val variableOrdering: Ordering[Term]
    Definition Classes
    TwoThreeTreePolynomialRing
  131. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  132. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  133. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  134. lazy val zez: ProvableSig
    Definition Classes
    TwoThreeTreePolynomialRing

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from PolynomialRing

Inherited from AnyRef

Inherited from Any

Ungrouped