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