YES Problem: concat(leaf(),Y) -> Y concat(cons(U,V),Y) -> cons(U,concat(V,Y)) lessleaves(X,leaf()) -> false() lessleaves(leaf(),cons(W,Z)) -> true() lessleaves(cons(U,V),cons(W,Z)) -> lessleaves(concat(U,V),concat(W,Z)) Proof: Matrix Interpretation Processor: dim=1 interpretation: [true] = 0, [false] = 0, [lessleaves](x0, x1) = 3x0 + 2x1 + 4, [cons](x0, x1) = 4x0 + x1 + 4, [concat](x0, x1) = x0 + x1 + 2, [leaf] = 1 orientation: concat(leaf(),Y) = Y + 3 >= Y = Y concat(cons(U,V),Y) = 4U + V + Y + 6 >= 4U + V + Y + 6 = cons(U,concat(V,Y)) lessleaves(X,leaf()) = 3X + 6 >= 0 = false() lessleaves(leaf(),cons(W,Z)) = 8W + 2Z + 15 >= 0 = true() lessleaves(cons(U,V),cons(W,Z)) = 12U + 3V + 8W + 2Z + 24 >= 3U + 3V + 2W + 2Z + 14 = lessleaves(concat(U,V),concat(W,Z)) problem: concat(cons(U,V),Y) -> cons(U,concat(V,Y)) Matrix Interpretation Processor: dim=1 interpretation: [cons](x0, x1) = 5x0 + x1 + 1, [concat](x0, x1) = 5x0 + x1 + 1 orientation: concat(cons(U,V),Y) = 25U + 5V + Y + 6 >= 5U + 5V + Y + 2 = cons(U,concat(V,Y)) problem: Qed