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