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