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