1.12/1.58 MAYBE 1.12/1.58 1.12/1.58 DP problem for innermost termination. 1.12/1.58 P = 1.12/1.58 f5#(x1) -> f4#(x1) 1.12/1.58 f4#(I0) -> f1#(300) 1.12/1.58 f3#(I1) -> f1#(I1) 1.12/1.58 f2#(I2) -> f3#(I2) [101 <= I2] 1.12/1.58 f2#(I3) -> f3#(I3) [1 + I3 <= 100] 1.12/1.58 f1#(I4) -> f2#(-1 + I4) 1.12/1.58 R = 1.12/1.58 f5(x1) -> f4(x1) 1.12/1.58 f4(I0) -> f1(300) 1.12/1.58 f3(I1) -> f1(I1) 1.12/1.58 f2(I2) -> f3(I2) [101 <= I2] 1.12/1.58 f2(I3) -> f3(I3) [1 + I3 <= 100] 1.12/1.58 f1(I4) -> f2(-1 + I4) 1.12/1.58 1.12/1.58 The dependency graph for this problem is: 1.12/1.58 0 -> 1 1.12/1.58 1 -> 5 1.12/1.58 2 -> 5 1.12/1.58 3 -> 2 1.12/1.58 4 -> 2 1.12/1.58 5 -> 3, 4 1.12/1.58 Where: 1.12/1.58 0) f5#(x1) -> f4#(x1) 1.12/1.58 1) f4#(I0) -> f1#(300) 1.12/1.58 2) f3#(I1) -> f1#(I1) 1.12/1.58 3) f2#(I2) -> f3#(I2) [101 <= I2] 1.12/1.58 4) f2#(I3) -> f3#(I3) [1 + I3 <= 100] 1.12/1.58 5) f1#(I4) -> f2#(-1 + I4) 1.12/1.58 1.12/1.58 We have the following SCCs. 1.12/1.58 { 2, 3, 4, 5 } 1.12/1.58 1.12/1.58 DP problem for innermost termination. 1.12/1.58 P = 1.12/1.58 f3#(I1) -> f1#(I1) 1.12/1.58 f2#(I2) -> f3#(I2) [101 <= I2] 1.12/1.58 f2#(I3) -> f3#(I3) [1 + I3 <= 100] 1.12/1.58 f1#(I4) -> f2#(-1 + I4) 1.12/1.58 R = 1.12/1.58 f5(x1) -> f4(x1) 1.12/1.58 f4(I0) -> f1(300) 1.12/1.58 f3(I1) -> f1(I1) 1.12/1.58 f2(I2) -> f3(I2) [101 <= I2] 1.12/1.58 f2(I3) -> f3(I3) [1 + I3 <= 100] 1.12/1.58 f1(I4) -> f2(-1 + I4) 1.12/1.58 1.12/1.58 We use the extended value criterion with the projection function NU: 1.12/1.58 NU[f2#(x0)] = x0 1.12/1.58 NU[f1#(x0)] = x0 - 1 1.12/1.58 NU[f3#(x0)] = x0 - 1 1.12/1.58 1.12/1.58 This gives the following inequalities: 1.12/1.58 ==> I1 - 1 >= I1 - 1 1.12/1.58 101 <= I2 ==> I2 > I2 - 1 with I2 >= 0 1.12/1.58 1 + I3 <= 100 ==> I3 >= I3 - 1 1.12/1.58 ==> I4 - 1 >= (-1 + I4) 1.12/1.58 1.12/1.58 We remove all the strictly oriented dependency pairs. 1.12/1.58 1.12/1.58 DP problem for innermost termination. 1.12/1.58 P = 1.12/1.58 f3#(I1) -> f1#(I1) 1.12/1.58 f2#(I3) -> f3#(I3) [1 + I3 <= 100] 1.12/1.58 f1#(I4) -> f2#(-1 + I4) 1.12/1.58 R = 1.12/1.58 f5(x1) -> f4(x1) 1.12/1.58 f4(I0) -> f1(300) 1.12/1.58 f3(I1) -> f1(I1) 1.12/1.58 f2(I2) -> f3(I2) [101 <= I2] 1.12/1.58 f2(I3) -> f3(I3) [1 + I3 <= 100] 1.12/1.58 f1(I4) -> f2(-1 + I4) 1.12/1.58 1.12/4.56 EOF