public abstract class Term
extends java.lang.Object
ApplicationTerm
represents a function application
(name ...)
.AnnotatedTerm
represents an annotated term
(! term ...)
.ConstantTerm
represents a numeral, decimal, bit vector, or string
literal.LetTerm
represents a let term
(let ((var term)...) term)
.TermVariable
represents a term variable var
used in
quantifier or let term.
Note that constants are represented by ApplicationTerm.QuantifiedFormula
represents a quantified formula
(exists/forall ...)
.Modifier and Type | Field and Description |
---|---|
int |
mTmpCtr
A temporary counter used e.g. to count the number of occurrences of this
term in a bigger term.
|
Modifier | Constructor and Description |
---|---|
protected |
Term(int hash)
Create a term.
|
Modifier and Type | Method and Description |
---|---|
TermVariable[] |
getFreeVars()
Computes and returns the free variables occurring in this term.
|
abstract Sort |
getSort()
Returns the SMTLIB sort of this term.
|
de.uni_freiburg.informatik.ultimate.logic.Theory |
getTheory() |
int |
hashCode() |
java.lang.String |
toString()
Prints an SMTLIB representation of this term.
|
java.lang.String |
toStringDirect()
Prints the canonical SMTLIB representation of this term.
|
protected abstract void |
toStringHelper(java.util.ArrayDeque<java.lang.Object> mTodo)
Convert a term to a string in a stack based fashion.
|
public int mTmpCtr
protected Term(int hash)
hash
- the hash code of the term. This should be stable.public abstract Sort getSort()
public TermVariable[] getFreeVars()
public de.uni_freiburg.informatik.ultimate.logic.Theory getTheory()
public java.lang.String toString()
introduces lets for common subexpressions
to prevent exponential blow-up when printing
a term with lots of sharing.toString
in class java.lang.Object
public java.lang.String toStringDirect()
public int hashCode()
hashCode
in class java.lang.Object
protected abstract void toStringHelper(java.util.ArrayDeque<java.lang.Object> mTodo)
mTodo
- The stack where to put the strings and sub terms.PrintTerm