YES Problem: comp_f_g[1](walk_1(),walk_4(x11),x7) -> walk_4[1](x11,x7) comp_f_g[1](comp_f_g(x7,walk_4(x9)),walk_4(x5),x3) -> comp_f_g[1](x7,walk_4(x9),walk_4[1](x5,x3)) walk_4[1](x7,x11) -> Cons(x7,x11) rec[walk_0][1](Nil()) -> walk_1() rec[walk_0][1](Cons(x61,x77)) -> comp_f_g(rec[walk_0][1](x77),walk_4(x61)) main(Nil()) -> Nil() main(Cons(x122,x154)) -> comp_f_g[1](rec[walk_0][1](x154),walk_4(x122),Nil()) Proof: Matrix Interpretation Processor: dim=1 interpretation: [main](x0) = 6x0, [rec[walk_0][1]](x0) = 5x0 + 2, [Nil] = 1, [Cons](x0, x1) = 4x0 + x1 + 2, [comp_f_g](x0, x1) = x0 + x1 + 1, [walk_4[1]](x0, x1) = 4x0 + x1 + 2, [comp_f_g[1]](x0, x1, x2) = x0 + x1 + x2 + 1, [walk_4](x0) = 4x0 + 1, [walk_1] = 0 orientation: comp_f_g[1](walk_1(),walk_4(x11),x7) = 4x11 + x7 + 2 >= 4x11 + x7 + 2 = walk_4[1](x11,x7) comp_f_g[1](comp_f_g(x7,walk_4(x9)),walk_4(x5),x3) = x3 + 4x5 + x7 + 4x9 + 4 >= x3 + 4x5 + x7 + 4x9 + 4 = comp_f_g[1](x7,walk_4(x9),walk_4[1](x5,x3)) walk_4[1](x7,x11) = x11 + 4x7 + 2 >= x11 + 4x7 + 2 = Cons(x7,x11) rec[walk_0][1](Nil()) = 7 >= 0 = walk_1() rec[walk_0][1](Cons(x61,x77)) = 20x61 + 5x77 + 12 >= 4x61 + 5x77 + 4 = comp_f_g(rec[walk_0][1](x77),walk_4(x61)) main(Nil()) = 6 >= 1 = Nil() main(Cons(x122,x154)) = 24x122 + 6x154 + 12 >= 4x122 + 5x154 + 5 = comp_f_g[1](rec[walk_0][1](x154),walk_4(x122),Nil()) problem: comp_f_g[1](walk_1(),walk_4(x11),x7) -> walk_4[1](x11,x7) comp_f_g[1](comp_f_g(x7,walk_4(x9)),walk_4(x5),x3) -> comp_f_g[1](x7,walk_4(x9),walk_4[1](x5,x3)) walk_4[1](x7,x11) -> Cons(x7,x11) Matrix Interpretation Processor: dim=1 interpretation: [Cons](x0, x1) = x0 + x1, [comp_f_g](x0, x1) = 2x0 + 4x1 + 1, [walk_4[1]](x0, x1) = x0 + x1, [comp_f_g[1]](x0, x1, x2) = 2x0 + 4x1 + 2x2 + 2, [walk_4](x0) = 2x0 + 2, [walk_1] = 3 orientation: comp_f_g[1](walk_1(),walk_4(x11),x7) = 8x11 + 2x7 + 16 >= x11 + x7 = walk_4[1](x11,x7) comp_f_g[1](comp_f_g(x7,walk_4(x9)),walk_4(x5),x3) = 2x3 + 8x5 + 4x7 + 16x9 + 28 >= 2x3 + 2x5 + 2x7 + 8x9 + 10 = comp_f_g[1](x7,walk_4(x9),walk_4[1](x5,x3)) walk_4[1](x7,x11) = x11 + x7 >= x11 + x7 = Cons(x7,x11) problem: walk_4[1](x7,x11) -> Cons(x7,x11) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [1 0 0] [Cons](x0, x1) = [0 0 0]x0 + [0 0 0]x1 [0 0 0] [0 0 0] , [1 0 0] [1 0 0] [1] [walk_4[1]](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [0] [0 0 1] [0 0 0] [0] orientation: [1 0 0] [1 0 0] [1] [1 0 0] [1 0 0] walk_4[1](x7,x11) = [0 0 0]x11 + [0 0 0]x7 + [0] >= [0 0 0]x11 + [0 0 0]x7 = Cons(x7,x11) [0 0 0] [0 0 1] [0] [0 0 0] [0 0 0] problem: Qed