Input TRS: 1: half(0()) -> 0() 2: half(s(0())) -> 0() 3: half(s(s(x))) -> s(half(x)) 4: inc(0()) -> 0() 5: inc(s(x)) -> s(inc(x)) 6: zero(0()) -> true() 7: zero(s(x)) -> false() 8: p(0()) -> 0() 9: p(s(x)) -> x 10: bits(x) -> bitIter(x,0()) 11: bitIter(x,y) -> if(zero(x),x,inc(y)) 12: if(true(),x,y) -> p(y) 13: if(false(),x,y) -> bitIter(half(x),y) Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #if(false(),x,y) -> #bitIter(half(x),y) #2: #if(false(),x,y) -> #half(x) #3: #bitIter(x,y) -> #if(zero(x),x,inc(y)) #4: #bitIter(x,y) -> #zero(x) #5: #bitIter(x,y) -> #inc(y) #6: #if(true(),x,y) -> #p(y) #7: #bits(x) -> #bitIter(x,0()) #8: #inc(s(x)) -> #inc(x) #9: #half(s(s(x))) -> #half(x) Number of SCCs: 3, DPs: 4, edges: 4 SCC { #8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zero(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 bitIter(x1,x2) weight: 0 false() weight: 0 #half(x1) weight: 0 #inc(x1) weight: x1 #p(x1) weight: 0 inc(x1) weight: 0 true() weight: 0 half(x1) weight: 0 p(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 #bits(x1) weight: 0 #bitIter(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 #zero(x1) weight: 0 bits(x1) weight: 0 Usable rules: { } Removed DPs: #8 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zero(x1) weight: 0 s(x1) weight: (/ 1 4) + x1 bitIter(x1,x2) weight: 0 false() weight: 0 #half(x1) weight: x1 #inc(x1) weight: 0 #p(x1) weight: 0 inc(x1) weight: 0 true() weight: 0 half(x1) weight: 0 p(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 #bits(x1) weight: 0 #bitIter(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 #zero(x1) weight: 0 bits(x1) weight: 0 Usable rules: { } Removed DPs: #9 Number of SCCs: 1, DPs: 2, edges: 2 SCC { #1 #3 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. zero(x1) weight: max{0, (- (/ 1 2)) + x1} s(x1) weight: max{0, (/ 3 4) + x1} bitIter(x1,x2) weight: 0 false() weight: (/ 1 4) #half(x1) weight: 0 #inc(x1) weight: 0 #p(x1) weight: 0 inc(x1) weight: (max (- (/ 1 4)) 0) true() weight: 0 half(x1) weight: max{0, (- (/ 1 4)) + x1} p(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 #bits(x1) weight: 0 #bitIter(x1,x2) weight: max{0, (- (/ 1 4)) + x1} #if(x1,x2,x3) weight: max{0, x1, (- (/ 1 4)) + x2} #zero(x1) weight: 0 bits(x1) weight: 0 Usable rules: { 1..3 6 7 } Removed DPs: #1 Number of SCCs: 0, DPs: 0, edges: 0 YES