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