public interface Term
| Modifier and Type | Method and Description | 
|---|---|
int | 
depth()
The depth of the term tree. 
 | 
java.lang.Object | 
eval(Algebra alg,
    java.util.Map map)
The evaluation of this term in an algebra using  
map as
 the variable assignment. | 
java.util.List<Term> | 
getChildren()
A list of terms which are the immediate children. 
 | 
java.util.Set<OperationSymbol> | 
getOperationSymbols()
The set of operation symbols or null for a variable. 
 | 
java.util.List<Variable> | 
getVariableList()
The list of variables in the order they appear in the term. 
 | 
TermOperation | 
interpretation(SmallAlgebra alg)
The operation obtained from this term using the variables in the
 order they occur. 
 | 
Operation | 
interpretation(SmallAlgebra alg,
              java.util.List<Variable> varlist,
              boolean useAll)
The interpretation of this term in an algebra; that is, the
 operation on  
alg corresponding to this term. | 
int | 
intEval(Algebra alg,
       java.util.Map<Variable,java.lang.Integer> map)
The int evaluation of this term in an algebra using  
map as
 the variable assignment. | 
boolean | 
isaVariable()  | 
OperationSymbol | 
leadingOperationSymbol()
The leading operation symbol or null if this term is a variable. 
 | 
int | 
length()
The length of the term. 
 | 
Term | 
substitute(java.util.Map<Variable,Term> map)
Replace some of the variables with terms. 
 | 
java.lang.String | 
toString()
A reasonably good printout of the term. 
 | 
java.lang.StringBuffer | 
writeStringBuffer(java.lang.StringBuffer sb)
This is really an efficiency helper for toString. 
 | 
boolean isaVariable()
OperationSymbol leadingOperationSymbol()
java.util.Set<OperationSymbol> getOperationSymbols()
java.util.List<Term> getChildren()
java.lang.Object eval(Algebra alg, java.util.Map map)
map as
 the variable assignment.int intEval(Algebra alg, java.util.Map<Variable,java.lang.Integer> map)
map as
 the variable assignment.Operation interpretation(SmallAlgebra alg, java.util.List<Variable> varlist, boolean useAll)
alg corresponding to this term.
 The varlist, a list of Variable's, specifies the
 order. If useAll is true, variables that are
 not explicit in this term are still used.
 (z*y)*z, and
 varlist is (x, y, z).
 If useAll is true, the resulting operation will
 have arity 3 and be independent of its first variable. Otherwise
 it will be a 2 place operation with y as the first
 variable and z as the second.alg - the Algebravarlist - the list of variablesuseAll - if true, use all the variables in varlistTermOperation interpretation(SmallAlgebra alg)
(z*y)*z.
 The result will be a 2 place operation with z as the first
 variable and y as the second.alg - the Algebra#interpretation(Algebra,List,boolean)int depth()
int length()
java.util.List<Variable> getVariableList()
Term substitute(java.util.Map<Variable,Term> map)
map - a map for the substitutionjava.lang.String toString()
toString in class java.lang.Objectjava.lang.StringBuffer writeStringBuffer(java.lang.StringBuffer sb)
Copyright 2003 Ralph Freese. All Rights Reserved.