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