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