0.00/0.24 YES 0.00/0.24 0.00/0.24 DP problem for innermost termination. 0.00/0.24 P = 0.00/0.24 if#(true, x, y) -> div#(x - y, y) 0.00/0.24 div#(I0, I1) -> if#(I0 >= I1 && I1 > 0, I0, I1) 0.00/0.24 R = 0.00/0.24 if(true, x, y) -> div(x - y, y) + 1 0.00/0.24 div(I0, I1) -> if(I0 >= I1 && I1 > 0, I0, I1) 0.00/0.24 0.00/0.24 This problem is converted using chaining, where edges between chained DPs are removed. 0.00/0.24 0.00/0.24 DP problem for innermost termination. 0.00/0.24 P = 0.00/0.24 if#(true, x, y) -> div#(x - y, y) 0.00/0.24 div#(I0, I1) -> if#(I0 >= I1 && I1 > 0, I0, I1) 0.00/0.24 div#(I0, I1) -> div#(I0 - I1, I1) [I0 >= I1 && I1 > 0] 0.00/0.24 R = 0.00/0.24 if(true, x, y) -> div(x - y, y) + 1 0.00/0.24 div(I0, I1) -> if(I0 >= I1 && I1 > 0, I0, I1) 0.00/0.24 0.00/0.24 The dependency graph for this problem is: 0.00/0.24 0 -> 2, 1 0.00/0.24 1 -> 0.00/0.24 2 -> 2, 1 0.00/0.24 Where: 0.00/0.24 0) if#(true, x, y) -> div#(x - y, y) 0.00/0.24 1) div#(I0, I1) -> if#(I0 >= I1 && I1 > 0, I0, I1) 0.00/0.24 2) div#(I0, I1) -> div#(I0 - I1, I1) [I0 >= I1 && I1 > 0] 0.00/0.24 0.00/0.24 We have the following SCCs. 0.00/0.24 { 2 } 0.00/0.24 0.00/0.24 DP problem for innermost termination. 0.00/0.24 P = 0.00/0.24 div#(I0, I1) -> div#(I0 - I1, I1) [I0 >= I1 && I1 > 0] 0.00/0.24 R = 0.00/0.24 if(true, x, y) -> div(x - y, y) + 1 0.00/0.24 div(I0, I1) -> if(I0 >= I1 && I1 > 0, I0, I1) 0.00/0.24 0.00/0.24 We use the reverse value criterion with the projection function NU: 0.00/0.24 NU[div#(z1,z2)] = z1 0.00/0.24 0.00/0.24 This gives the following inequalities: 0.00/0.24 I0 >= I1 && I1 > 0 ==> I0 > I0 - I1 with I0 >= 0 0.00/0.24 0.00/0.24 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 0.00/3.23 EOF