1.68/1.69 YES 1.68/1.69 1.68/1.69 DP problem for innermost termination. 1.68/1.69 P = 1.68/1.69 init#(x1, x2, x3) -> f1#(rnd1, rnd2, rnd3) 1.68/1.69 f4#(I0, I1, I2) -> f4#(I0 - 1, I3, I4) [I0 - 1 <= I0 - 1 /\ 0 <= I0 - 1] 1.68/1.69 f3#(I5, I6, I7) -> f3#(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 f3#(I8, I9, I10) -> f4#(I9, I11, I12) [I9 = I10 /\ 0 <= I9 - 1 /\ I9 <= 99] 1.68/1.69 f3#(I13, I14, I15) -> f4#(I14, I16, I17) [I14 = I15 /\ I14 <= 99 /\ 0 <= I14 - 1] 1.68/1.69 f3#(I18, I19, I20) -> f2#(I18 - 1, I21, I22) [I19 = I20 /\ 99 <= I19 - 1 /\ 0 <= I18 - 1 /\ I18 - 1 <= I18 - 1] 1.68/1.69 f2#(I23, I24, I25) -> f3#(I23, I23, I23) 1.68/1.69 f1#(I26, I27, I28) -> f2#(I27, I29, I30) [-1 <= I27 - 1 /\ 0 <= I26 - 1] 1.68/1.69 R = 1.68/1.69 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 1.68/1.69 f4(I0, I1, I2) -> f4(I0 - 1, I3, I4) [I0 - 1 <= I0 - 1 /\ 0 <= I0 - 1] 1.68/1.69 f3(I5, I6, I7) -> f3(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 f3(I8, I9, I10) -> f4(I9, I11, I12) [I9 = I10 /\ 0 <= I9 - 1 /\ I9 <= 99] 1.68/1.69 f3(I13, I14, I15) -> f4(I14, I16, I17) [I14 = I15 /\ I14 <= 99 /\ 0 <= I14 - 1] 1.68/1.69 f3(I18, I19, I20) -> f2(I18 - 1, I21, I22) [I19 = I20 /\ 99 <= I19 - 1 /\ 0 <= I18 - 1 /\ I18 - 1 <= I18 - 1] 1.68/1.69 f2(I23, I24, I25) -> f3(I23, I23, I23) 1.68/1.69 f1(I26, I27, I28) -> f2(I27, I29, I30) [-1 <= I27 - 1 /\ 0 <= I26 - 1] 1.68/1.69 1.68/1.69 The dependency graph for this problem is: 1.68/1.69 0 -> 7 1.68/1.69 1 -> 1 1.68/1.69 2 -> 2, 3, 4, 5 1.68/1.69 3 -> 1 1.68/1.69 4 -> 1 1.68/1.69 5 -> 6 1.68/1.69 6 -> 2, 3, 4, 5 1.68/1.69 7 -> 6 1.68/1.69 Where: 1.68/1.69 0) init#(x1, x2, x3) -> f1#(rnd1, rnd2, rnd3) 1.68/1.69 1) f4#(I0, I1, I2) -> f4#(I0 - 1, I3, I4) [I0 - 1 <= I0 - 1 /\ 0 <= I0 - 1] 1.68/1.69 2) f3#(I5, I6, I7) -> f3#(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 3) f3#(I8, I9, I10) -> f4#(I9, I11, I12) [I9 = I10 /\ 0 <= I9 - 1 /\ I9 <= 99] 1.68/1.69 4) f3#(I13, I14, I15) -> f4#(I14, I16, I17) [I14 = I15 /\ I14 <= 99 /\ 0 <= I14 - 1] 1.68/1.69 5) f3#(I18, I19, I20) -> f2#(I18 - 1, I21, I22) [I19 = I20 /\ 99 <= I19 - 1 /\ 0 <= I18 - 1 /\ I18 - 1 <= I18 - 1] 1.68/1.69 6) f2#(I23, I24, I25) -> f3#(I23, I23, I23) 1.68/1.69 7) f1#(I26, I27, I28) -> f2#(I27, I29, I30) [-1 <= I27 - 1 /\ 0 <= I26 - 1] 1.68/1.69 1.68/1.69 We have the following SCCs. 1.68/1.69 { 2, 5, 6 } 1.68/1.69 { 1 } 1.68/1.69 1.68/1.69 DP problem for innermost termination. 1.68/1.69 P = 1.68/1.69 f4#(I0, I1, I2) -> f4#(I0 - 1, I3, I4) [I0 - 1 <= I0 - 1 /\ 0 <= I0 - 1] 1.68/1.69 R = 1.68/1.69 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 1.68/1.69 f4(I0, I1, I2) -> f4(I0 - 1, I3, I4) [I0 - 1 <= I0 - 1 /\ 0 <= I0 - 1] 1.68/1.69 f3(I5, I6, I7) -> f3(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 f3(I8, I9, I10) -> f4(I9, I11, I12) [I9 = I10 /\ 0 <= I9 - 1 /\ I9 <= 99] 1.68/1.69 f3(I13, I14, I15) -> f4(I14, I16, I17) [I14 = I15 /\ I14 <= 99 /\ 0 <= I14 - 1] 1.68/1.69 f3(I18, I19, I20) -> f2(I18 - 1, I21, I22) [I19 = I20 /\ 99 <= I19 - 1 /\ 0 <= I18 - 1 /\ I18 - 1 <= I18 - 1] 1.68/1.69 f2(I23, I24, I25) -> f3(I23, I23, I23) 1.68/1.69 f1(I26, I27, I28) -> f2(I27, I29, I30) [-1 <= I27 - 1 /\ 0 <= I26 - 1] 1.68/1.69 1.68/1.69 We use the basic value criterion with the projection function NU: 1.68/1.69 NU[f4#(z1,z2,z3)] = z1 1.68/1.69 1.68/1.69 This gives the following inequalities: 1.68/1.69 I0 - 1 <= I0 - 1 /\ 0 <= I0 - 1 ==> I0 >! I0 - 1 1.68/1.69 1.68/1.69 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 1.68/1.69 1.68/1.69 DP problem for innermost termination. 1.68/1.69 P = 1.68/1.69 f3#(I5, I6, I7) -> f3#(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 f3#(I18, I19, I20) -> f2#(I18 - 1, I21, I22) [I19 = I20 /\ 99 <= I19 - 1 /\ 0 <= I18 - 1 /\ I18 - 1 <= I18 - 1] 1.68/1.69 f2#(I23, I24, I25) -> f3#(I23, I23, I23) 1.68/1.69 R = 1.68/1.69 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 1.68/1.69 f4(I0, I1, I2) -> f4(I0 - 1, I3, I4) [I0 - 1 <= I0 - 1 /\ 0 <= I0 - 1] 1.68/1.69 f3(I5, I6, I7) -> f3(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 f3(I8, I9, I10) -> f4(I9, I11, I12) [I9 = I10 /\ 0 <= I9 - 1 /\ I9 <= 99] 1.68/1.69 f3(I13, I14, I15) -> f4(I14, I16, I17) [I14 = I15 /\ I14 <= 99 /\ 0 <= I14 - 1] 1.68/1.69 f3(I18, I19, I20) -> f2(I18 - 1, I21, I22) [I19 = I20 /\ 99 <= I19 - 1 /\ 0 <= I18 - 1 /\ I18 - 1 <= I18 - 1] 1.68/1.69 f2(I23, I24, I25) -> f3(I23, I23, I23) 1.68/1.69 f1(I26, I27, I28) -> f2(I27, I29, I30) [-1 <= I27 - 1 /\ 0 <= I26 - 1] 1.68/1.69 1.68/1.69 We use the basic value criterion with the projection function NU: 1.68/1.69 NU[f2#(z1,z2,z3)] = z1 1.68/1.69 NU[f3#(z1,z2,z3)] = z1 1.68/1.69 1.68/1.69 This gives the following inequalities: 1.68/1.69 I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99 ==> I5 (>! \union =) I5 1.68/1.69 I19 = I20 /\ 99 <= I19 - 1 /\ 0 <= I18 - 1 /\ I18 - 1 <= I18 - 1 ==> I18 >! I18 - 1 1.68/1.69 ==> I23 (>! \union =) I23 1.68/1.69 1.68/1.69 We remove all the strictly oriented dependency pairs. 1.68/1.69 1.68/1.69 DP problem for innermost termination. 1.68/1.69 P = 1.68/1.69 f3#(I5, I6, I7) -> f3#(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 f2#(I23, I24, I25) -> f3#(I23, I23, I23) 1.68/1.69 R = 1.68/1.69 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 1.68/1.69 f4(I0, I1, I2) -> f4(I0 - 1, I3, I4) [I0 - 1 <= I0 - 1 /\ 0 <= I0 - 1] 1.68/1.69 f3(I5, I6, I7) -> f3(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 f3(I8, I9, I10) -> f4(I9, I11, I12) [I9 = I10 /\ 0 <= I9 - 1 /\ I9 <= 99] 1.68/1.69 f3(I13, I14, I15) -> f4(I14, I16, I17) [I14 = I15 /\ I14 <= 99 /\ 0 <= I14 - 1] 1.68/1.69 f3(I18, I19, I20) -> f2(I18 - 1, I21, I22) [I19 = I20 /\ 99 <= I19 - 1 /\ 0 <= I18 - 1 /\ I18 - 1 <= I18 - 1] 1.68/1.69 f2(I23, I24, I25) -> f3(I23, I23, I23) 1.68/1.69 f1(I26, I27, I28) -> f2(I27, I29, I30) [-1 <= I27 - 1 /\ 0 <= I26 - 1] 1.68/1.69 1.68/1.69 The dependency graph for this problem is: 1.68/1.69 2 -> 2 1.68/1.69 6 -> 2 1.68/1.69 Where: 1.68/1.69 2) f3#(I5, I6, I7) -> f3#(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 6) f2#(I23, I24, I25) -> f3#(I23, I23, I23) 1.68/1.69 1.68/1.69 We have the following SCCs. 1.68/1.69 { 2 } 1.68/1.69 1.68/1.69 DP problem for innermost termination. 1.68/1.69 P = 1.68/1.69 f3#(I5, I6, I7) -> f3#(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 R = 1.68/1.69 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 1.68/1.69 f4(I0, I1, I2) -> f4(I0 - 1, I3, I4) [I0 - 1 <= I0 - 1 /\ 0 <= I0 - 1] 1.68/1.69 f3(I5, I6, I7) -> f3(I5, I6 + 1, I6 + 1) [I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99] 1.68/1.69 f3(I8, I9, I10) -> f4(I9, I11, I12) [I9 = I10 /\ 0 <= I9 - 1 /\ I9 <= 99] 1.68/1.69 f3(I13, I14, I15) -> f4(I14, I16, I17) [I14 = I15 /\ I14 <= 99 /\ 0 <= I14 - 1] 1.68/1.69 f3(I18, I19, I20) -> f2(I18 - 1, I21, I22) [I19 = I20 /\ 99 <= I19 - 1 /\ 0 <= I18 - 1 /\ I18 - 1 <= I18 - 1] 1.68/1.69 f2(I23, I24, I25) -> f3(I23, I23, I23) 1.68/1.69 f1(I26, I27, I28) -> f2(I27, I29, I30) [-1 <= I27 - 1 /\ 0 <= I26 - 1] 1.68/1.69 1.68/1.69 We use the reverse value criterion with the projection function NU: 1.68/1.69 NU[f3#(z1,z2,z3)] = 99 + -1 * z2 1.68/1.69 1.68/1.69 This gives the following inequalities: 1.68/1.69 I6 = I7 /\ 0 <= I6 - 1 /\ I6 <= 99 ==> 99 + -1 * I6 > 99 + -1 * (I6 + 1) with 99 + -1 * I6 >= 0 1.68/1.69 1.68/1.69 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 1.68/4.67 EOF