TFormulaInfo - The solver specific type.TFunctionDecl - The solver specific type of declarations of any function applicationTType - The solver specific type of formula-types.public abstract class AbstractUFManager<TFormulaInfo,TFunctionDecl,TType,TEnv> extends Object implements UFManager
| Modifier and Type | Field and Description |
|---|---|
protected FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> |
formulaCreator |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractUFManager(FormulaCreator<TFormulaInfo,TType,TEnv,TFunctionDecl> pCreator) |
| Modifier and Type | Method and Description |
|---|---|
<T extends Formula> |
callUF(FunctionDeclaration<T> funcType,
Formula... args) |
<T extends Formula> |
callUF(FunctionDeclaration<T> pFunc,
List<? extends Formula> pArgs)
Create an uninterpreted function call.
|
protected abstract TFormulaInfo |
createUninterpretedFunctionCallImpl(TFunctionDecl func,
List<TFormulaInfo> pArgs) |
<T extends Formula> |
declareAndCallUF(String name,
FormulaType<T> pReturnType,
List<Formula> pArgs)
Declares and calls an uninterpreted function.
|
<T extends Formula> |
declareUF(String pName,
FormulaType<T> pReturnType,
FormulaType<?>... pArgs)
Declare an uninterpreted function.
|
<T extends Formula> |
declareUF(String pName,
FormulaType<T> pReturnType,
List<FormulaType<?>> pArgTypes)
Declare an uninterpreted function.
|
protected abstract TFunctionDecl |
declareUninterpretedFunctionImpl(String pName,
TType pReturnType,
List<TType> pArgTypes) |
protected FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> |
getFormulaCreator() |
protected TType |
toSolverType(FormulaType<?> formulaType) |
protected final FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> formulaCreator
protected AbstractUFManager(FormulaCreator<TFormulaInfo,TType,TEnv,TFunctionDecl> pCreator)
protected abstract TFunctionDecl declareUninterpretedFunctionImpl(String pName, TType pReturnType, List<TType> pArgTypes)
public final <T extends Formula> FunctionDeclaration<T> declareUF(String pName, FormulaType<T> pReturnType, List<FormulaType<?>> pArgTypes)
UFManagerpublic <T extends Formula> FunctionDeclaration<T> declareUF(String pName, FormulaType<T> pReturnType, FormulaType<?>... pArgs)
UFManagerprotected abstract TFormulaInfo createUninterpretedFunctionCallImpl(TFunctionDecl func, List<TFormulaInfo> pArgs)
public <T extends Formula> T callUF(FunctionDeclaration<T> funcType, Formula... args)
public final <T extends Formula> T callUF(FunctionDeclaration<T> pFunc, List<? extends Formula> pArgs)
UFManagerSimply delegates to FormulaManager.makeApplication(FunctionDeclaration, List)
public <T extends Formula> T declareAndCallUF(String name, FormulaType<T> pReturnType, List<Formula> pArgs)
UFManagerdeclareAndCallUF in interface UFManagerprotected final FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> getFormulaCreator()
protected final TType toSolverType(FormulaType<?> formulaType)