Think about orientation...these equations have something in common, but what? How about average term depth of subterms? f(a, g(b,c)) = g(f(a,b), f(a,c)) 1+2+2+3+3 1+2+2+3+3+3+3 i(f(a,b)) = f(i(a),i(b)) 1+2+3+3 1+2+2+3+3 But this usually orients larger to smaller terms...undesirable! f(f(a)) = a 1+2+3 1 Average term depth of terminal nodes / max term depth, larger -> smaller if equal seems to work for these examples. Easier: Average term depth of terminal nodes / maximum term depth + 1 Now I need an algorithm to generate an ordering for desired orientations -> Check Joachims LPO algorithm. Okayti Wonder