public class CVC4FormulaCreator extends FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>
environment| Modifier | Constructor and Description |
|---|---|
protected |
CVC4FormulaCreator(edu.nyu.acsys.CVC4.ExprManager pExprManager) |
| Modifier and Type | Method and Description |
|---|---|
edu.nyu.acsys.CVC4.Expr |
callFunctionImpl(edu.nyu.acsys.CVC4.Expr pDeclaration,
List<edu.nyu.acsys.CVC4.Expr> pArgs) |
Object |
convertValue(edu.nyu.acsys.CVC4.Expr pF)
Convert the formula into a Java object as far as possible, i.e., try to match a primitive or
simple type like Boolean, BigInteger, or Rational.
|
Object |
convertValue(edu.nyu.acsys.CVC4.Expr expForType,
edu.nyu.acsys.CVC4.Expr value)
Convert the formula into a Java object as far as possible, i.e., try to match a primitive or
simple type.
|
edu.nyu.acsys.CVC4.Expr |
declareUFImpl(String pName,
edu.nyu.acsys.CVC4.Type pReturnType,
List<edu.nyu.acsys.CVC4.Type> pArgTypes) |
<T extends Formula> |
encapsulate(FormulaType<T> pType,
edu.nyu.acsys.CVC4.Expr pTerm) |
protected <TI extends Formula,TE extends Formula> |
encapsulateArray(edu.nyu.acsys.CVC4.Expr pTerm,
FormulaType<TI> pIndexType,
FormulaType<TE> pElementType) |
BitvectorFormula |
encapsulateBitvector(edu.nyu.acsys.CVC4.Expr pTerm) |
BooleanFormula |
encapsulateBoolean(edu.nyu.acsys.CVC4.Expr pTerm) |
protected FloatingPointFormula |
encapsulateFloatingPoint(edu.nyu.acsys.CVC4.Expr pTerm) |
edu.nyu.acsys.CVC4.Expr |
extractInfo(Formula pT) |
protected <TD extends Formula,TR extends Formula> |
getArrayFormulaElementType(ArrayFormula<TD,TR> pArray) |
protected <TD extends Formula,TR extends Formula> |
getArrayFormulaIndexType(ArrayFormula<TD,TR> pArray) |
edu.nyu.acsys.CVC4.Type |
getArrayType(edu.nyu.acsys.CVC4.Type pIndexType,
edu.nyu.acsys.CVC4.Type pElementType) |
edu.nyu.acsys.CVC4.Type |
getBitvectorType(int pBitwidth) |
protected edu.nyu.acsys.CVC4.Expr |
getBooleanVarDeclarationImpl(edu.nyu.acsys.CVC4.Expr pTFormulaInfo) |
edu.nyu.acsys.CVC4.Type |
getFloatingPointType(FormulaType.FloatingPointType pType) |
FormulaType<?> |
getFormulaType(edu.nyu.acsys.CVC4.Expr pFormula) |
<T extends Formula> |
getFormulaType(T pFormula)
Returns the type of the given Formula.
|
edu.nyu.acsys.CVC4.Expr |
makeVariable(edu.nyu.acsys.CVC4.Type type,
String name) |
<R> R |
visit(FormulaVisitor<R> visitor,
Formula formula,
edu.nyu.acsys.CVC4.Expr f) |
callFunction, encapsulateWithTypeOf, extractInfo, extractVariablesAndUFs, extractVariablesAndUFs, extractVariablesAndUFs, getBooleanVarDeclaration, getBoolType, getEnv, getIntegerType, getRationalType, transformRecursively, transformRecursively, visit, visitRecursively, visitRecursivelyprotected CVC4FormulaCreator(edu.nyu.acsys.CVC4.ExprManager pExprManager)
public edu.nyu.acsys.CVC4.Expr makeVariable(edu.nyu.acsys.CVC4.Type type,
String name)
makeVariable in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public edu.nyu.acsys.CVC4.Type getBitvectorType(int pBitwidth)
getBitvectorType in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public edu.nyu.acsys.CVC4.Type getFloatingPointType(FormulaType.FloatingPointType pType)
getFloatingPointType in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public edu.nyu.acsys.CVC4.Type getArrayType(edu.nyu.acsys.CVC4.Type pIndexType,
edu.nyu.acsys.CVC4.Type pElementType)
getArrayType in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public edu.nyu.acsys.CVC4.Expr extractInfo(Formula pT)
extractInfo in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>protected <TD extends Formula,TR extends Formula> FormulaType<TR> getArrayFormulaElementType(ArrayFormula<TD,TR> pArray)
getArrayFormulaElementType in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>protected <TD extends Formula,TR extends Formula> FormulaType<TD> getArrayFormulaIndexType(ArrayFormula<TD,TR> pArray)
getArrayFormulaIndexType in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public <T extends Formula> FormulaType<T> getFormulaType(T pFormula)
FormulaCreatorgetFormulaType in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public FormulaType<?> getFormulaType(edu.nyu.acsys.CVC4.Expr pFormula)
getFormulaType in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public <T extends Formula> T encapsulate(FormulaType<T> pType, edu.nyu.acsys.CVC4.Expr pTerm)
encapsulate in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public BooleanFormula encapsulateBoolean(edu.nyu.acsys.CVC4.Expr pTerm)
encapsulateBoolean in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public BitvectorFormula encapsulateBitvector(edu.nyu.acsys.CVC4.Expr pTerm)
encapsulateBitvector in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>protected FloatingPointFormula encapsulateFloatingPoint(edu.nyu.acsys.CVC4.Expr pTerm)
encapsulateFloatingPoint in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>protected <TI extends Formula,TE extends Formula> ArrayFormula<TI,TE> encapsulateArray(edu.nyu.acsys.CVC4.Expr pTerm, FormulaType<TI> pIndexType, FormulaType<TE> pElementType)
encapsulateArray in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public <R> R visit(FormulaVisitor<R> visitor, Formula formula, edu.nyu.acsys.CVC4.Expr f)
visit in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr getBooleanVarDeclarationImpl(edu.nyu.acsys.CVC4.Expr pTFormulaInfo)
getBooleanVarDeclarationImpl in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public edu.nyu.acsys.CVC4.Expr callFunctionImpl(edu.nyu.acsys.CVC4.Expr pDeclaration,
List<edu.nyu.acsys.CVC4.Expr> pArgs)
callFunctionImpl in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public edu.nyu.acsys.CVC4.Expr declareUFImpl(String pName, edu.nyu.acsys.CVC4.Type pReturnType, List<edu.nyu.acsys.CVC4.Type> pArgTypes)
declareUFImpl in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>public Object convertValue(edu.nyu.acsys.CVC4.Expr pF)
FormulaCreatorIf the formula is not a simple constant expression, we simple return null.
convertValue in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>pF - the formula to be converted.public Object convertValue(edu.nyu.acsys.CVC4.Expr expForType, edu.nyu.acsys.CVC4.Expr value)
FormulaCreatorconvertValue in class FormulaCreator<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,edu.nyu.acsys.CVC4.Expr>expForType - an additonal formula where the type can be received from.value - the formula to be converted.