abstract class ReduceWithInEqs extends AnyRef
Reduce certain terms or formulas drawing information from inequalities that are assumed as facts.
- Alphabetic
- By Inheritance
- ReduceWithInEqs
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ReduceWithInEqs()
Abstract Value Members
- abstract def addInEqs(furtherInEqs: InEqConj): ReduceWithInEqs
- abstract def apply(conj: InEqConj): InEqConj
Reduce a conjunction of inequalities.
Reduce a conjunction of inequalities. This means that subsumed inequalities are removed, contradictions are detected, and possibly further equations are inferred.
- abstract def apply(conj: NegEquationConj, logger: ComputationLogger): (NegEquationConj, InEqConj)
Reduce a conjunction of negated equations by removing all equations from which we know that they hold anyway.
Reduce a conjunction of negated equations by removing all equations from which we know that they hold anyway. This will also turn disequalities into inequalities if possible.
- abstract def apply(conj: EquationConj): EquationConj
- abstract def lowerBound(t: Term): Option[IdealInt]
Check whether the known inequalities imply a lower bound of the given term.
- abstract def lowerBoundWithAssumptions(t: Term): Option[(IdealInt, Seq[LinearCombination])]
Check whether the known inequalities imply a lower bound of the given term.
Check whether the known inequalities imply a lower bound of the given term. Also return assumed inequalities needed to derive the bound.
- abstract def passQuantifiers(num: Int): ReduceWithInEqs
Create a
ReduceWithEqs
that can be used underneathnum
binders.Create a
ReduceWithEqs
that can be used underneathnum
binders. The conversion of de Brujin-variables is done on the fly, which should give a good performance when the resultingReduceWithEqs
is not applied too often (TODO: caching) - abstract def reduceNoEqualityInfs(conj: InEqConj): InEqConj
Reduce a conjunction of inequalities without implied equations.
Reduce a conjunction of inequalities without implied equations. (i.e.,
conj.equalityInfs.isEmpty
) - abstract def upperBound(t: Term): Option[IdealInt]
Check whether the known inequalities imply an upper bound of the given term.
- abstract def upperBoundWithAssumptions(t: Term): Option[(IdealInt, Seq[LinearCombination])]
Check whether the known inequalities imply an upper bound of the given term.
Check whether the known inequalities imply an upper bound of the given term. Also return assumed inequalities needed to derive the bound.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(conj: NegEquationConj): (NegEquationConj, InEqConj)
Reduce a conjunction of negated equations by removing all equations from which we know that they hold anyway.
Reduce a conjunction of negated equations by removing all equations from which we know that they hold anyway. This will also turn disequalities into inequalities if possible.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)