0.00/0.58 YES 0.00/0.58 0.00/0.58 DP problem for innermost termination. 0.00/0.58 P = 0.00/0.58 init#(x1, x2) -> f1#(rnd1, rnd2) 0.00/0.58 f2#(I0, I1) -> f2#(I0 + 1, I1) [0 <= I1 - 1 /\ I0 <= I1 - 1] 0.00/0.58 f2#(I2, I3) -> f2#(0, I2) [0 <= I3 - 1 /\ I2 <= I3 - 1] 0.00/0.58 f1#(I4, I5) -> f2#(0, 10) 0.00/0.58 R = 0.00/0.58 init(x1, x2) -> f1(rnd1, rnd2) 0.00/0.58 f2(I0, I1) -> f2(I0 + 1, I1) [0 <= I1 - 1 /\ I0 <= I1 - 1] 0.00/0.58 f2(I2, I3) -> f2(0, I2) [0 <= I3 - 1 /\ I2 <= I3 - 1] 0.00/0.58 f1(I4, I5) -> f2(0, 10) 0.00/0.58 0.00/0.58 The dependency graph for this problem is: 0.00/0.58 0 -> 3 0.00/0.58 1 -> 1, 2 0.00/0.58 2 -> 1, 2 0.00/0.58 3 -> 1, 2 0.00/0.58 Where: 0.00/0.58 0) init#(x1, x2) -> f1#(rnd1, rnd2) 0.00/0.58 1) f2#(I0, I1) -> f2#(I0 + 1, I1) [0 <= I1 - 1 /\ I0 <= I1 - 1] 0.00/0.58 2) f2#(I2, I3) -> f2#(0, I2) [0 <= I3 - 1 /\ I2 <= I3 - 1] 0.00/0.58 3) f1#(I4, I5) -> f2#(0, 10) 0.00/0.58 0.00/0.58 We have the following SCCs. 0.00/0.58 { 1, 2 } 0.00/0.58 0.00/0.58 DP problem for innermost termination. 0.00/0.58 P = 0.00/0.58 f2#(I0, I1) -> f2#(I0 + 1, I1) [0 <= I1 - 1 /\ I0 <= I1 - 1] 0.00/0.58 f2#(I2, I3) -> f2#(0, I2) [0 <= I3 - 1 /\ I2 <= I3 - 1] 0.00/0.58 R = 0.00/0.58 init(x1, x2) -> f1(rnd1, rnd2) 0.00/0.58 f2(I0, I1) -> f2(I0 + 1, I1) [0 <= I1 - 1 /\ I0 <= I1 - 1] 0.00/0.58 f2(I2, I3) -> f2(0, I2) [0 <= I3 - 1 /\ I2 <= I3 - 1] 0.00/0.58 f1(I4, I5) -> f2(0, 10) 0.00/0.58 0.00/0.58 We use the basic value criterion with the projection function NU: 0.00/0.58 NU[f2#(z1,z2)] = z2 0.00/0.58 0.00/0.58 This gives the following inequalities: 0.00/0.58 0 <= I1 - 1 /\ I0 <= I1 - 1 ==> I1 (>! \union =) I1 0.00/0.58 0 <= I3 - 1 /\ I2 <= I3 - 1 ==> I3 >! I2 0.00/0.58 0.00/0.58 We remove all the strictly oriented dependency pairs. 0.00/0.58 0.00/0.58 DP problem for innermost termination. 0.00/0.58 P = 0.00/0.58 f2#(I0, I1) -> f2#(I0 + 1, I1) [0 <= I1 - 1 /\ I0 <= I1 - 1] 0.00/0.58 R = 0.00/0.58 init(x1, x2) -> f1(rnd1, rnd2) 0.00/0.58 f2(I0, I1) -> f2(I0 + 1, I1) [0 <= I1 - 1 /\ I0 <= I1 - 1] 0.00/0.58 f2(I2, I3) -> f2(0, I2) [0 <= I3 - 1 /\ I2 <= I3 - 1] 0.00/0.58 f1(I4, I5) -> f2(0, 10) 0.00/0.58 0.00/0.58 We use the reverse value criterion with the projection function NU: 0.00/0.58 NU[f2#(z1,z2)] = z2 - 1 + -1 * z1 0.00/0.58 0.00/0.58 This gives the following inequalities: 0.00/0.58 0 <= I1 - 1 /\ I0 <= I1 - 1 ==> I1 - 1 + -1 * I0 > I1 - 1 + -1 * (I0 + 1) with I1 - 1 + -1 * I0 >= 0 0.00/0.58 0.00/0.58 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 0.00/3.56 EOF