1.69/1.72 MAYBE 1.69/1.72 1.69/1.72 DP problem for innermost termination. 1.69/1.72 P = 1.69/1.72 init#(x1, x2, x3, x4) -> f3#(rnd1, rnd2, rnd3, rnd4) 1.69/1.72 f5#(I0, I1, I2, I3) -> f5#(I0, I1, I2 - 1, I3) [0 <= I2 - 1] 1.69/1.72 f5#(I4, I5, I6, I7) -> f4#(I5 + 1, I4, I7, I8) [0 = I6] 1.69/1.72 f4#(I9, I10, I11, I12) -> f5#(I10, I9, I13, I11 + 1) [0 <= I11 - 1 /\ I9 <= I10 - 1 /\ -1 <= I13 - 1] 1.69/1.72 f3#(I14, I15, I16, I17) -> f4#(0, I18, 1, I19) [0 <= I14 - 1 /\ -1 <= I18 - 1 /\ -1 <= I15 - 1] 1.69/1.72 f2#(I20, I21, I22, I23) -> f2#(I24, I25, I26, I27) [0 <= I24 - 1 /\ 2 <= I20 - 1 /\ I24 <= I20] 1.69/1.72 f2#(I28, I29, I30, I31) -> f2#(I32, I33, I34, I35) [-1 <= I32 - 1 /\ 1 <= I28 - 1 /\ I32 + 2 <= I28] 1.69/1.72 f2#(I36, I37, I38, I39) -> f2#(I40, I41, I42, I43) [-1 <= I40 - 1 /\ 2 <= I36 - 1 /\ I40 + 2 <= I36] 1.69/1.72 f3#(I44, I45, I46, I47) -> f2#(I48, I49, I50, I51) [-1 <= I48 - 1 /\ 0 <= I44 - 1] 1.69/1.72 f1#(I52, I53, I54, I55) -> f2#(I56, I57, I58, I59) [-1 <= I56 - 1 /\ -1 <= I52 - 1 /\ I56 <= I52] 1.69/1.72 R = 1.69/1.72 init(x1, x2, x3, x4) -> f3(rnd1, rnd2, rnd3, rnd4) 1.69/1.72 f5(I0, I1, I2, I3) -> f5(I0, I1, I2 - 1, I3) [0 <= I2 - 1] 1.69/1.72 f5(I4, I5, I6, I7) -> f4(I5 + 1, I4, I7, I8) [0 = I6] 1.69/1.72 f4(I9, I10, I11, I12) -> f5(I10, I9, I13, I11 + 1) [0 <= I11 - 1 /\ I9 <= I10 - 1 /\ -1 <= I13 - 1] 1.69/1.72 f3(I14, I15, I16, I17) -> f4(0, I18, 1, I19) [0 <= I14 - 1 /\ -1 <= I18 - 1 /\ -1 <= I15 - 1] 1.69/1.72 f2(I20, I21, I22, I23) -> f2(I24, I25, I26, I27) [0 <= I24 - 1 /\ 2 <= I20 - 1 /\ I24 <= I20] 1.69/1.72 f2(I28, I29, I30, I31) -> f2(I32, I33, I34, I35) [-1 <= I32 - 1 /\ 1 <= I28 - 1 /\ I32 + 2 <= I28] 1.69/1.72 f2(I36, I37, I38, I39) -> f2(I40, I41, I42, I43) [-1 <= I40 - 1 /\ 2 <= I36 - 1 /\ I40 + 2 <= I36] 1.69/1.72 f3(I44, I45, I46, I47) -> f2(I48, I49, I50, I51) [-1 <= I48 - 1 /\ 0 <= I44 - 1] 1.69/1.72 f1(I52, I53, I54, I55) -> f2(I56, I57, I58, I59) [-1 <= I56 - 1 /\ -1 <= I52 - 1 /\ I56 <= I52] 1.69/1.72 1.69/1.72 The dependency graph for this problem is: 1.69/1.72 0 -> 4, 8 1.69/1.72 1 -> 1, 2 1.69/1.72 2 -> 3 1.69/1.72 3 -> 1, 2 1.69/1.72 4 -> 3 1.69/1.72 5 -> 5, 6, 7 1.69/1.72 6 -> 5, 6, 7 1.69/1.72 7 -> 5, 6, 7 1.69/1.72 8 -> 5, 6, 7 1.69/1.72 9 -> 5, 6, 7 1.69/1.72 Where: 1.69/1.72 0) init#(x1, x2, x3, x4) -> f3#(rnd1, rnd2, rnd3, rnd4) 1.69/1.72 1) f5#(I0, I1, I2, I3) -> f5#(I0, I1, I2 - 1, I3) [0 <= I2 - 1] 1.69/1.72 2) f5#(I4, I5, I6, I7) -> f4#(I5 + 1, I4, I7, I8) [0 = I6] 1.69/1.72 3) f4#(I9, I10, I11, I12) -> f5#(I10, I9, I13, I11 + 1) [0 <= I11 - 1 /\ I9 <= I10 - 1 /\ -1 <= I13 - 1] 1.69/1.72 4) f3#(I14, I15, I16, I17) -> f4#(0, I18, 1, I19) [0 <= I14 - 1 /\ -1 <= I18 - 1 /\ -1 <= I15 - 1] 1.69/1.72 5) f2#(I20, I21, I22, I23) -> f2#(I24, I25, I26, I27) [0 <= I24 - 1 /\ 2 <= I20 - 1 /\ I24 <= I20] 1.69/1.72 6) f2#(I28, I29, I30, I31) -> f2#(I32, I33, I34, I35) [-1 <= I32 - 1 /\ 1 <= I28 - 1 /\ I32 + 2 <= I28] 1.69/1.72 7) f2#(I36, I37, I38, I39) -> f2#(I40, I41, I42, I43) [-1 <= I40 - 1 /\ 2 <= I36 - 1 /\ I40 + 2 <= I36] 1.69/1.72 8) f3#(I44, I45, I46, I47) -> f2#(I48, I49, I50, I51) [-1 <= I48 - 1 /\ 0 <= I44 - 1] 1.69/1.72 9) f1#(I52, I53, I54, I55) -> f2#(I56, I57, I58, I59) [-1 <= I56 - 1 /\ -1 <= I52 - 1 /\ I56 <= I52] 1.69/1.72 1.69/1.72 We have the following SCCs. 1.69/1.72 { 1, 2, 3 } 1.69/1.72 { 5, 6, 7 } 1.69/1.72 1.69/1.72 DP problem for innermost termination. 1.69/1.72 P = 1.69/1.72 f2#(I20, I21, I22, I23) -> f2#(I24, I25, I26, I27) [0 <= I24 - 1 /\ 2 <= I20 - 1 /\ I24 <= I20] 1.69/1.72 f2#(I28, I29, I30, I31) -> f2#(I32, I33, I34, I35) [-1 <= I32 - 1 /\ 1 <= I28 - 1 /\ I32 + 2 <= I28] 1.69/1.72 f2#(I36, I37, I38, I39) -> f2#(I40, I41, I42, I43) [-1 <= I40 - 1 /\ 2 <= I36 - 1 /\ I40 + 2 <= I36] 1.69/1.72 R = 1.69/1.72 init(x1, x2, x3, x4) -> f3(rnd1, rnd2, rnd3, rnd4) 1.69/1.72 f5(I0, I1, I2, I3) -> f5(I0, I1, I2 - 1, I3) [0 <= I2 - 1] 1.69/1.72 f5(I4, I5, I6, I7) -> f4(I5 + 1, I4, I7, I8) [0 = I6] 1.69/1.72 f4(I9, I10, I11, I12) -> f5(I10, I9, I13, I11 + 1) [0 <= I11 - 1 /\ I9 <= I10 - 1 /\ -1 <= I13 - 1] 1.69/1.72 f3(I14, I15, I16, I17) -> f4(0, I18, 1, I19) [0 <= I14 - 1 /\ -1 <= I18 - 1 /\ -1 <= I15 - 1] 1.69/1.72 f2(I20, I21, I22, I23) -> f2(I24, I25, I26, I27) [0 <= I24 - 1 /\ 2 <= I20 - 1 /\ I24 <= I20] 1.69/1.72 f2(I28, I29, I30, I31) -> f2(I32, I33, I34, I35) [-1 <= I32 - 1 /\ 1 <= I28 - 1 /\ I32 + 2 <= I28] 1.69/1.72 f2(I36, I37, I38, I39) -> f2(I40, I41, I42, I43) [-1 <= I40 - 1 /\ 2 <= I36 - 1 /\ I40 + 2 <= I36] 1.69/1.72 f3(I44, I45, I46, I47) -> f2(I48, I49, I50, I51) [-1 <= I48 - 1 /\ 0 <= I44 - 1] 1.69/1.72 f1(I52, I53, I54, I55) -> f2(I56, I57, I58, I59) [-1 <= I56 - 1 /\ -1 <= I52 - 1 /\ I56 <= I52] 1.69/1.72 1.69/1.72 We use the basic value criterion with the projection function NU: 1.69/1.72 NU[f2#(z1,z2,z3,z4)] = z1 1.69/1.72 1.69/1.72 This gives the following inequalities: 1.69/1.72 0 <= I24 - 1 /\ 2 <= I20 - 1 /\ I24 <= I20 ==> I20 (>! \union =) I24 1.69/1.72 -1 <= I32 - 1 /\ 1 <= I28 - 1 /\ I32 + 2 <= I28 ==> I28 >! I32 1.69/1.72 -1 <= I40 - 1 /\ 2 <= I36 - 1 /\ I40 + 2 <= I36 ==> I36 >! I40 1.69/1.72 1.69/1.72 We remove all the strictly oriented dependency pairs. 1.69/1.72 1.69/1.72 DP problem for innermost termination. 1.69/1.72 P = 1.69/1.72 f2#(I20, I21, I22, I23) -> f2#(I24, I25, I26, I27) [0 <= I24 - 1 /\ 2 <= I20 - 1 /\ I24 <= I20] 1.69/1.72 R = 1.69/1.72 init(x1, x2, x3, x4) -> f3(rnd1, rnd2, rnd3, rnd4) 1.69/1.72 f5(I0, I1, I2, I3) -> f5(I0, I1, I2 - 1, I3) [0 <= I2 - 1] 1.69/1.72 f5(I4, I5, I6, I7) -> f4(I5 + 1, I4, I7, I8) [0 = I6] 1.69/1.72 f4(I9, I10, I11, I12) -> f5(I10, I9, I13, I11 + 1) [0 <= I11 - 1 /\ I9 <= I10 - 1 /\ -1 <= I13 - 1] 1.69/1.72 f3(I14, I15, I16, I17) -> f4(0, I18, 1, I19) [0 <= I14 - 1 /\ -1 <= I18 - 1 /\ -1 <= I15 - 1] 1.69/1.72 f2(I20, I21, I22, I23) -> f2(I24, I25, I26, I27) [0 <= I24 - 1 /\ 2 <= I20 - 1 /\ I24 <= I20] 1.69/1.72 f2(I28, I29, I30, I31) -> f2(I32, I33, I34, I35) [-1 <= I32 - 1 /\ 1 <= I28 - 1 /\ I32 + 2 <= I28] 1.69/1.72 f2(I36, I37, I38, I39) -> f2(I40, I41, I42, I43) [-1 <= I40 - 1 /\ 2 <= I36 - 1 /\ I40 + 2 <= I36] 1.69/1.72 f3(I44, I45, I46, I47) -> f2(I48, I49, I50, I51) [-1 <= I48 - 1 /\ 0 <= I44 - 1] 1.69/1.72 f1(I52, I53, I54, I55) -> f2(I56, I57, I58, I59) [-1 <= I56 - 1 /\ -1 <= I52 - 1 /\ I56 <= I52] 1.69/1.72 1.69/4.68 EOF