|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.uacalc.terms.Taylor
public class Taylor
Let f be a k-ary operation symbol. We consider a set of equations where each side has the form f(x's and y's). For each index i there is at least one equation with the ith coordinate on the two sides are different (so f is a Taylor term).
We are looking to see if there is some term t in this language of f
that is a Markovic-McKenzie-Siggers term. That is, an idempotent
term satisfying
t(y,x,x,x) = t(x,x,y,y) and
t(x,x,y,x) = t(x,y,x,x)
By idempotence every term in f can be assumed to have a balanced
term tree. For depth d such a tree has k^d leaves and the term
is determined by the vector of variables at the leaves. So terms
of depth d can be represented by a vector of variables of length
k^d and linearly ordered lexicographically.
We use the equations of f to effective rewrite this vector into the least equivalent one least in the lexicographic order. Using this we search all 4 variable terms for a MMS term.
| Constructor Summary | |
|---|---|
Taylor(int arity,
java.util.List<java.util.List<IntArray>> inteqs)
|
|
Taylor(OperationSymbol sym,
java.util.List<java.util.List<IntArray>> inteqs)
|
|
Taylor(Term taylor,
java.util.List<Equation> eqs)
|
|
| Method Summary | |
|---|---|
int |
arity()
|
IntArray |
canonicalForm(IntArray arr)
|
Term |
canonicalForm(Term t)
Find the canonical form of a term t in the language of f with variables x and y. |
java.util.List<Equation> |
equations()
|
java.util.List<java.util.List<IntArray>> |
inteqs()
|
Term |
interprets(Taylor g,
int level)
Find a term which in the language of this which satisfies the identities of g. |
static int |
lexicographicallyCompare(int[] a,
int[] b)
|
static int |
lexicographicallyCompare(IntArray a,
IntArray b)
|
int |
lexicographicallyCompare(Term s,
Term t)
|
static void |
main(java.lang.String[] args)
|
Term |
makeBalancedTayorTerm(OperationSymbol f,
int depth,
java.util.List<Variable> varList)
Constructs a term with a balanced term tree. |
static Taylor |
markovicMcKenzieTerm()
|
static Taylor |
siggersTerm()
|
Term |
termFromArray(int[] arr)
|
Term |
termFromArray(int[] arr,
int start,
int len)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Taylor(Term taylor,
java.util.List<Equation> eqs)
public Taylor(OperationSymbol sym,
java.util.List<java.util.List<IntArray>> inteqs)
public Taylor(int arity,
java.util.List<java.util.List<IntArray>> inteqs)
| Method Detail |
|---|
public Term canonicalForm(Term t)
t -
public IntArray canonicalForm(IntArray arr)
public static Taylor markovicMcKenzieTerm()
public static Taylor siggersTerm()
public Term interprets(Taylor g,
int level)
g -
public Term termFromArray(int[] arr)
public Term termFromArray(int[] arr,
int start,
int len)
public Term makeBalancedTayorTerm(OperationSymbol f,
int depth,
java.util.List<Variable> varList)
f - depth - the depth, at least 1varList -
public int lexicographicallyCompare(Term s,
Term t)
public static int lexicographicallyCompare(IntArray a,
IntArray b)
public static int lexicographicallyCompare(int[] a,
int[] b)
public int arity()
public java.util.List<java.util.List<IntArray>> inteqs()
public java.util.List<Equation> equations()
public static void main(java.lang.String[] args)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||