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