class Conjunction extends Formula with SortedWithOrder[Conjunction]
Class for representing (possibly quantified) conjunctions of arithmetic
literal (equations, inequalities), predicate literals and negated
Conjunction
s. quans
describes how the lowest
quans.size
variables are quantified in the conjunction
(quans(0)
) is responsible for VariableTerm(0)
and
is the innermost quantifier, etc).
- Alphabetic
- By Inheritance
- Conjunction
- SortedWithOrder
- Sorted
- Formula
- TerFor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def &(that: Conjunction)(implicit newOrder: TermOrder): Conjunction
- def --(that: Conjunction): Conjunction
- def <=>(that: Conjunction)(implicit newOrder: TermOrder): Conjunction
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def ==>(that: Conjunction)(implicit newOrder: TermOrder): Conjunction
- val arithConj: ArithConj
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- lazy val boundVariables: Set[VariableTerm]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- lazy val constants: Set[ConstantTerm]
- Definition Classes
- Conjunction → SortedWithOrder → TerFor
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(that: Any): Boolean
- Definition Classes
- Conjunction → AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- lazy val groundAtoms: Set[Atom]
- Definition Classes
- Conjunction → Formula
- def hashCode(): Int
- Definition Classes
- Conjunction → AnyRef → Any
- def implies(that: Conjunction): Boolean
- def instantiate(terms: Seq[Term])(implicit newOrder: TermOrder): Conjunction
Instantiate the outermost quantifiers with the given terms, starting with the innermost quantifier to be instantiated
- def isArithLiteral: Boolean
Return whether this conjunction actually only is a single arithmetic literal (a single, unquantified (in)equation, inequality)
- def isDivisibility: Boolean
Return whether
this
is a divisibility judgementEX (n*_0 + t = 0)
- def isDivisionFormula: Option[(LinearCombination, LinearCombination, Conjunction)]
"Division quantifiers" of the form
EX ( n*_0 + t >= 0 & -n*_0 - t - m >= 0 & phi )
where0 <= m < n
."Division quantifiers" of the form
EX ( n*_0 + t >= 0 & -n*_0 - t - m >= 0 & phi )
where0 <= m < n
.The result of this test is a triple
(n*_0 + t, -n*_0 - t - m, phi)
, orNone
if the formula is not of the guarded quantifier shape - def isDivisionFormulaHelp: Option[(LinearCombination, LinearCombination, InEqConj)]
- def isExactDivisionFormula: Option[(LinearCombination, Conjunction)]
"Exact division quantifiers" of the form
EX ( n*_0 + t = 0 & phi)
where0 < n
."Exact division quantifiers" of the form
EX ( n*_0 + t = 0 & phi)
where0 < n
.The result of this test is a pair
(n*_0 + t, phi)
, orNone
if the formula is not of the guarded quantifier shape - def isExactDivisionFormulaHelp: Option[(LinearCombination, EquationConj)]
- def isFalse: Boolean
The only allow case of false is when
arithConj
is false and everything else is empty.The only allow case of false is when
arithConj
is false and everything else is empty.- Definition Classes
- Conjunction → Formula
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isLiteral: Boolean
Return whether this conjunction actually only is a single literal (a single, unquantified (in)equation, inequality or predicate literal)
- def isNegatedConjunction: Boolean
Return whether this conjunction actually is the negation of a single conjunction
- def isNonDivisibility: Boolean
Return whether
this
is a negated divisibility judgementALL (n*_0 + t != 0)
- def isProperDivisibility: Boolean
Assuming that this formula is a divisibility or non-divisibility statement, check whether the divisibility is proper (i.e., not of the form
ALL (1*_0 + t != 0)
) - def isPurelyNegated: Boolean
Return whether this conjunction only contains negated sub-conjunctions
- def isQuantifiedDivisibility: Boolean
Return whether
this
is a divisibility judgementEX (n*_0 + t = 0)
, possibly underneath quantifiers - def isQuantifiedDivisionFormula: Option[(LinearCombination, LinearCombination, Conjunction)]
- def isQuantifiedExactDivisionFormula: Option[(LinearCombination, Conjunction)]
- def isQuantifiedNegatedConjunction: Boolean
Return whether this conjunction actually is the negation of a single conjunction
- def isQuantifiedNonDivisibility: Boolean
Return whether
this
is a negated divisibility judgementALL (n*_0 + t != 0)
, possibly underneath quantifiers - def isSortedBy(otherOrder: TermOrder): Boolean
- Definition Classes
- SortedWithOrder → Sorted
- def isTrue: Boolean
Return
true
if this formula is obviously always trueReturn
true
if this formula is obviously always true- Definition Classes
- Conjunction → Formula
- def iterator: Iterator[Conjunction]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def negate: Conjunction
- val negatedConjs: NegatedConjunctions
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def opCount: Int
- val order: TermOrder
- Definition Classes
- Conjunction → SortedWithOrder
- val predConj: PredConj
- lazy val predicates: Set[Predicate]
- Definition Classes
- Conjunction → SortedWithOrder → TerFor
- val quans: Seq[Quantifier]
- def remove(that: Conjunction, logger: ComputationLogger): Conjunction
- def size: Int
- def sortBy(newOrder: TermOrder): Conjunction
Re-sort an object with a new
TermOrder
.Re-sort an object with a new
TermOrder
. It is guaranteed that the resultisSortedBy(order)
- Definition Classes
- Conjunction → Sorted
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Conjunction → AnyRef → Any
- def unary_!: Conjunction
- def unquantify(num: Int): Conjunction
Remove the
num
outermost quantifiers of thisConjunction
, without changing the matrix of the formula - def updateArithConj(ac: ArithConj)(implicit newOrder: TermOrder): Conjunction
Update the arithmetic parts of this conjunction (without changing anything else apart from the
TermOrder
) - def updateInEqs(newEqs: InEqConj)(implicit newOrder: TermOrder): Conjunction
Update the inequalities of this conjunction (without changing anything else apart from the
TermOrder
) - def updateNegatedConjs(newNegConjs: NegatedConjunctions)(implicit newOrder: TermOrder): Conjunction
Update the inequalities of this conjunction (without changing anything else apart from the
TermOrder
) - def updateNegativeEqs(newEqs: NegEquationConj)(implicit newOrder: TermOrder): Conjunction
Update the negative equations of this conjunction (without changing anything else apart from the
TermOrder
) - def updatePositiveEqs(newEqs: EquationConj)(implicit newOrder: TermOrder): Conjunction
Update the positive equations of this conjunction (without changing anything else apart from the
TermOrder
) - def updatePredConj(pc: PredConj)(implicit newOrder: TermOrder): Conjunction
Update the predicate parts of this conjunction (without changing anything else apart from the
TermOrder
) - lazy val variables: Set[VariableTerm]
- Definition Classes
- Conjunction → TerFor
- 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])
- def |(that: Conjunction)(implicit newOrder: TermOrder): Conjunction
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)