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