YES Problem: f(s(X)) -> f(X) g(cons(0(),Y)) -> g(Y) g(cons(s(X),Y)) -> s(X) h(cons(X,Y)) -> h(g(cons(X,Y))) Proof: Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [1] [h](x0) = [0 0 0]x0 + [0] [1 0 0] [0], [1 0 0] [g](x0) = [1 0 0]x0 [0 1 0] , [1 1 0] [1 1 0] [0] [cons](x0, x1) = [1 0 0]x0 + [1 1 0]x1 + [1] [0 0 1] [0 0 0] [0], [0] [0] = [0] [0], [1 1 0] [f](x0) = [1 0 0]x0 [0 0 0] , [1 1 0] [0] [s](x0) = [0 0 1]x0 + [1] [1 0 0] [0] orientation: [1 1 1] [1] [1 1 0] f(s(X)) = [1 1 0]X + [0] >= [1 0 0]X = f(X) [0 0 0] [0] [0 0 0] [1 1 0] [0] [1 0 0] g(cons(0(),Y)) = [1 1 0]Y + [0] >= [1 0 0]Y = g(Y) [1 1 0] [1] [0 1 0] [1 1 1] [1 1 0] [1] [1 1 0] [0] g(cons(s(X),Y)) = [1 1 1]X + [1 1 0]Y + [1] >= [0 0 1]X + [1] = s(X) [1 1 0] [1 1 0] [1] [1 0 0] [0] [1 1 0] [1 1 0] [1] [1 1 0] [1 1 0] [1] h(cons(X,Y)) = [0 0 0]X + [0 0 0]Y + [0] >= [0 0 0]X + [0 0 0]Y + [0] = h(g(cons(X,Y))) [1 1 0] [1 1 0] [0] [1 1 0] [1 1 0] [0] problem: g(cons(0(),Y)) -> g(Y) h(cons(X,Y)) -> h(g(cons(X,Y))) Matrix Interpretation Processor: dim=3 interpretation: [1 0 1] [0] [h](x0) = [0 0 0]x0 + [0] [0 0 0] [1], [1 0 0] [g](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [1 0 0] [0] [cons](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [0] [0 0 0] [0 0 0] [1], [1] [0] = [0] [0] orientation: [1 0 0] [1] [1 0 0] g(cons(0(),Y)) = [0 0 0]Y + [0] >= [0 0 0]Y = g(Y) [0 0 0] [0] [0 0 0] [1 0 0] [1 0 0] [1] [1 0 0] [1 0 0] [0] h(cons(X,Y)) = [0 0 0]X + [0 0 0]Y + [0] >= [0 0 0]X + [0 0 0]Y + [0] = h(g(cons(X,Y))) [0 0 0] [0 0 0] [1] [0 0 0] [0 0 0] [1] problem: Qed