Package org.smtlib.logic
Class DifferenceLogic
java.lang.Object
org.smtlib.impl.Pos.Posable
org.smtlib.impl.Pos.Printable
org.smtlib.impl.SMTExpr.Logic
org.smtlib.logic.Logic
org.smtlib.logic.DifferenceLogic
- All Implemented Interfaces:
ILanguage,ILogic,INode,IPos.IPosable
Common base for the difference logics QF_IDL and QF_RDL. Their :language allows closed
quantifier-free formulas built with the Core connectives over Bool atoms and restricted
arithmetic atoms (op a b), where op is <, <=, >, >=, = or distinct. A subclass checks
the shape of each arithmetic atom.
-
Field Summary
Fields inherited from class org.smtlib.impl.SMTExpr.Logic
attributes, attributesList, logicName, smtConfigFields inherited from class org.smtlib.impl.Pos.Posable
pos -
Constructor Summary
ConstructorsConstructorDescriptionDifferenceLogic(SMT.Configuration smtConfig, IExpr.ISymbol name, Collection<IExpr.IAttribute<?>> attributes) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidcheckAtom(IExpr.IFcnExpr atom, IExpr lhs, IExpr rhs) Checks the arguments of a binary arithmetic atom (op lhs rhs).protected static booleanTrue for (- x y) with x and y symbolsprotected abstract Stringkind()"IDL" or "RDL", for error messagesvoidvalidExpression(IExpr expression) Checks whether the given expression is permitted in the language, throwing an exception if notMethods inherited from class org.smtlib.logic.Logic
allowedArraySort, allowedArraySorts, checkArraySorts, checkArraySorts, checkBoundArraySorts, isBitVecArray, isBitVecSort, isFreeConstant, isInteger, isLinearInteger, isLinearReal, isRealConst, noExponentiation, noFunctions, nonCoefficients, noQuantifiers, noSorts, restrictionError, sameSort, sortAppMethods inherited from class org.smtlib.impl.SMTExpr.Logic
accept, attributeList, attributes, checkFcnDeclaration, checkSortDeclaration, logicName, valueMethods inherited from class org.smtlib.impl.Pos.Printable
toStringMethods inherited from class org.smtlib.impl.Pos.Posable
equals, hashCode, pos, setPosMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.smtlib.ILanguage
checkFcnDeclaration, checkSortDeclaration
-
Constructor Details
-
DifferenceLogic
public DifferenceLogic(SMT.Configuration smtConfig, IExpr.ISymbol name, Collection<IExpr.IAttribute<?>> attributes)
-
-
Method Details
-
kind
"IDL" or "RDL", for error messages -
checkAtom
protected abstract void checkAtom(IExpr.IFcnExpr atom, IExpr lhs, IExpr rhs) throws IVisitor.VisitorException Checks the arguments of a binary arithmetic atom (op lhs rhs).- Throws:
IVisitor.VisitorException
-
validExpression
Description copied from interface:ILanguageChecks whether the given expression is permitted in the language, throwing an exception if not- Specified by:
validExpressionin interfaceILanguage- Overrides:
validExpressionin classSMTExpr.Logic- Throws:
IVisitor.VisitorException
-
isDifferenceOfSymbols
True for (- x y) with x and y symbols
-