public class Taylor
extends java.lang.Object
 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 and Description | 
|---|
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)  | 
| Modifier and Type | Method and Description | 
|---|---|
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)  | 
public Taylor(OperationSymbol sym, java.util.List<java.util.List<IntArray>> inteqs)
public Taylor(int arity,
              java.util.List<java.util.List<IntArray>> inteqs)
public Term canonicalForm(Term t)
t - 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 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)
Copyright 2003 Ralph Freese. All Rights Reserved.