MAYBE DP problem for innermost termination. P = eval#(x, y) -> eval#(y - 2, x + 1) [x > 0 && y > 0] eval#(I0, I1) -> eval#(I0 - 1, I0) [I0 > 0 && I1 > 0] R = eval(x, y) -> eval(y - 2, x + 1) [x > 0 && y > 0] eval(I0, I1) -> eval(I0 - 1, I0) [I0 > 0 && I1 > 0]