- All Superinterfaces:
SymbolicExpression,SymbolicObject
- All Known Subinterfaces:
BooleanSymbolicConstant
A symbolic expression of boolean type.
-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.civl.sarl.IF.expr.SymbolicExpression
SymbolicExpression.SymbolicOperatorNested classes/interfaces inherited from interface dev.civl.sarl.IF.object.SymbolicObject
SymbolicObject.SymbolicObjectKind -
Method Summary
Modifier and TypeMethodDescriptionReturns a sequence of boolean expressions whose conjunction is equivalent tothis.Is this boolean expression unsatisfiable, i.e., equivalent tofalse,? The result is cached here for convenience, using method.invalid reference
#setUnsatisfiable(ResultType)Is this boolean expression valid, i.e., equivalent totrue, i.e., a tautology? The result is cached here for convenience, using methodsetValidity(ResultType).voidStore the unsatisfiability result for this boolean expression.voidStore the validity result for this boolean expression.Methods inherited from interface dev.civl.sarl.IF.expr.SymbolicExpression
argument, atomString, getArguments, getFreeVars, isFalse, isNull, isNumeric, isOne, isTrue, isZero, numArguments, operator, printCompressedTree, size, typeMethods inherited from interface dev.civl.sarl.IF.object.SymbolicObject
containsQuantifier, containsSubobject, containsSubobjectIgnoringType, equals, getOrder, hashCode, id, isCanonic, setInCanonic, setOrder, symbolicObjectKind, toString, toStringBuffer, toStringBufferLong
-
Method Details
-
getClauses
BooleanExpression[] getClauses()Returns a sequence of boolean expressions whose conjunction is equivalent tothis. The decomposition should be highly non-trivial in general, and this method should be efficient.- Returns:
- sequence of symbolic expressions whose conjunction is equivalent
to
this
-
getValidity
ValidityResult.ResultType getValidity()Is this boolean expression valid, i.e., equivalent totrue, i.e., a tautology? The result is cached here for convenience, using methodsetValidity(ResultType). There are four possible values: (1)null: nothing is known and nothing has been tried to figure it out, (2)ValidityResult.ResultType.YES: it is definitely valid, (3)ValidityResult.ResultType.NO: it is definitely not valid, and (4)ValidityResult.ResultType.MAYBE: unknown. The difference betweennullandValidityResult.ResultType.MAYBEis that withValidityResult.ResultType.MAYBEyou know we already tried to figure out if it is valid and couldn't, hence, there is no need to try again.- Returns:
- the cached validity result
- See Also:
-
setValidity
Store the validity result for this boolean expression.- Parameters:
value- the validity result to cache- See Also:
-
getUnsatisfiability
ValidityResult.ResultType getUnsatisfiability()Is this boolean expression unsatisfiable, i.e., equivalent tofalse,? The result is cached here for convenience, using method. There are four possible values: (1)invalid reference
#setUnsatisfiable(ResultType)null: nothing is known and nothing has been tried to figure it out, (2)ValidityResult.ResultType.YES: it is definitely unsatisfiable, (3)ValidityResult.ResultType.NO: it is definitely satisfiable, and (4)ValidityResult.ResultType.MAYBE: unknown. The difference betweennullandValidityResult.ResultType.MAYBEis that withValidityResult.ResultType.MAYBEyou know we already tried to figure out if it is unsatisfiable and couldn't, hence, there is no need to try again.- Returns:
-
setUnsatisfiability
Store the unsatisfiability result for this boolean expression.- Parameters:
value- the unsatisfiability result to cache- See Also:
-