Input TRS: 1: a__zeros() -> cons(0(),zeros()) 2: a__U11(tt()) -> tt() 3: a__U21(tt()) -> tt() 4: a__U31(tt()) -> tt() 5: a__U41(tt(),V2) -> a__U42(a__isNatIList(V2)) 6: a__U42(tt()) -> tt() 7: a__U51(tt(),V2) -> a__U52(a__isNatList(V2)) 8: a__U52(tt()) -> tt() 9: a__U61(tt(),L,N) -> a__U62(a__isNat(N),L) 10: a__U62(tt(),L) -> s(a__length(mark(L))) 11: a__isNat(0()) -> tt() 12: a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) 13: a__isNat(s(V1)) -> a__U21(a__isNat(V1)) 14: a__isNatIList(V) -> a__U31(a__isNatList(V)) 15: a__isNatIList(zeros()) -> tt() 16: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNat(V1),V2) 17: a__isNatList(nil()) -> tt() 18: a__isNatList(cons(V1,V2)) -> a__U51(a__isNat(V1),V2) 19: a__length(nil()) -> 0() 20: a__length(cons(N,L)) -> a__U61(a__isNatList(L),L,N) 21: mark(zeros()) -> a__zeros() 22: mark(U11(X)) -> a__U11(mark(X)) 23: mark(U21(X)) -> a__U21(mark(X)) 24: mark(U31(X)) -> a__U31(mark(X)) 25: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) 26: mark(U42(X)) -> a__U42(mark(X)) 27: mark(isNatIList(X)) -> a__isNatIList(X) 28: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) 29: mark(U52(X)) -> a__U52(mark(X)) 30: mark(isNatList(X)) -> a__isNatList(X) 31: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) 32: mark(U62(X1,X2)) -> a__U62(mark(X1),X2) 33: mark(isNat(X)) -> a__isNat(X) 34: mark(length(X)) -> a__length(mark(X)) 35: mark(cons(X1,X2)) -> cons(mark(X1),X2) 36: mark(0()) -> 0() 37: mark(tt()) -> tt() 38: mark(s(X)) -> s(mark(X)) 39: mark(nil()) -> nil() 40: a__zeros() -> zeros() 41: a__U11(X) -> U11(X) 42: a__U21(X) -> U21(X) 43: a__U31(X) -> U31(X) 44: a__U41(X1,X2) -> U41(X1,X2) 45: a__U42(X) -> U42(X) 46: a__isNatIList(X) -> isNatIList(X) 47: a__U51(X1,X2) -> U51(X1,X2) 48: a__U52(X) -> U52(X) 49: a__isNatList(X) -> isNatList(X) 50: a__U61(X1,X2,X3) -> U61(X1,X2,X3) 51: a__U62(X1,X2) -> U62(X1,X2) 52: a__isNat(X) -> isNat(X) 53: a__length(X) -> length(X) Number of strict rules: 53 Direct Order(PosReal,>,Poly) ... removes: 4 15 19 14 12 2 U21(x1) weight: x1 isNatList(x1) weight: x1 U11(x1) weight: (/ 1 8) + x1 s(x1) weight: x1 a__isNatIList(x1) weight: (/ 1 4) + x1 U42(x1) weight: x1 a__U62(x1,x2) weight: (/ 72017 4) + x1 + x2 isNatIList(x1) weight: (/ 1 4) + x1 zeros() weight: 0 a__U31(x1) weight: (/ 1 8) + x1 a__U51(x1,x2) weight: x1 + 2 * x2 a__isNatList(x1) weight: x1 a__U41(x1,x2) weight: (/ 1 4) + x1 + x2 0() weight: 0 a__U21(x1) weight: x1 nil() weight: 0 U62(x1,x2) weight: (/ 72017 4) + x1 + x2 mark(x1) weight: x1 a__U11(x1) weight: (/ 1 8) + x1 a__U42(x1) weight: x1 a__U52(x1) weight: 2 * x1 isNat(x1) weight: x1 U52(x1) weight: 2 * x1 U61(x1,x2,x3) weight: (/ 72017 4) + x1 + x2 + 2 * x3 U31(x1) weight: (/ 1 8) + x1 cons(x1,x2) weight: 2 * x1 + 2 * x2 a__U61(x1,x2,x3) weight: (/ 72017 4) + x1 + x2 + 2 * x3 tt() weight: 0 a__isNat(x1) weight: x1 U51(x1,x2) weight: x1 + 2 * x2 length(x1) weight: (/ 72017 4) + x1 U41(x1,x2) weight: (/ 1 4) + x1 + x2 a__zeros() weight: 0 a__length(x1) weight: (/ 72017 4) + x1 Number of strict rules: 47 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #mark(U52(X)) -> #a__U52(mark(X)) #2: #mark(U52(X)) -> #mark(X) #3: #mark(cons(X1,X2)) -> #mark(X1) #4: #mark(s(X)) -> #mark(X) #5: #a__isNat(s(V1)) -> #a__U21(a__isNat(V1)) #6: #a__isNat(s(V1)) -> #a__isNat(V1) #7: #a__U61(tt(),L,N) -> #a__U62(a__isNat(N),L) #8: #a__U61(tt(),L,N) -> #a__isNat(N) #9: #mark(U31(X)) -> #a__U31(mark(X)) #10: #mark(U31(X)) -> #mark(X) #11: #mark(U21(X)) -> #a__U21(mark(X)) #12: #mark(U21(X)) -> #mark(X) #13: #mark(U61(X1,X2,X3)) -> #a__U61(mark(X1),X2,X3) #14: #mark(U61(X1,X2,X3)) -> #mark(X1) #15: #mark(isNatList(X)) -> #a__isNatList(X) #16: #mark(U41(X1,X2)) -> #a__U41(mark(X1),X2) #17: #mark(U41(X1,X2)) -> #mark(X1) #18: #a__length(cons(N,L)) -> #a__U61(a__isNatList(L),L,N) #19: #a__length(cons(N,L)) -> #a__isNatList(L) #20: #a__U51(tt(),V2) -> #a__U52(a__isNatList(V2)) #21: #a__U51(tt(),V2) -> #a__isNatList(V2) #22: #a__U62(tt(),L) -> #a__length(mark(L)) #23: #a__U62(tt(),L) -> #mark(L) #24: #mark(isNat(X)) -> #a__isNat(X) #25: #a__U41(tt(),V2) -> #a__U42(a__isNatIList(V2)) #26: #a__U41(tt(),V2) -> #a__isNatIList(V2) #27: #mark(U51(X1,X2)) -> #a__U51(mark(X1),X2) #28: #mark(U51(X1,X2)) -> #mark(X1) #29: #mark(U11(X)) -> #a__U11(mark(X)) #30: #mark(U11(X)) -> #mark(X) #31: #mark(length(X)) -> #a__length(mark(X)) #32: #mark(length(X)) -> #mark(X) #33: #mark(isNatIList(X)) -> #a__isNatIList(X) #34: #mark(U62(X1,X2)) -> #a__U62(mark(X1),X2) #35: #mark(U62(X1,X2)) -> #mark(X1) #36: #mark(U42(X)) -> #a__U42(mark(X)) #37: #mark(U42(X)) -> #mark(X) #38: #mark(zeros()) -> #a__zeros() #39: #a__isNatIList(cons(V1,V2)) -> #a__U41(a__isNat(V1),V2) #40: #a__isNatIList(cons(V1,V2)) -> #a__isNat(V1) #41: #a__isNatList(cons(V1,V2)) -> #a__U51(a__isNat(V1),V2) #42: #a__isNatList(cons(V1,V2)) -> #a__isNat(V1) Number of SCCs: 4, DPs: 24, edges: 208 SCC { #6 } Removing DPs: Order(PosReal,>,Sum)... succeeded. U21(x1) weight: 0 isNatList(x1) weight: 0 U11(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 #a__U31(x1) weight: 0 a__isNatIList(x1) weight: 0 U42(x1) weight: 0 #a__isNat(x1) weight: x1 a__U62(x1,x2) weight: 0 isNatIList(x1) weight: 0 #a__U51(x1,x2) weight: 0 #a__U11(x1) weight: 0 zeros() weight: 0 a__U31(x1) weight: 0 a__U51(x1,x2) weight: 0 a__isNatList(x1) weight: 0 #a__U62(x1,x2) weight: 0 #a__U42(x1) weight: 0 a__U41(x1,x2) weight: 0 #a__U21(x1) weight: 0 #a__isNatIList(x1) weight: 0 #a__U61(x1,x2,x3) weight: 0 #mark(x1) weight: 0 0() weight: 0 #a__zeros() weight: 0 a__U21(x1) weight: 0 nil() weight: 0 U62(x1,x2) weight: 0 #a__U52(x1) weight: 0 mark(x1) weight: 0 a__U11(x1) weight: 0 a__U42(x1) weight: 0 a__U52(x1) weight: 0 #a__length(x1) weight: 0 isNat(x1) weight: 0 U52(x1) weight: 0 U61(x1,x2,x3) weight: 0 U31(x1) weight: 0 #a__isNatList(x1) weight: 0 cons(x1,x2) weight: 0 a__U61(x1,x2,x3) weight: 0 #a__U41(x1,x2) weight: 0 tt() weight: 0 a__isNat(x1) weight: 0 U51(x1,x2) weight: 0 length(x1) weight: 0 U41(x1,x2) weight: 0 a__zeros() weight: 0 a__length(x1) weight: 0 Usable rules: { } Removed DPs: #6 Number of SCCs: 3, DPs: 23, edges: 207 SCC { #26 #39 } Removing DPs: Order(PosReal,>,Sum)... succeeded. U21(x1) weight: (/ 3 4) isNatList(x1) weight: 0 U11(x1) weight: 0 s(x1) weight: (/ 1 4) #a__U31(x1) weight: 0 a__isNatIList(x1) weight: 0 U42(x1) weight: 0 #a__isNat(x1) weight: 0 a__U62(x1,x2) weight: 0 isNatIList(x1) weight: 0 #a__U51(x1,x2) weight: 0 #a__U11(x1) weight: 0 zeros() weight: 0 a__U31(x1) weight: 0 a__U51(x1,x2) weight: 0 a__isNatList(x1) weight: 0 #a__U62(x1,x2) weight: 0 #a__U42(x1) weight: 0 a__U41(x1,x2) weight: 0 #a__U21(x1) weight: 0 #a__isNatIList(x1) weight: x1 #a__U61(x1,x2,x3) weight: 0 #mark(x1) weight: 0 0() weight: 0 #a__zeros() weight: 0 a__U21(x1) weight: (/ 1 2) nil() weight: 0 U62(x1,x2) weight: 0 #a__U52(x1) weight: 0 mark(x1) weight: 0 a__U11(x1) weight: 0 a__U42(x1) weight: 0 a__U52(x1) weight: 0 #a__length(x1) weight: 0 isNat(x1) weight: (/ 1 2) + x1 U52(x1) weight: 0 U61(x1,x2,x3) weight: 0 U31(x1) weight: 0 #a__isNatList(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) + x1 + x2 a__U61(x1,x2,x3) weight: 0 #a__U41(x1,x2) weight: (/ 1 4) + x2 tt() weight: 0 a__isNat(x1) weight: (/ 1 4) U51(x1,x2) weight: 0 length(x1) weight: 0 U41(x1,x2) weight: 0 a__zeros() weight: 0 a__length(x1) weight: 0 Usable rules: { } Removed DPs: #26 #39 Number of SCCs: 2, DPs: 21, edges: 205 SCC { #21 #41 } Removing DPs: Order(PosReal,>,Sum)... succeeded. U21(x1) weight: (/ 3 4) + x1 isNatList(x1) weight: 0 U11(x1) weight: 0 s(x1) weight: (/ 1 4) #a__U31(x1) weight: 0 a__isNatIList(x1) weight: 0 U42(x1) weight: 0 #a__isNat(x1) weight: 0 a__U62(x1,x2) weight: 0 isNatIList(x1) weight: 0 #a__U51(x1,x2) weight: (/ 1 4) + x2 #a__U11(x1) weight: 0 zeros() weight: 0 a__U31(x1) weight: 0 a__U51(x1,x2) weight: 0 a__isNatList(x1) weight: 0 #a__U62(x1,x2) weight: 0 #a__U42(x1) weight: 0 a__U41(x1,x2) weight: 0 #a__U21(x1) weight: 0 #a__isNatIList(x1) weight: 0 #a__U61(x1,x2,x3) weight: 0 #mark(x1) weight: 0 0() weight: 0 #a__zeros() weight: 0 a__U21(x1) weight: (/ 1 2) nil() weight: 0 U62(x1,x2) weight: 0 #a__U52(x1) weight: 0 mark(x1) weight: 0 a__U11(x1) weight: 0 a__U42(x1) weight: 0 a__U52(x1) weight: 0 #a__length(x1) weight: 0 isNat(x1) weight: (/ 1 2) U52(x1) weight: 0 U61(x1,x2,x3) weight: 0 U31(x1) weight: 0 #a__isNatList(x1) weight: x1 cons(x1,x2) weight: (/ 1 2) + x2 a__U61(x1,x2,x3) weight: 0 #a__U41(x1,x2) weight: (/ 1 4) tt() weight: 0 a__isNat(x1) weight: (/ 1 4) U51(x1,x2) weight: 0 length(x1) weight: 0 U41(x1,x2) weight: 0 a__zeros() weight: 0 a__length(x1) weight: 0 Usable rules: { } Removed DPs: #21 #41 Number of SCCs: 1, DPs: 19, edges: 203 SCC { #2..4 #7 #10 #12..14 #17 #18 #22 #23 #28 #30..32 #34 #35 #37 } Removing DPs: Order(PosReal,>,Sum)... succeeded. U21(x1) weight: x1 isNatList(x1) weight: 0 U11(x1) weight: (/ 1 4) + x1 s(x1) weight: x1 #a__U31(x1) weight: 0 a__isNatIList(x1) weight: (/ 1 4) U42(x1) weight: x1 #a__isNat(x1) weight: 0 a__U62(x1,x2) weight: (/ 1 2) + x1 + x2 isNatIList(x1) weight: (/ 1 4) #a__U51(x1,x2) weight: (/ 1 4) #a__U11(x1) weight: 0 zeros() weight: 0 a__U31(x1) weight: (/ 1 4) + x1 a__U51(x1,x2) weight: x1 a__isNatList(x1) weight: 0 #a__U62(x1,x2) weight: (/ 1 4) + x2 #a__U42(x1) weight: 0 a__U41(x1,x2) weight: (/ 1 4) + x1 #a__U21(x1) weight: 0 #a__isNatIList(x1) weight: 0 #a__U61(x1,x2,x3) weight: (/ 1 4) + x2 #mark(x1) weight: x1 0() weight: 0 #a__zeros() weight: 0 a__U21(x1) weight: x1 nil() weight: 0 U62(x1,x2) weight: (/ 1 2) + x1 + x2 #a__U52(x1) weight: 0 mark(x1) weight: x1 a__U11(x1) weight: (/ 1 4) + x1 a__U42(x1) weight: x1 a__U52(x1) weight: x1 #a__length(x1) weight: (/ 1 4) + x1 isNat(x1) weight: 0 U52(x1) weight: x1 U61(x1,x2,x3) weight: (/ 1 2) + x1 + x2 U31(x1) weight: (/ 1 4) + x1 #a__isNatList(x1) weight: 0 cons(x1,x2) weight: x1 + x2 a__U61(x1,x2,x3) weight: (/ 1 2) + x1 + x2 #a__U41(x1,x2) weight: (/ 1 4) tt() weight: 0 a__isNat(x1) weight: 0 U51(x1,x2) weight: x1 length(x1) weight: (/ 1 2) + x1 U41(x1,x2) weight: (/ 1 4) + x1 a__zeros() weight: 0 a__length(x1) weight: (/ 1 2) + x1 Usable rules: { 1 3 5..11 13 16..18 20..53 } Removed DPs: #10 #13 #14 #17 #23 #30..32 #34 #35 Number of SCCs: 2, DPs: 9, edges: 39 SCC { #7 #18 #22 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... succeeded. U21(x1) weight: (/ 1 2); 0 isNatList(x1) weight: (/ 1 8) + x1_2; 0 U11(x1) weight: (/ 1 8); 0 s(x1) weight: x1_1; x1_2 #a__U31(x1) weight: 0; 0 a__isNatIList(x1) weight: (/ 1 8) + x1_1 + x1_2; (/ 1 4) + x1_1 + x1_2 U42(x1) weight: x1_1; x1_2 #a__isNat(x1) weight: 0; 0 a__U62(x1,x2) weight: (/ 1 8); (/ 1 4) isNatIList(x1) weight: (/ 1 8) + x1_1 + x1_2; 0 #a__U51(x1,x2) weight: 0; 0 #a__U11(x1) weight: 0; 0 zeros() weight: (/ 1 8); (/ 1 8) a__U31(x1) weight: (/ 1 8) + x1_1; x1_2 a__U51(x1,x2) weight: (/ 1 8) + x2_2; (/ 1 8) a__isNatList(x1) weight: (/ 1 8) + x1_2; (/ 1 8) #a__U62(x1,x2) weight: (/ 1 2) + x2_1; 0 #a__U42(x1) weight: 0; 0 a__U41(x1,x2) weight: (/ 1 8) + x2_1 + x2_2; (/ 1 4) + x2_1 + x2_2 #a__U21(x1) weight: 0; 0 #a__isNatIList(x1) weight: 0; 0 #a__U61(x1,x2,x3) weight: x2_1 + x1_1; 0 #mark(x1) weight: 0; 0 0() weight: (/ 1 8); (/ 1 8) #a__zeros() weight: 0; 0 a__U21(x1) weight: (/ 5 8); (/ 1 8) nil() weight: (/ 3 8); (/ 1 2) U62(x1,x2) weight: (/ 1 8); 0 #a__U52(x1) weight: 0; 0 mark(x1) weight: (/ 1 8) + x1_1 + x1_2; (/ 1 8) + x1_1 a__U11(x1) weight: (/ 1 8); 0 a__U42(x1) weight: x1_1; x1_2 a__U52(x1) weight: x1_1; x1_2 #a__length(x1) weight: (/ 1 4) + x1_2; 0 isNat(x1) weight: (/ 1 2); 0 U52(x1) weight: x1_1; x1_2 U61(x1,x2,x3) weight: (/ 1 8); 0 U31(x1) weight: (/ 1 8) + x1_1; x1_2 #a__isNatList(x1) weight: 0; 0 cons(x1,x2) weight: x2_1 + x2_2; x2_1 + x2_2 a__U61(x1,x2,x3) weight: (/ 1 8); (/ 1 4) #a__U41(x1,x2) weight: 0; 0 tt() weight: (/ 5 8); (/ 1 8) a__isNat(x1) weight: (/ 5 8); (/ 1 8) U51(x1,x2) weight: (/ 1 8) + x2_2; 0 length(x1) weight: (/ 1 8); 0 U41(x1,x2) weight: (/ 1 8) + x2_1 + x2_2; 0 a__zeros() weight: (/ 1 4); (/ 1 4) a__length(x1) weight: (/ 1 8); (/ 1 4) Usable rules: { 1 3 5..11 13 16..18 20..53 } Removed DPs: #7 #18 #22 Number of SCCs: 1, DPs: 6, edges: 36 SCC { #2..4 #12 #28 #37 } Removing DPs: Order(PosReal,>,Sum)... succeeded. U21(x1) weight: (/ 1 4) + x1 isNatList(x1) weight: (/ 1 8) U11(x1) weight: (/ 3 8) + x1 s(x1) weight: (/ 1 8) + x1 #a__U31(x1) weight: 0 a__isNatIList(x1) weight: (/ 1 4) U42(x1) weight: (/ 3 8) + x1 #a__isNat(x1) weight: 0 a__U62(x1,x2) weight: (/ 1 4) + x1 isNatIList(x1) weight: (/ 3 8) + x1 #a__U51(x1,x2) weight: (/ 1 8) #a__U11(x1) weight: 0 zeros() weight: 0 a__U31(x1) weight: (/ 1 4) a__U51(x1,x2) weight: (/ 1 8) + x1 a__isNatList(x1) weight: 0 #a__U62(x1,x2) weight: (/ 1 8) #a__U42(x1) weight: 0 a__U41(x1,x2) weight: (/ 3 8) #a__U21(x1) weight: 0 #a__isNatIList(x1) weight: 0 #a__U61(x1,x2,x3) weight: (/ 1 8) #mark(x1) weight: x1 0() weight: 0 #a__zeros() weight: 0 a__U21(x1) weight: (/ 1 8) + x1 nil() weight: 0 U62(x1,x2) weight: (/ 3 8) + x1 + x2 #a__U52(x1) weight: 0 mark(x1) weight: (/ 1 8) a__U11(x1) weight: (/ 1 4) a__U42(x1) weight: (/ 1 4) + x1 a__U52(x1) weight: (/ 1 4) + x1 #a__length(x1) weight: (/ 1 8) isNat(x1) weight: (/ 3 8) + x1 U52(x1) weight: (/ 3 8) + x1 U61(x1,x2,x3) weight: x1 + x2 + x3 U31(x1) weight: x1 #a__isNatList(x1) weight: 0 cons(x1,x2) weight: (/ 1 8) + x1 a__U61(x1,x2,x3) weight: (/ 3 8) + x1 + x2 #a__U41(x1,x2) weight: (/ 1 8) tt() weight: 0 a__isNat(x1) weight: (/ 1 4) U51(x1,x2) weight: (/ 1 4) + x1 + x2 length(x1) weight: (/ 1 4) U41(x1,x2) weight: (/ 1 2) + x1 + x2 a__zeros() weight: 0 a__length(x1) weight: (/ 1 8) + x1 Usable rules: { } Removed DPs: #2..4 #12 #28 #37 Number of SCCs: 0, DPs: 0, edges: 0 YES