Input TRS: 1: zeros() -> cons(0(),n__zeros()) 2: U11(tt(),L) -> s(length(activate(L))) 3: and(tt(),X) -> activate(X) 4: isNat(n__0()) -> tt() 5: isNat(n__length(V1)) -> isNatList(activate(V1)) 6: isNat(n__s(V1)) -> isNat(activate(V1)) 7: isNatIList(V) -> isNatList(activate(V)) 8: isNatIList(n__zeros()) -> tt() 9: isNatIList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatIList(activate(V2))) 10: isNatList(n__nil()) -> tt() 11: isNatList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatList(activate(V2))) 12: length(nil()) -> 0() 13: length(cons(N,L)) -> U11(and(isNatList(activate(L)),n__isNat(N)),activate(L)) 14: zeros() -> n__zeros() 15: 0() -> n__0() 16: length(X) -> n__length(X) 17: s(X) -> n__s(X) 18: cons(X1,X2) -> n__cons(X1,X2) 19: isNatIList(X) -> n__isNatIList(X) 20: nil() -> n__nil() 21: isNatList(X) -> n__isNatList(X) 22: isNat(X) -> n__isNat(X) 23: activate(n__zeros()) -> zeros() 24: activate(n__0()) -> 0() 25: activate(n__length(X)) -> length(activate(X)) 26: activate(n__s(X)) -> s(activate(X)) 27: activate(n__cons(X1,X2)) -> cons(activate(X1),X2) 28: activate(n__isNatIList(X)) -> isNatIList(X) 29: activate(n__nil()) -> nil() 30: activate(n__isNatList(X)) -> isNatList(X) 31: activate(n__isNat(X)) -> isNat(X) 32: activate(X) -> X Number of strict rules: 32 Direct Order(PosReal,>,Poly) ... removes: 8 5 7 12 isNatList(x1) weight: x1 U11(x1,x2) weight: (/ 58721 4) + x1 + x2 s(x1) weight: x1 activate(x1) weight: x1 and(x1,x2) weight: x1 + x2 n__zeros() weight: 0 isNatIList(x1) weight: (/ 1 4) + 2 * x1 zeros() weight: 0 n__nil() weight: 0 n__s(x1) weight: x1 0() weight: 0 n__isNatList(x1) weight: x1 n__cons(x1,x2) weight: x1 + 2 * x2 nil() weight: 0 n__isNat(x1) weight: x1 n__0() weight: 0 n__length(x1) weight: (/ 58721 4) + x1 isNat(x1) weight: x1 cons(x1,x2) weight: x1 + 2 * x2 n__isNatIList(x1) weight: (/ 1 4) + 2 * x1 tt() weight: 0 length(x1) weight: (/ 58721 4) + x1 Number of strict rules: 28 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #U11(tt(),L) -> #s(length(activate(L))) #2: #U11(tt(),L) -> #length(activate(L)) #3: #U11(tt(),L) -> #activate(L) #4: #activate(n__nil()) -> #nil() #5: #isNat(n__s(V1)) -> #isNat(activate(V1)) #6: #isNat(n__s(V1)) -> #activate(V1) #7: #length(cons(N,L)) -> #U11(and(isNatList(activate(L)),n__isNat(N)),activate(L)) #8: #length(cons(N,L)) -> #and(isNatList(activate(L)),n__isNat(N)) #9: #length(cons(N,L)) -> #isNatList(activate(L)) #10: #length(cons(N,L)) -> #activate(L) #11: #length(cons(N,L)) -> #activate(L) #12: #isNatIList(n__cons(V1,V2)) -> #and(isNat(activate(V1)),n__isNatIList(activate(V2))) #13: #isNatIList(n__cons(V1,V2)) -> #isNat(activate(V1)) #14: #isNatIList(n__cons(V1,V2)) -> #activate(V1) #15: #isNatIList(n__cons(V1,V2)) -> #activate(V2) #16: #isNatList(n__cons(V1,V2)) -> #and(isNat(activate(V1)),n__isNatList(activate(V2))) #17: #isNatList(n__cons(V1,V2)) -> #isNat(activate(V1)) #18: #isNatList(n__cons(V1,V2)) -> #activate(V1) #19: #isNatList(n__cons(V1,V2)) -> #activate(V2) #20: #activate(n__0()) -> #0() #21: #activate(n__zeros()) -> #zeros() #22: #activate(n__isNat(X)) -> #isNat(X) #23: #activate(n__isNatList(X)) -> #isNatList(X) #24: #activate(n__length(X)) -> #length(activate(X)) #25: #activate(n__length(X)) -> #activate(X) #26: #activate(n__isNatIList(X)) -> #isNatIList(X) #27: #activate(n__cons(X1,X2)) -> #cons(activate(X1),X2) #28: #activate(n__cons(X1,X2)) -> #activate(X1) #29: #activate(n__s(X)) -> #s(activate(X)) #30: #activate(n__s(X)) -> #activate(X) #31: #and(tt(),X) -> #activate(X) #32: #zeros() -> #cons(0(),n__zeros()) #33: #zeros() -> #0() Number of SCCs: 1, DPs: 25, edges: 119 SCC { #2 #3 #5..19 #22..26 #28 #30 #31 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #0() weight: 0 isNatList(x1) weight: (/ 1 4) + x1 U11(x1,x2) weight: (/ 1 2) + x2 #cons(x1,x2) weight: 0 s(x1) weight: x1 #isNat(x1) weight: (/ 1 8) + x1 activate(x1) weight: x1 and(x1,x2) weight: x2 n__zeros() weight: 0 isNatIList(x1) weight: (/ 1 4) + x1 #activate(x1) weight: x1 zeros() weight: 0 n__nil() weight: 0 n__s(x1) weight: x1 0() weight: 0 #zeros() weight: 0 n__isNatList(x1) weight: (/ 1 4) + x1 #isNatList(x1) weight: (/ 1 4) + x1 #s(x1) weight: 0 n__cons(x1,x2) weight: x1 + x2 nil() weight: 0 n__isNat(x1) weight: (/ 1 4) + x1 #nil() weight: 0 n__0() weight: 0 n__length(x1) weight: (/ 1 2) + x1 isNat(x1) weight: (/ 1 4) + x1 #U11(x1,x2) weight: (/ 3 8) + x2 cons(x1,x2) weight: x1 + x2 n__isNatIList(x1) weight: (/ 1 4) + x1 #isNatIList(x1) weight: (/ 1 4) + x1 tt() weight: 0 length(x1) weight: (/ 1 2) + x1 #length(x1) weight: (/ 3 8) + x1 #and(x1,x2) weight: x2 Usable rules: { 1..4 6 9..11 13..32 } Removed DPs: #3 #6 #8..11 #13..15 #17..19 #22 #24 #25 Number of SCCs: 3, DPs: 10, edges: 19 SCC { #5 } 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)... succeeded. #0() weight: 0; 0 isNatList(x1) weight: (max (/ 1 8) 0); x1_2 U11(x1,x2) weight: max{0, (/ 5 16) + x2_1 + x1_2}; (- (/ 1 16)) + x1_2 #cons(x1,x2) weight: 0; 0 s(x1) weight: max{0, (/ 1 4) + x1_1}; (- (/ 1 16)) #isNat(x1) weight: max{0, (- (/ 3 16)) + x1_1}; 0 activate(x1) weight: max{0, (/ 1 8) + x1_1}; x1_2 and(x1,x2) weight: max{0, (/ 1 8) + x2_1}; x2_2 + x1_2 n__zeros() weight: (/ 1 16); (- (/ 3 8)) isNatIList(x1) weight: (max (/ 1 8) 0); (- (/ 1 16)) #activate(x1) weight: 0; 0 zeros() weight: (/ 3 16); (- (/ 3 8)) n__nil() weight: (/ 1 16); 0 n__s(x1) weight: max{0, (/ 1 4) + x1_1}; (- (/ 1 16)) 0() weight: (/ 1 16); (- (/ 1 16)) #zeros() weight: 0; 0 n__isNatList(x1) weight: max{0, (- (/ 1 8)) + x1_2}; x1_2 #isNatList(x1) weight: 0; 0 #s(x1) weight: 0; 0 n__cons(x1,x2) weight: max{0, (/ 3 8) + x2_1 + x2_2}; x2_2 nil() weight: (/ 1 16); 0 n__isNat(x1) weight: max{0, (- (/ 1 16)) + x1_1}; 0 #nil() weight: 0; 0 n__0() weight: (/ 1 16); (- (/ 1 16)) n__length(x1) weight: max{0, (- (/ 1 16)) + x1_1}; (- (/ 1 16)) + x1_2 isNat(x1) weight: max{0, (/ 1 16) + x1_1}; 0 #U11(x1,x2) weight: 0; 0 cons(x1,x2) weight: max{0, (/ 1 2) + x2_1 + x2_2}; x2_2 n__isNatIList(x1) weight: 0; (- (/ 1 16)) #isNatIList(x1) weight: 0; 0 tt() weight: (/ 1 16); 0 length(x1) weight: max{0, (- (/ 1 16)) + x1_1}; (- (/ 1 16)) + x1_2 #length(x1) weight: 0; 0 #and(x1,x2) weight: 0; 0 Usable rules: { 1..4 6 9..11 13..32 } Removed DPs: #5 Number of SCCs: 2, DPs: 9, edges: 18 SCC { #2 #7 } 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)... succeeded. #0() weight: 0; 0 isNatList(x1) weight: (max (/ 9 32) 0); x1_2 U11(x1,x2) weight: max{0, (- (/ 1 32)) + x2_2}; x2_2 + x1_2 #cons(x1,x2) weight: 0; 0 s(x1) weight: max{0, (- (/ 1 32)) + x1_2}; (- (/ 1 32)) + x1_2 #isNat(x1) weight: 0; 0 activate(x1) weight: max{0, (/ 3 32) + x1_1}; x1_2 and(x1,x2) weight: max{0, (- (/ 3 16)) + x2_1 + x1_1}; x2_2 + x1_2 n__zeros() weight: (/ 1 32); (- (/ 1 4)) isNatIList(x1) weight: (max (/ 3 32) 0); 0 #activate(x1) weight: 0; 0 zeros() weight: (/ 1 8); (- (/ 1 4)) n__nil() weight: (/ 1 32); 0 n__s(x1) weight: max{0, (- (/ 1 32)) + x1_2}; (- (/ 1 32)) + x1_2 0() weight: (/ 1 32); (- (/ 1 32)) #zeros() weight: 0; 0 n__isNatList(x1) weight: (max (/ 3 16) 0); x1_2 #isNatList(x1) weight: 0; 0 #s(x1) weight: 0; 0 n__cons(x1,x2) weight: max{0, (/ 1 4) + x2_1 + x2_2}; x2_2 nil() weight: (/ 1 32); 0 n__isNat(x1) weight: (max (/ 9 32) 0); 0 #nil() weight: 0; 0 n__0() weight: (/ 1 32); (- (/ 1 32)) n__length(x1) weight: (max (- (/ 1 32)) 0); x1_2 isNat(x1) weight: (max (/ 9 32) 0); 0 #U11(x1,x2) weight: max{0, (- (/ 7 32)) + x2_1 + x1_1 + x1_2}; x1_2 cons(x1,x2) weight: max{0, (/ 11 32) + x2_1 + x2_2}; x2_2 n__isNatIList(x1) weight: 0; 0 #isNatIList(x1) weight: 0; 0 tt() weight: (/ 9 32); 0 length(x1) weight: (max (- (/ 1 32)) 0); x1_2 #length(x1) weight: max{0, (- (/ 1 16)) + x1_1}; 0 #and(x1,x2) weight: 0; 0 Usable rules: { 1..4 6 9..11 13..32 } Removed DPs: #2 Number of SCCs: 1, DPs: 7, edges: 16 SCC { #12 #16 #23 #26 #28 #30 #31 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #0() weight: 0 isNatList(x1) weight: (/ 1 8) U11(x1,x2) weight: (/ 5 8) #cons(x1,x2) weight: 0 s(x1) weight: (/ 3 4) #isNat(x1) weight: (/ 1 8) activate(x1) weight: (/ 3 8) and(x1,x2) weight: (/ 1 4) n__zeros() weight: 0 isNatIList(x1) weight: 0 #activate(x1) weight: x1 zeros() weight: 0 n__nil() weight: 0 n__s(x1) weight: (/ 7 8) + x1 0() weight: 0 #zeros() weight: 0 n__isNatList(x1) weight: (/ 1 4) #isNatList(x1) weight: (/ 1 4) #s(x1) weight: 0 n__cons(x1,x2) weight: (/ 1 4) + x1 nil() weight: 0 n__isNat(x1) weight: (/ 5 8) #nil() weight: 0 n__0() weight: 0 n__length(x1) weight: (/ 5 8) isNat(x1) weight: (/ 1 2) #U11(x1,x2) weight: (/ 3 8) cons(x1,x2) weight: (/ 1 8) + x1 n__isNatIList(x1) weight: (/ 1 8) #isNatIList(x1) weight: (/ 1 8) tt() weight: 0 length(x1) weight: (/ 1 2) #length(x1) weight: (/ 1 4) #and(x1,x2) weight: x2 Usable rules: { } Removed DPs: #28 #30 Number of SCCs: 1, DPs: 5, edges: 6 SCC { #12 #16 #23 #26 #31 } 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... failed. MAYBE