2.02/2.03 YES 2.02/2.03 2.02/2.03 DP problem for innermost termination. 2.02/2.03 P = 2.02/2.03 eval_2#(x, y) -> eval_1#(x - 1, y) [x > 0 && 0 >= y] 2.02/2.03 eval_2#(I0, I1) -> eval_2#(I0, I1 - 1) [I0 > 0 && I1 > 0] 2.02/2.03 eval_1#(I2, I3) -> eval_2#(I2, I3) [I2 > 0] 2.02/2.03 R = 2.02/2.03 eval_2(x, y) -> eval_1(x - 1, y) [x > 0 && 0 >= y] 2.02/2.03 eval_2(I0, I1) -> eval_2(I0, I1 - 1) [I0 > 0 && I1 > 0] 2.02/2.03 eval_1(I2, I3) -> eval_2(I2, I3) [I2 > 0] 2.02/2.03 2.02/2.03 We use the reverse value criterion with the projection function NU: 2.02/2.03 NU[eval_1#(z1,z2)] = z1 2.02/2.03 NU[eval_2#(z1,z2)] = z1 - 1 + -1 * 0 2.02/2.03 2.02/2.03 This gives the following inequalities: 2.02/2.03 x > 0 && 0 >= y ==> x - 1 + -1 * 0 >= x - 1 2.02/2.03 I0 > 0 && I1 > 0 ==> I0 - 1 + -1 * 0 >= I0 - 1 + -1 * 0 2.02/2.03 I2 > 0 ==> I2 > I2 - 1 + -1 * 0 with I2 >= 0 2.02/2.03 2.02/2.03 We remove all the strictly oriented dependency pairs. 2.02/2.03 2.02/2.03 DP problem for innermost termination. 2.02/2.03 P = 2.02/2.03 eval_2#(x, y) -> eval_1#(x - 1, y) [x > 0 && 0 >= y] 2.02/2.03 eval_2#(I0, I1) -> eval_2#(I0, I1 - 1) [I0 > 0 && I1 > 0] 2.02/2.03 R = 2.02/2.03 eval_2(x, y) -> eval_1(x - 1, y) [x > 0 && 0 >= y] 2.02/2.03 eval_2(I0, I1) -> eval_2(I0, I1 - 1) [I0 > 0 && I1 > 0] 2.02/2.03 eval_1(I2, I3) -> eval_2(I2, I3) [I2 > 0] 2.02/2.03 2.02/2.03 The dependency graph for this problem is: 2.02/2.03 0 -> 2.02/2.03 1 -> 0, 1 2.02/2.03 Where: 2.02/2.03 0) eval_2#(x, y) -> eval_1#(x - 1, y) [x > 0 && 0 >= y] 2.02/2.03 1) eval_2#(I0, I1) -> eval_2#(I0, I1 - 1) [I0 > 0 && I1 > 0] 2.02/2.03 2.02/2.03 We have the following SCCs. 2.02/2.03 { 1 } 2.02/2.03 2.02/2.03 DP problem for innermost termination. 2.02/2.03 P = 2.02/2.03 eval_2#(I0, I1) -> eval_2#(I0, I1 - 1) [I0 > 0 && I1 > 0] 2.02/2.03 R = 2.02/2.03 eval_2(x, y) -> eval_1(x - 1, y) [x > 0 && 0 >= y] 2.02/2.03 eval_2(I0, I1) -> eval_2(I0, I1 - 1) [I0 > 0 && I1 > 0] 2.02/2.03 eval_1(I2, I3) -> eval_2(I2, I3) [I2 > 0] 2.02/2.03 2.02/2.03 We use the reverse value criterion with the projection function NU: 2.02/2.03 NU[eval_2#(z1,z2)] = z2 2.02/2.03 2.02/2.03 This gives the following inequalities: 2.02/2.03 I0 > 0 && I1 > 0 ==> I1 > I1 - 1 with I1 >= 0 2.02/2.03 2.02/2.03 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 2.02/5.01 EOF