YES Problem: cons_x[1](x2,x1) -> Cons(x2,x1) comp_f_g[1](cons_x(x4),comp_f_g(x3,x2),x1) -> cons_x[1](x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](cons_x(x3),cons_x(x2),x1) -> cons_x[1](x3,cons_x[1](x2,x1)) comp_f_g[1](comp_f_g(x5,x4),comp_f_g(x3,x2),x1) -> comp_f_g[1](x5,x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](comp_f_g(x4,x3),cons_x(x2),x1) -> comp_f_g[1](x4,x3,cons_x[1](x2,x1)) rec[walk_0][1](Leaf(x1)) -> cons_x(x1) rec[walk_0][1](Node(x2,x1)) -> comp_f_g(rec[walk_0][1](x2),rec[walk_0][1](x1)) main(Leaf(x2)) -> cons_x[1](x2,Nil()) main(Node(x4,x2)) -> comp_f_g[1](rec[walk_0][1](x4),rec[walk_0][1](x2),Nil()) Proof: Matrix Interpretation Processor: dim=1 interpretation: [Nil] = 5, [main](x0) = 5x0 + 6, [Node](x0, x1) = x0 + 4x1 + 1, [rec[walk_0][1]](x0) = 4x0, [Leaf](x0) = x0, [comp_f_g[1]](x0, x1, x2) = x0 + x1 + x2, [comp_f_g](x0, x1) = x0 + x1, [cons_x](x0) = 4x0, [Cons](x0, x1) = 4x0 + x1, [cons_x[1]](x0, x1) = 4x0 + x1 orientation: cons_x[1](x2,x1) = x1 + 4x2 >= x1 + 4x2 = Cons(x2,x1) comp_f_g[1](cons_x(x4),comp_f_g(x3,x2),x1) = x1 + x2 + x3 + 4x4 >= x1 + x2 + x3 + 4x4 = cons_x[1](x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](cons_x(x3),cons_x(x2),x1) = x1 + 4x2 + 4x3 >= x1 + 4x2 + 4x3 = cons_x[1](x3,cons_x[1](x2,x1)) comp_f_g[1](comp_f_g(x5,x4),comp_f_g(x3,x2),x1) = x1 + x2 + x3 + x4 + x5 >= x1 + x2 + x3 + x4 + x5 = comp_f_g[1](x5,x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](comp_f_g(x4,x3),cons_x(x2),x1) = x1 + 4x2 + x3 + x4 >= x1 + 4x2 + x3 + x4 = comp_f_g[1](x4,x3,cons_x[1](x2,x1)) rec[walk_0][1](Leaf(x1)) = 4x1 >= 4x1 = cons_x(x1) rec[walk_0][1](Node(x2,x1)) = 16x1 + 4x2 + 4 >= 4x1 + 4x2 = comp_f_g(rec[walk_0][1](x2),rec[walk_0][1](x1)) main(Leaf(x2)) = 5x2 + 6 >= 4x2 + 5 = cons_x[1](x2,Nil()) main(Node(x4,x2)) = 20x2 + 5x4 + 11 >= 4x2 + 4x4 + 5 = comp_f_g[1](rec[walk_0][1](x4),rec[walk_0][1](x2),Nil()) problem: cons_x[1](x2,x1) -> Cons(x2,x1) comp_f_g[1](cons_x(x4),comp_f_g(x3,x2),x1) -> cons_x[1](x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](cons_x(x3),cons_x(x2),x1) -> cons_x[1](x3,cons_x[1](x2,x1)) comp_f_g[1](comp_f_g(x5,x4),comp_f_g(x3,x2),x1) -> comp_f_g[1](x5,x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](comp_f_g(x4,x3),cons_x(x2),x1) -> comp_f_g[1](x4,x3,cons_x[1](x2,x1)) rec[walk_0][1](Leaf(x1)) -> cons_x(x1) Matrix Interpretation Processor: dim=1 interpretation: [rec[walk_0][1]](x0) = x0, [Leaf](x0) = 2x0 + 3, [comp_f_g[1]](x0, x1, x2) = x0 + x1 + x2, [comp_f_g](x0, x1) = x0 + x1, [cons_x](x0) = 2x0, [Cons](x0, x1) = 2x0 + x1, [cons_x[1]](x0, x1) = 2x0 + x1 orientation: cons_x[1](x2,x1) = x1 + 2x2 >= x1 + 2x2 = Cons(x2,x1) comp_f_g[1](cons_x(x4),comp_f_g(x3,x2),x1) = x1 + x2 + x3 + 2x4 >= x1 + x2 + x3 + 2x4 = cons_x[1](x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](cons_x(x3),cons_x(x2),x1) = x1 + 2x2 + 2x3 >= x1 + 2x2 + 2x3 = cons_x[1](x3,cons_x[1](x2,x1)) comp_f_g[1](comp_f_g(x5,x4),comp_f_g(x3,x2),x1) = x1 + x2 + x3 + x4 + x5 >= x1 + x2 + x3 + x4 + x5 = comp_f_g[1](x5,x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](comp_f_g(x4,x3),cons_x(x2),x1) = x1 + 2x2 + x3 + x4 >= x1 + 2x2 + x3 + x4 = comp_f_g[1](x4,x3,cons_x[1](x2,x1)) rec[walk_0][1](Leaf(x1)) = 2x1 + 3 >= 2x1 = cons_x(x1) problem: cons_x[1](x2,x1) -> Cons(x2,x1) comp_f_g[1](cons_x(x4),comp_f_g(x3,x2),x1) -> cons_x[1](x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](cons_x(x3),cons_x(x2),x1) -> cons_x[1](x3,cons_x[1](x2,x1)) comp_f_g[1](comp_f_g(x5,x4),comp_f_g(x3,x2),x1) -> comp_f_g[1](x5,x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](comp_f_g(x4,x3),cons_x(x2),x1) -> comp_f_g[1](x4,x3,cons_x[1](x2,x1)) Matrix Interpretation Processor: dim=1 interpretation: [comp_f_g[1]](x0, x1, x2) = 2x0 + x1 + x2 + 5, [comp_f_g](x0, x1) = 4x0 + 2x1 + 5, [cons_x](x0) = 5x0 + 4, [Cons](x0, x1) = 4x0 + x1, [cons_x[1]](x0, x1) = 5x0 + x1 + 3 orientation: cons_x[1](x2,x1) = x1 + 5x2 + 3 >= x1 + 4x2 = Cons(x2,x1) comp_f_g[1](cons_x(x4),comp_f_g(x3,x2),x1) = x1 + 2x2 + 4x3 + 10x4 + 18 >= x1 + x2 + 2x3 + 5x4 + 8 = cons_x[1](x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](cons_x(x3),cons_x(x2),x1) = x1 + 5x2 + 10x3 + 17 >= x1 + 5x2 + 5x3 + 6 = cons_x[1](x3,cons_x[1](x2,x1)) comp_f_g[1](comp_f_g(x5,x4),comp_f_g(x3,x2),x1) = x1 + 2x2 + 4x3 + 4x4 + 8x5 + 20 >= x1 + x2 + 2x3 + x4 + 2x5 + 10 = comp_f_g[1](x5,x4,comp_f_g[1](x3,x2,x1)) comp_f_g[1](comp_f_g(x4,x3),cons_x(x2),x1) = x1 + 5x2 + 4x3 + 8x4 + 19 >= x1 + 5x2 + x3 + 2x4 + 8 = comp_f_g[1](x4,x3,cons_x[1](x2,x1)) problem: Qed