Input TRS: 1: zeros() -> cons(0(),n__zeros()) 2: U11(tt(),L) -> s(length(activate(L))) 3: U21(tt()) -> nil() 4: U31(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL))) 5: and(tt(),X) -> activate(X) 6: isNat(n__0()) -> tt() 7: isNat(n__length(V1)) -> isNatList(activate(V1)) 8: isNat(n__s(V1)) -> isNat(activate(V1)) 9: isNatIList(V) -> isNatList(activate(V)) 10: isNatIList(n__zeros()) -> tt() 11: isNatIList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatIList(activate(V2))) 12: isNatList(n__nil()) -> tt() 13: isNatList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatList(activate(V2))) 14: isNatList(n__take(V1,V2)) -> and(isNat(activate(V1)),n__isNatIList(activate(V2))) 15: length(nil()) -> 0() 16: length(cons(N,L)) -> U11(and(isNatList(activate(L)),n__isNat(N)),activate(L)) 17: take(0(),IL) -> U21(isNatIList(IL)) 18: take(s(M),cons(N,IL)) -> U31(and(isNatIList(activate(IL)),n__and(isNat(M),n__isNat(N))),activate(IL),M,N) 19: zeros() -> n__zeros() 20: take(X1,X2) -> n__take(X1,X2) 21: 0() -> n__0() 22: length(X) -> n__length(X) 23: s(X) -> n__s(X) 24: cons(X1,X2) -> n__cons(X1,X2) 25: isNatIList(X) -> n__isNatIList(X) 26: nil() -> n__nil() 27: isNatList(X) -> n__isNatList(X) 28: isNat(X) -> n__isNat(X) 29: and(X1,X2) -> n__and(X1,X2) 30: activate(n__zeros()) -> zeros() 31: activate(n__take(X1,X2)) -> take(X1,X2) 32: activate(n__0()) -> 0() 33: activate(n__length(X)) -> length(X) 34: activate(n__s(X)) -> s(X) 35: activate(n__cons(X1,X2)) -> cons(X1,X2) 36: activate(n__isNatIList(X)) -> isNatIList(X) 37: activate(n__nil()) -> nil() 38: activate(n__isNatList(X)) -> isNatList(X) 39: activate(n__isNat(X)) -> isNat(X) 40: activate(n__and(X1,X2)) -> and(X1,X2) 41: activate(X) -> X Number of strict rules: 41 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__cons(X1,X2)) -> #cons(X1,X2) #5: #activate(n__nil()) -> #nil() #6: #activate(n__isNatList(X)) -> #isNatList(X) #7: #activate(n__and(X1,X2)) -> #and(X1,X2) #8: #isNatList(n__cons(V1,V2)) -> #and(isNat(activate(V1)),n__isNatList(activate(V2))) #9: #isNatList(n__cons(V1,V2)) -> #isNat(activate(V1)) #10: #isNatList(n__cons(V1,V2)) -> #activate(V1) #11: #isNatList(n__cons(V1,V2)) -> #activate(V2) #12: #isNatIList(V) -> #isNatList(activate(V)) #13: #isNatIList(V) -> #activate(V) #14: #isNatIList(n__cons(V1,V2)) -> #and(isNat(activate(V1)),n__isNatIList(activate(V2))) #15: #isNatIList(n__cons(V1,V2)) -> #isNat(activate(V1)) #16: #isNatIList(n__cons(V1,V2)) -> #activate(V1) #17: #isNatIList(n__cons(V1,V2)) -> #activate(V2) #18: #activate(n__take(X1,X2)) -> #take(X1,X2) #19: #isNatList(n__take(V1,V2)) -> #and(isNat(activate(V1)),n__isNatIList(activate(V2))) #20: #isNatList(n__take(V1,V2)) -> #isNat(activate(V1)) #21: #isNatList(n__take(V1,V2)) -> #activate(V1) #22: #isNatList(n__take(V1,V2)) -> #activate(V2) #23: #activate(n__zeros()) -> #zeros() #24: #isNat(n__length(V1)) -> #isNatList(activate(V1)) #25: #isNat(n__length(V1)) -> #activate(V1) #26: #activate(n__isNat(X)) -> #isNat(X) #27: #activate(n__length(X)) -> #length(X) #28: #and(tt(),X) -> #activate(X) #29: #activate(n__s(X)) -> #s(X) #30: #take(0(),IL) -> #U21(isNatIList(IL)) #31: #take(0(),IL) -> #isNatIList(IL) #32: #activate(n__0()) -> #0() #33: #activate(n__isNatIList(X)) -> #isNatIList(X) #34: #length(cons(N,L)) -> #U11(and(isNatList(activate(L)),n__isNat(N)),activate(L)) #35: #length(cons(N,L)) -> #and(isNatList(activate(L)),n__isNat(N)) #36: #length(cons(N,L)) -> #isNatList(activate(L)) #37: #length(cons(N,L)) -> #activate(L) #38: #length(cons(N,L)) -> #activate(L) #39: #U21(tt()) -> #nil() #40: #zeros() -> #cons(0(),n__zeros()) #41: #zeros() -> #0() #42: #isNat(n__s(V1)) -> #isNat(activate(V1)) #43: #isNat(n__s(V1)) -> #activate(V1) #44: #length(nil()) -> #0() #45: #U31(tt(),IL,M,N) -> #cons(activate(N),n__take(activate(M),activate(IL))) #46: #U31(tt(),IL,M,N) -> #activate(N) #47: #U31(tt(),IL,M,N) -> #activate(M) #48: #U31(tt(),IL,M,N) -> #activate(IL) #49: #take(s(M),cons(N,IL)) -> #U31(and(isNatIList(activate(IL)),n__and(isNat(M),n__isNat(N))),activate(IL),M,N) #50: #take(s(M),cons(N,IL)) -> #and(isNatIList(activate(IL)),n__and(isNat(M),n__isNat(N))) #51: #take(s(M),cons(N,IL)) -> #isNatIList(activate(IL)) #52: #take(s(M),cons(N,IL)) -> #activate(IL) #53: #take(s(M),cons(N,IL)) -> #isNat(M) #54: #take(s(M),cons(N,IL)) -> #activate(IL) Number of SCCs: 1, DPs: 42, edges: 210 SCC { #2 #3 #6..22 #24..28 #31 #33..38 #42 #43 #46..54 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #0() weight: 0 U21(x1) 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 #take(x1,x2) weight: (/ 1 2) + x1 + x2 activate(x1) weight: x1 take(x1,x2) weight: (/ 5 8) + x1 + x2 and(x1,x2) weight: x2 n__zeros() weight: 0 isNatIList(x1) weight: (/ 3 8) + x1 #activate(x1) weight: x1 zeros() weight: 0 n__nil() weight: 0 n__s(x1) weight: x1 0() weight: 0 #zeros() weight: 0 n__take(x1,x2) weight: (/ 5 8) + x1 + x2 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 U31(x1,x2,x3,x4) weight: (/ 5 8) + x2 + x3 + x4 cons(x1,x2) weight: x1 + x2 n__isNatIList(x1) weight: (/ 3 8) + x1 #isNatIList(x1) weight: (/ 3 8) + x1 #U21(x1) weight: 0 tt() weight: 0 n__and(x1,x2) weight: x2 length(x1) weight: (/ 1 2) + x1 #length(x1) weight: (/ 3 8) + x1 #U31(x1,x2,x3,x4) weight: (/ 1 8) + x2 + x3 + x4 #and(x1,x2) weight: x2 Usable rules: { 1..41 } Removed DPs: #3 #9..13 #15..22 #24..27 #31 #35..38 #43 #46..54 Number of SCCs: 3, DPs: 9, edges: 11 SCC { #42 } 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 U21(x1) weight: 0; 0 isNatList(x1) weight: 0; x1_2 U11(x1,x2) weight: max{0, (/ 1 2) + x2_1 + x2_2}; x1_2 #cons(x1,x2) weight: 0; 0 s(x1) weight: max{0, (/ 1 4) + x1_1 + x1_2}; 0 #isNat(x1) weight: max{0, (/ 1 4) + x1_1 + x1_2}; 0 #take(x1,x2) weight: 0; 0 activate(x1) weight: max{0, x1_1}; x1_2 take(x1,x2) weight: max{0, x1_1}; 0 and(x1,x2) weight: max{0, x2_1}; x2_2 + x1_2 n__zeros() weight: 0; (- (/ 1 4)) isNatIList(x1) weight: 0; 0 #activate(x1) weight: 0; 0 zeros() weight: 0; (- (/ 1 4)) n__nil() weight: 0; 0 n__s(x1) weight: max{0, (/ 1 4) + x1_1 + x1_2}; 0 0() weight: 0; 0 #zeros() weight: 0; 0 n__take(x1,x2) weight: max{0, x1_1}; 0 n__isNatList(x1) weight: 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: 0; 0 n__isNat(x1) weight: 0; x1_2 #nil() weight: 0; 0 n__0() weight: 0; 0 n__length(x1) weight: max{0, (/ 1 4) + x1_1}; x1_2 isNat(x1) weight: 0; x1_2 #U11(x1,x2) weight: 0; 0 U31(x1,x2,x3,x4) weight: max{0, (/ 1 4) + x3_1 + x1_2}; x1_2 cons(x1,x2) weight: max{0, (/ 1 4) + x2_1 + x2_2}; x2_2 n__isNatIList(x1) weight: 0; 0 #isNatIList(x1) weight: 0; 0 #U21(x1) weight: 0; 0 tt() weight: 0; 0 n__and(x1,x2) weight: max{0, x2_1}; x2_2 + x1_2 length(x1) weight: max{0, (/ 1 4) + x1_1}; x1_2 #length(x1) weight: 0; 0 #U31(x1,x2,x3,x4) weight: 0; 0 #and(x1,x2) weight: 0; 0 Usable rules: { 1..41 } Removed DPs: #42 Number of SCCs: 2, DPs: 8, edges: 10 SCC { #2 #34 } 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 U21(x1) weight: (max (/ 1 8) 0); 0 isNatList(x1) weight: (max (- (/ 1 8)) 0); x1_2 U11(x1,x2) weight: max{0, (/ 1 2) + x2_1 + x1_2}; (- (/ 1 8)) #cons(x1,x2) weight: 0; 0 s(x1) weight: max{0, (/ 3 8) + x1_1}; (- (/ 1 8)) #isNat(x1) weight: 0; 0 #take(x1,x2) weight: 0; 0 activate(x1) weight: max{0, x1_1}; x1_2 take(x1,x2) weight: max{0, (/ 1 8) + x1_1}; 0 and(x1,x2) weight: max{0, x2_1}; x2_2 + x1_2 n__zeros() weight: (/ 1 8); (- (/ 3 8)) isNatIList(x1) weight: (max (- (/ 1 8)) 0); 0 #activate(x1) weight: 0; 0 zeros() weight: (/ 1 8); (- (/ 3 8)) n__nil() weight: 0; 0 n__s(x1) weight: max{0, (/ 3 8) + x1_1}; (- (/ 1 8)) 0() weight: (/ 1 8); (- (/ 1 8)) #zeros() weight: 0; 0 n__take(x1,x2) weight: max{0, (/ 1 8) + x1_1}; 0 n__isNatList(x1) weight: (max (- (/ 1 8)) 0); 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: 0; 0 n__isNat(x1) weight: max{0, (/ 1 8) + x1_1 + x1_2}; 0 #nil() weight: 0; 0 n__0() weight: (/ 1 8); (- (/ 1 8)) n__length(x1) weight: max{0, (/ 1 8) + x1_1}; (- (/ 1 8)) isNat(x1) weight: max{0, (/ 1 8) + x1_1 + x1_2}; 0 #U11(x1,x2) weight: max{0, (/ 1 8) + x2_1 + x1_2}; x1_2 U31(x1,x2,x3,x4) weight: max{0, (/ 1 2) + x3_1}; x1_2 cons(x1,x2) weight: max{0, (/ 3 8) + x2_1 + x2_2}; x2_2 n__isNatIList(x1) weight: (max (- (/ 1 4)) 0); 0 #isNatIList(x1) weight: 0; 0 #U21(x1) weight: 0; 0 tt() weight: 0; 0 n__and(x1,x2) weight: max{0, x2_1}; x2_2 + x1_2 length(x1) weight: max{0, (/ 1 8) + x1_1}; (- (/ 1 8)) #length(x1) weight: max{0, (- (/ 1 8)) + x1_1}; 0 #U31(x1,x2,x3,x4) weight: 0; 0 #and(x1,x2) weight: 0; 0 Usable rules: { 1..41 } Removed DPs: #2 Number of SCCs: 1, DPs: 6, edges: 8 SCC { #6..8 #14 #28 #33 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #0() weight: 0 U21(x1) weight: (/ 1 4) isNatList(x1) weight: (/ 1 2) U11(x1,x2) weight: (/ 1 4) #cons(x1,x2) weight: 0 s(x1) weight: (/ 5 16) #isNat(x1) weight: (/ 1 16) #take(x1,x2) weight: (/ 1 4) activate(x1) weight: (/ 1 8) take(x1,x2) weight: (/ 3 16) + x1 and(x1,x2) weight: (/ 1 16) n__zeros() weight: 0 isNatIList(x1) weight: (/ 3 16) #activate(x1) weight: x1 zeros() weight: 0 n__nil() weight: 0 n__s(x1) weight: (/ 3 8) 0() weight: 0 #zeros() weight: 0 n__take(x1,x2) weight: (/ 1 4) + x1 + x2 n__isNatList(x1) weight: (/ 9 16) #isNatList(x1) weight: (/ 9 16) #s(x1) weight: 0 n__cons(x1,x2) weight: (/ 11 16) + x2 nil() weight: 0 n__isNat(x1) weight: (/ 1 4) #nil() weight: 0 n__0() weight: 0 n__length(x1) weight: (/ 1 4) + x1 isNat(x1) weight: (/ 3 16) + x1 #U11(x1,x2) weight: (/ 3 16) U31(x1,x2,x3,x4) weight: (/ 9 16) + x3 + x4 cons(x1,x2) weight: (/ 5 8) n__isNatIList(x1) weight: (/ 1 4) #isNatIList(x1) weight: (/ 1 4) #U21(x1) weight: 0 tt() weight: 0 n__and(x1,x2) weight: (/ 1 8) + x2 length(x1) weight: (/ 3 16) #length(x1) weight: (/ 1 8) #U31(x1,x2,x3,x4) weight: (/ 1 16) #and(x1,x2) weight: x2 Usable rules: { } Removed DPs: #7 Number of SCCs: 1, DPs: 5, edges: 6 SCC { #6 #8 #14 #28 #33 } 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