public class FunctionSymbol
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
ASSOCMASK |
static int |
CHAINABLE |
static int |
INTERNAL |
static int |
LEFTASSOC |
static int |
MODELVALUE |
static int |
PAIRWISE |
static int |
RETURNOVERLOAD |
static int |
RIGHTASSOC |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getApplicationString()
Get the string representation of this function symbol as it would
be used to build an application term.
|
Term |
getDefinition()
Retrieve the definition of this function symbol.
|
TermVariable[] |
getDefinitionVars()
Retrieve the variables used in the definition of this function symbol.
|
java.math.BigInteger[] |
getIndices() |
java.lang.String |
getName()
Get the name of the function.
|
int |
getParameterCount()
Deprecated.
use getParameterSorts().length
|
Sort |
getParameterSort(int i)
Deprecated.
use getParameterSorts()[i].
|
Sort[] |
getParameterSorts()
Get the sort of the parameters for this function.
|
Sort |
getReturnSort()
Get the return sort of this function.
|
de.uni_freiburg.informatik.ultimate.logic.Theory |
getTheory() |
int |
hashCode() |
boolean |
isChainable()
Checks if this function symbol was declared as chainable.
|
boolean |
isIntern()
Check whether this function symbol is created by the solver.
|
boolean |
isInterpreted()
Check whether this function symbol is an internal symbol that has a fixed
semantic.
|
boolean |
isLeftAssoc()
Checks if this function symbol was declared as left associative.
|
boolean |
isModelValue() |
boolean |
isPairwise()
Checks if this function symbol was declared as pairwise.
|
boolean |
isReturnOverload()
Checks if this function symbol was created with the SMTLIB
syntax
(as name sort) to give it a different result
sort. |
boolean |
isRightAssoc()
Checks if this function symbol was declared as right associative.
|
java.lang.String |
toString()
Returns a string representation of this object.
|
boolean |
typecheck(Sort[] params)
Check if this function symbol can be called on terms with the given sort.
|
void |
typecheck(Term[] params)
Check if this function symbol can be called on the given argument terms.
|
public static final int INTERNAL
public static final int LEFTASSOC
public static final int RIGHTASSOC
public static final int CHAINABLE
public static final int PAIRWISE
public static final int ASSOCMASK
public static final int RETURNOVERLOAD
public static final int MODELVALUE
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String getName()
|
to quote
the name. The name may not contain |
symbols.public java.math.BigInteger[] getIndices()
public boolean isIntern()
+
, -
, or internal symbols only used by the
solver.public boolean isModelValue()
public de.uni_freiburg.informatik.ultimate.logic.Theory getTheory()
@Deprecated public int getParameterCount()
@Deprecated public Sort getParameterSort(int i)
i
- the parameter number.public TermVariable[] getDefinitionVars()
define-fun
command or a :named
annotation.null
if this function symbol is not a macro.public Term getDefinition()
define-fun
command or a :named
annotation.null
if
this function symbol is not a macro.public Sort getReturnSort()
public Sort[] getParameterSorts()
public void typecheck(Term[] params) throws SMTLIBException
params
- the arguments for the function symbols.SMTLIBException
public boolean typecheck(Sort[] params)
params
- the sort of the arguments for the function symbols.public java.lang.String toString()
(name paramsort1 ... paramsortn returnsort)where name is the (possibly indexed and quoted) function name.
toString
in class java.lang.Object
public final boolean isChainable()
public final boolean isPairwise()
public final boolean isLeftAssoc()
public final boolean isRightAssoc()
public final boolean isReturnOverload()
(as name sort)
to give it a different result
sort.public java.lang.String getApplicationString()
public boolean isInterpreted()