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