Package org.sosy_lab.java_smt.basicimpl
Class AbstractUFManager<TFormulaInfo,TFunctionDecl,TType,TEnv>
java.lang.Object
org.sosy_lab.java_smt.basicimpl.AbstractUFManager<TFormulaInfo,TFunctionDecl,TType,TEnv>
- Type Parameters:
TFormulaInfo- The solver specific type.TFunctionDecl- The solver specific type of declarations of any function applicationTType- The solver specific type of formula-types.
- All Implemented Interfaces:
UFManager
public abstract class AbstractUFManager<TFormulaInfo,TFunctionDecl,TType,TEnv>
extends Object
implements UFManager
This class simplifies the implementation of the FunctionFormulaManager by converting the types to
the solver specific type.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final FormulaCreator<TFormulaInfo,TType, TEnv, TFunctionDecl> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionfinal <T extends Formula>
TcallUF(FunctionDeclaration<T> pFunc, List<? extends Formula> pArgs) Create an uninterpreted function call.<T extends Formula>
TcallUF(FunctionDeclaration<T> funcType, Formula... args) <T extends Formula>
TdeclareAndCallUF(String name, FormulaType<T> pReturnType, List<Formula> pArgs) Declares and calls an uninterpreted function with exactly the given name.<T extends Formula>
TdeclareAndCallUF(String name, FormulaType<T> pReturnType, Formula... pArgs) final <T extends Formula>
FunctionDeclaration<T>declareUF(String pName, FormulaType<T> pReturnType, List<FormulaType<?>> pArgTypes) Declare an uninterpreted function.<T extends Formula>
FunctionDeclaration<T>declareUF(String pName, FormulaType<T> pReturnType, FormulaType<?>... pArgs) Declare an uninterpreted function.protected final FormulaCreator<TFormulaInfo,TType, TEnv, TFunctionDecl> protected final TTypetoSolverType(FormulaType<?> formulaType)
-
Field Details
-
formulaCreator
-
-
Constructor Details
-
AbstractUFManager
-
-
Method Details
-
declareUF
public final <T extends Formula> FunctionDeclaration<T> declareUF(String pName, FormulaType<T> pReturnType, List<FormulaType<?>> pArgTypes) Description copied from interface:UFManagerDeclare an uninterpreted function. -
declareUF
public <T extends Formula> FunctionDeclaration<T> declareUF(String pName, FormulaType<T> pReturnType, FormulaType<?>... pArgs) Description copied from interface:UFManagerDeclare an uninterpreted function. -
callUF
-
callUF
public final <T extends Formula> T callUF(FunctionDeclaration<T> pFunc, List<? extends Formula> pArgs) Description copied from interface:UFManagerCreate an uninterpreted function call.Simply delegates to
FormulaManager.makeApplication(FunctionDeclaration, List) -
declareAndCallUF
public <T extends Formula> T declareAndCallUF(String name, FormulaType<T> pReturnType, List<Formula> pArgs) Description copied from interface:UFManagerDeclares and calls an uninterpreted function with exactly the given name.Please make sure that the given name is valid in SMT-LIB2. Take a look at
FormulaManager.isValidName(java.lang.String)for further information.This method does not quote or unquote the given name, but uses the plain name "AS IS".
Formula.toString()can return a different String than the given one.- Specified by:
declareAndCallUFin interfaceUFManager
-
declareAndCallUF
public <T extends Formula> T declareAndCallUF(String name, FormulaType<T> pReturnType, Formula... pArgs) - Specified by:
declareAndCallUFin interfaceUFManager- See Also:
-
getFormulaCreator
-
toSolverType
-