YES Problem: rec[fold_0][3](Nil()) -> 0() rec[fold_0][3](Cons(x10,x6)) -> rec[plus_0][2](x10,rec[fold_0][3](x6)) rec[plus_0][2](0(),x18) -> x18 rec[plus_0][2](S(x10),x6) -> S(rec[plus_0][2](x10,x6)) main(x3) -> rec[fold_0][3](x3) Proof: Matrix Interpretation Processor: dim=1 interpretation: [main](x0) = x0, [S](x0) = x0, [rec[plus_0][2]](x0, x1) = x0 + x1 + 4, [Cons](x0, x1) = x0 + x1 + 4, [0] = 3, [rec[fold_0][3]](x0) = x0, [Nil] = 3 orientation: rec[fold_0][3](Nil()) = 3 >= 3 = 0() rec[fold_0][3](Cons(x10,x6)) = x10 + x6 + 4 >= x10 + x6 + 4 = rec[plus_0][2](x10,rec[fold_0][3](x6)) rec[plus_0][2](0(),x18) = x18 + 7 >= x18 = x18 rec[plus_0][2](S(x10),x6) = x10 + x6 + 4 >= x10 + x6 + 4 = S(rec[plus_0][2](x10,x6)) main(x3) = x3 >= x3 = rec[fold_0][3](x3) problem: rec[fold_0][3](Nil()) -> 0() rec[fold_0][3](Cons(x10,x6)) -> rec[plus_0][2](x10,rec[fold_0][3](x6)) rec[plus_0][2](S(x10),x6) -> S(rec[plus_0][2](x10,x6)) main(x3) -> rec[fold_0][3](x3) Matrix Interpretation Processor: dim=1 interpretation: [main](x0) = 5x0 + 6, [S](x0) = x0 + 6, [rec[plus_0][2]](x0, x1) = 2x0 + 4x1, [Cons](x0, x1) = 2x0 + 4x1 + 4, [0] = 0, [rec[fold_0][3]](x0) = 5x0 + 5, [Nil] = 0 orientation: rec[fold_0][3](Nil()) = 5 >= 0 = 0() rec[fold_0][3](Cons(x10,x6)) = 10x10 + 20x6 + 25 >= 2x10 + 20x6 + 20 = rec[plus_0][2](x10,rec[fold_0][3](x6)) rec[plus_0][2](S(x10),x6) = 2x10 + 4x6 + 12 >= 2x10 + 4x6 + 6 = S(rec[plus_0][2](x10,x6)) main(x3) = 5x3 + 6 >= 5x3 + 5 = rec[fold_0][3](x3) problem: Qed