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