6.24/6.56 YES 6.24/6.56 6.24/6.56 DP problem for innermost termination. 6.24/6.56 P = 6.24/6.56 f11#(x1, x2, x3, x4) -> f10#(x1, x2, x3, x4) 6.24/6.56 f10#(I0, I1, I2, I3) -> f5#(I0, 0, I2, 0) 6.24/6.56 f2#(I4, I5, I6, I7) -> f5#(I4, 1 + I5, I6, I7) 6.24/6.56 f4#(I8, I9, I10, I11) -> f7#(I8, I9, 1, I11) [I8 <= I11 /\ I11 <= I8] 6.24/6.56 f4#(I12, I13, I14, I15) -> f8#(I12, I13, I14, I15) [1 + I15 <= I12] 6.24/6.56 f4#(I16, I17, I18, I19) -> f8#(I16, I17, I18, I19) [1 + I16 <= I19] 6.24/6.56 f8#(I24, I25, I26, I27) -> f7#(I24, I25, 1, I27) [1 + I24 <= I27 /\ I27 <= 1 + I24] 6.24/6.56 f8#(I28, I29, I30, I31) -> f6#(I28, I29, I30, I31) [1 + I31 <= 1 + I28] 6.24/6.56 f8#(I32, I33, I34, I35) -> f6#(I32, I33, I34, I35) [2 + I32 <= I35] 6.24/6.56 f6#(I36, I37, I38, I39) -> f7#(I36, I37, 0, I39) 6.24/6.56 f5#(I40, I41, I42, I43) -> f3#(I40, I41, I42, I43) 6.24/6.56 f3#(I44, I45, I46, I47) -> f1#(I44, I45, I46, I47) [1 + I45 <= I44] 6.24/6.56 f3#(I48, I49, I50, I51) -> f4#(I48, I49, I50, I51) [I48 <= I49] 6.24/6.56 f1#(I52, I53, I54, I55) -> f2#(I52, I53, I54, I55) 6.24/6.56 f1#(I56, I57, I58, I59) -> f2#(I56, I57, I58, 2 + I59) 6.24/6.56 R = 6.24/6.56 f11(x1, x2, x3, x4) -> f10(x1, x2, x3, x4) 6.24/6.56 f10(I0, I1, I2, I3) -> f5(I0, 0, I2, 0) 6.24/6.56 f2(I4, I5, I6, I7) -> f5(I4, 1 + I5, I6, I7) 6.24/6.56 f4(I8, I9, I10, I11) -> f7(I8, I9, 1, I11) [I8 <= I11 /\ I11 <= I8] 6.24/6.56 f4(I12, I13, I14, I15) -> f8(I12, I13, I14, I15) [1 + I15 <= I12] 6.24/6.56 f4(I16, I17, I18, I19) -> f8(I16, I17, I18, I19) [1 + I16 <= I19] 6.24/6.56 f7(I20, I21, I22, I23) -> f9(I20, I21, I22, I23) 6.24/6.56 f8(I24, I25, I26, I27) -> f7(I24, I25, 1, I27) [1 + I24 <= I27 /\ I27 <= 1 + I24] 6.24/6.56 f8(I28, I29, I30, I31) -> f6(I28, I29, I30, I31) [1 + I31 <= 1 + I28] 6.24/6.56 f8(I32, I33, I34, I35) -> f6(I32, I33, I34, I35) [2 + I32 <= I35] 6.24/6.56 f6(I36, I37, I38, I39) -> f7(I36, I37, 0, I39) 6.24/6.56 f5(I40, I41, I42, I43) -> f3(I40, I41, I42, I43) 6.24/6.56 f3(I44, I45, I46, I47) -> f1(I44, I45, I46, I47) [1 + I45 <= I44] 6.24/6.56 f3(I48, I49, I50, I51) -> f4(I48, I49, I50, I51) [I48 <= I49] 6.24/6.56 f1(I52, I53, I54, I55) -> f2(I52, I53, I54, I55) 6.24/6.56 f1(I56, I57, I58, I59) -> f2(I56, I57, I58, 2 + I59) 6.24/6.56 6.24/6.56 The dependency graph for this problem is: 6.24/6.56 0 -> 1 6.24/6.56 1 -> 10 6.24/6.56 2 -> 10 6.24/6.56 3 -> 6.24/6.56 4 -> 7 6.24/6.56 5 -> 6, 8 6.24/6.56 6 -> 6.24/6.56 7 -> 9 6.24/6.56 8 -> 9 6.24/6.56 9 -> 6.24/6.56 10 -> 11, 12 6.24/6.56 11 -> 13, 14 6.24/6.56 12 -> 3, 4, 5 6.24/6.56 13 -> 2 6.24/6.56 14 -> 2 6.24/6.56 Where: 6.24/6.56 0) f11#(x1, x2, x3, x4) -> f10#(x1, x2, x3, x4) 6.24/6.56 1) f10#(I0, I1, I2, I3) -> f5#(I0, 0, I2, 0) 6.24/6.56 2) f2#(I4, I5, I6, I7) -> f5#(I4, 1 + I5, I6, I7) 6.24/6.56 3) f4#(I8, I9, I10, I11) -> f7#(I8, I9, 1, I11) [I8 <= I11 /\ I11 <= I8] 6.24/6.56 4) f4#(I12, I13, I14, I15) -> f8#(I12, I13, I14, I15) [1 + I15 <= I12] 6.24/6.56 5) f4#(I16, I17, I18, I19) -> f8#(I16, I17, I18, I19) [1 + I16 <= I19] 6.24/6.56 6) f8#(I24, I25, I26, I27) -> f7#(I24, I25, 1, I27) [1 + I24 <= I27 /\ I27 <= 1 + I24] 6.24/6.56 7) f8#(I28, I29, I30, I31) -> f6#(I28, I29, I30, I31) [1 + I31 <= 1 + I28] 6.24/6.56 8) f8#(I32, I33, I34, I35) -> f6#(I32, I33, I34, I35) [2 + I32 <= I35] 6.24/6.56 9) f6#(I36, I37, I38, I39) -> f7#(I36, I37, 0, I39) 6.24/6.56 10) f5#(I40, I41, I42, I43) -> f3#(I40, I41, I42, I43) 6.24/6.56 11) f3#(I44, I45, I46, I47) -> f1#(I44, I45, I46, I47) [1 + I45 <= I44] 6.24/6.56 12) f3#(I48, I49, I50, I51) -> f4#(I48, I49, I50, I51) [I48 <= I49] 6.24/6.56 13) f1#(I52, I53, I54, I55) -> f2#(I52, I53, I54, I55) 6.24/6.56 14) f1#(I56, I57, I58, I59) -> f2#(I56, I57, I58, 2 + I59) 6.24/6.56 6.24/6.56 We have the following SCCs. 6.24/6.56 { 2, 10, 11, 13, 14 } 6.24/6.56 6.24/6.56 DP problem for innermost termination. 6.24/6.56 P = 6.24/6.56 f2#(I4, I5, I6, I7) -> f5#(I4, 1 + I5, I6, I7) 6.24/6.56 f5#(I40, I41, I42, I43) -> f3#(I40, I41, I42, I43) 6.24/6.56 f3#(I44, I45, I46, I47) -> f1#(I44, I45, I46, I47) [1 + I45 <= I44] 6.24/6.56 f1#(I52, I53, I54, I55) -> f2#(I52, I53, I54, I55) 6.24/6.56 f1#(I56, I57, I58, I59) -> f2#(I56, I57, I58, 2 + I59) 6.24/6.56 R = 6.24/6.56 f11(x1, x2, x3, x4) -> f10(x1, x2, x3, x4) 6.24/6.56 f10(I0, I1, I2, I3) -> f5(I0, 0, I2, 0) 6.24/6.56 f2(I4, I5, I6, I7) -> f5(I4, 1 + I5, I6, I7) 6.24/6.56 f4(I8, I9, I10, I11) -> f7(I8, I9, 1, I11) [I8 <= I11 /\ I11 <= I8] 6.24/6.56 f4(I12, I13, I14, I15) -> f8(I12, I13, I14, I15) [1 + I15 <= I12] 6.24/6.56 f4(I16, I17, I18, I19) -> f8(I16, I17, I18, I19) [1 + I16 <= I19] 6.24/6.56 f7(I20, I21, I22, I23) -> f9(I20, I21, I22, I23) 6.24/6.56 f8(I24, I25, I26, I27) -> f7(I24, I25, 1, I27) [1 + I24 <= I27 /\ I27 <= 1 + I24] 6.24/6.56 f8(I28, I29, I30, I31) -> f6(I28, I29, I30, I31) [1 + I31 <= 1 + I28] 6.24/6.56 f8(I32, I33, I34, I35) -> f6(I32, I33, I34, I35) [2 + I32 <= I35] 6.24/6.56 f6(I36, I37, I38, I39) -> f7(I36, I37, 0, I39) 6.24/6.56 f5(I40, I41, I42, I43) -> f3(I40, I41, I42, I43) 6.24/6.56 f3(I44, I45, I46, I47) -> f1(I44, I45, I46, I47) [1 + I45 <= I44] 6.24/6.56 f3(I48, I49, I50, I51) -> f4(I48, I49, I50, I51) [I48 <= I49] 6.24/6.56 f1(I52, I53, I54, I55) -> f2(I52, I53, I54, I55) 6.24/6.56 f1(I56, I57, I58, I59) -> f2(I56, I57, I58, 2 + I59) 6.24/6.56 6.24/6.56 We use the extended value criterion with the projection function NU: 6.24/6.56 NU[f1#(x0,x1,x2,x3)] = x0 - x1 - 2 6.24/6.56 NU[f3#(x0,x1,x2,x3)] = x0 - x1 - 1 6.24/6.56 NU[f5#(x0,x1,x2,x3)] = x0 - x1 - 1 6.24/6.56 NU[f2#(x0,x1,x2,x3)] = x0 - x1 - 2 6.24/6.56 6.24/6.56 This gives the following inequalities: 6.24/6.56 ==> I4 - I5 - 2 >= I4 - (1 + I5) - 1 6.24/6.56 ==> I40 - I41 - 1 >= I40 - I41 - 1 6.24/6.56 1 + I45 <= I44 ==> I44 - I45 - 1 > I44 - I45 - 2 with I44 - I45 - 1 >= 0 6.24/6.56 ==> I52 - I53 - 2 >= I52 - I53 - 2 6.24/6.56 ==> I56 - I57 - 2 >= I56 - I57 - 2 6.24/6.56 6.24/6.56 We remove all the strictly oriented dependency pairs. 6.24/6.56 6.24/6.56 DP problem for innermost termination. 6.24/6.56 P = 6.24/6.56 f2#(I4, I5, I6, I7) -> f5#(I4, 1 + I5, I6, I7) 6.24/6.56 f5#(I40, I41, I42, I43) -> f3#(I40, I41, I42, I43) 6.24/6.56 f1#(I52, I53, I54, I55) -> f2#(I52, I53, I54, I55) 6.24/6.56 f1#(I56, I57, I58, I59) -> f2#(I56, I57, I58, 2 + I59) 6.24/6.56 R = 6.24/6.56 f11(x1, x2, x3, x4) -> f10(x1, x2, x3, x4) 6.24/6.56 f10(I0, I1, I2, I3) -> f5(I0, 0, I2, 0) 6.24/6.56 f2(I4, I5, I6, I7) -> f5(I4, 1 + I5, I6, I7) 6.24/6.56 f4(I8, I9, I10, I11) -> f7(I8, I9, 1, I11) [I8 <= I11 /\ I11 <= I8] 6.24/6.56 f4(I12, I13, I14, I15) -> f8(I12, I13, I14, I15) [1 + I15 <= I12] 6.24/6.56 f4(I16, I17, I18, I19) -> f8(I16, I17, I18, I19) [1 + I16 <= I19] 6.24/6.56 f7(I20, I21, I22, I23) -> f9(I20, I21, I22, I23) 6.24/6.56 f8(I24, I25, I26, I27) -> f7(I24, I25, 1, I27) [1 + I24 <= I27 /\ I27 <= 1 + I24] 6.24/6.56 f8(I28, I29, I30, I31) -> f6(I28, I29, I30, I31) [1 + I31 <= 1 + I28] 6.24/6.56 f8(I32, I33, I34, I35) -> f6(I32, I33, I34, I35) [2 + I32 <= I35] 6.24/6.56 f6(I36, I37, I38, I39) -> f7(I36, I37, 0, I39) 6.24/6.56 f5(I40, I41, I42, I43) -> f3(I40, I41, I42, I43) 6.24/6.56 f3(I44, I45, I46, I47) -> f1(I44, I45, I46, I47) [1 + I45 <= I44] 6.24/6.56 f3(I48, I49, I50, I51) -> f4(I48, I49, I50, I51) [I48 <= I49] 6.24/6.56 f1(I52, I53, I54, I55) -> f2(I52, I53, I54, I55) 6.24/6.56 f1(I56, I57, I58, I59) -> f2(I56, I57, I58, 2 + I59) 6.24/6.56 6.24/6.56 The dependency graph for this problem is: 6.24/6.56 2 -> 10 6.24/6.56 10 -> 6.24/6.56 13 -> 2 6.24/6.56 14 -> 2 6.24/6.56 Where: 6.24/6.56 2) f2#(I4, I5, I6, I7) -> f5#(I4, 1 + I5, I6, I7) 6.24/6.56 10) f5#(I40, I41, I42, I43) -> f3#(I40, I41, I42, I43) 6.24/6.56 13) f1#(I52, I53, I54, I55) -> f2#(I52, I53, I54, I55) 6.24/6.56 14) f1#(I56, I57, I58, I59) -> f2#(I56, I57, I58, 2 + I59) 6.24/6.56 6.24/6.56 We have the following SCCs. 6.24/6.56 6.24/9.53 EOF