Input TRS: 1: zeros() -> cons(0(),n__zeros()) 2: and(tt(),X) -> activate(X) 3: length(nil()) -> 0() 4: length(cons(N,L)) -> s(length(activate(L))) 5: zeros() -> n__zeros() 6: activate(n__zeros()) -> zeros() 7: activate(X) -> X Number of strict rules: 7 Direct Order(PosReal,>,Poly) ... removes: 3 2 s(x1) weight: x1 activate(x1) weight: x1 and(x1,x2) weight: (/ 1 4) + x1 + x2 n__zeros() weight: 0 zeros() weight: 0 0() weight: 0 nil() weight: 0 cons(x1,x2) weight: x1 + 2 * x2 tt() weight: 0 length(x1) weight: (/ 1 4) + x1 Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #activate(n__zeros()) -> #zeros() #2: #length(cons(N,L)) -> #length(activate(L)) #3: #length(cons(N,L)) -> #activate(L) Number of SCCs: 1, DPs: 1, edges: 1 SCC { #2 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... Order(PosReal,>,Sum-Sum; NegReal,≥,Sum)... Order(PosReal,>,MaxSum-Sum; NegReal,≥,Sum)... failed. Removing edges: failed. Finding a loop... found. #length(cons(N,n__zeros())) -#2-> #length(activate(n__zeros())) --->* #length(cons(0(),n__zeros())) Looping with: [ N := 0(); ] NO