Input TRS: 1: active(and(tt(),T)) -> mark(T) 2: active(isNatIList(IL)) -> mark(isNatList(IL)) 3: active(isNat(0())) -> mark(tt()) 4: active(isNat(s(N))) -> mark(isNat(N)) 5: active(isNat(length(L))) -> mark(isNatList(L)) 6: active(isNatIList(zeros())) -> mark(tt()) 7: active(isNatIList(cons(N,IL))) -> mark(and(isNat(N),isNatIList(IL))) 8: active(isNatList(nil())) -> mark(tt()) 9: active(isNatList(cons(N,L))) -> mark(and(isNat(N),isNatList(L))) 10: active(isNatList(take(N,IL))) -> mark(and(isNat(N),isNatIList(IL))) 11: active(zeros()) -> mark(cons(0(),zeros())) 12: active(take(0(),IL)) -> mark(uTake1(isNatIList(IL))) 13: active(uTake1(tt())) -> mark(nil()) 14: active(take(s(M),cons(N,IL))) -> mark(uTake2(and(isNat(M),and(isNat(N),isNatIList(IL))),M,N,IL)) 15: active(uTake2(tt(),M,N,IL)) -> mark(cons(N,take(M,IL))) 16: active(length(cons(N,L))) -> mark(uLength(and(isNat(N),isNatList(L)),L)) 17: active(uLength(tt(),L)) -> mark(s(length(L))) 18: mark(and(X1,X2)) -> active(and(mark(X1),mark(X2))) 19: mark(tt()) -> active(tt()) 20: mark(isNatIList(X)) -> active(isNatIList(X)) 21: mark(isNatList(X)) -> active(isNatList(X)) 22: mark(isNat(X)) -> active(isNat(X)) 23: mark(0()) -> active(0()) 24: mark(s(X)) -> active(s(mark(X))) 25: mark(length(X)) -> active(length(mark(X))) 26: mark(zeros()) -> active(zeros()) 27: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) 28: mark(nil()) -> active(nil()) 29: mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) 30: mark(uTake1(X)) -> active(uTake1(mark(X))) 31: mark(uTake2(X1,X2,X3,X4)) -> active(uTake2(mark(X1),X2,X3,X4)) 32: mark(uLength(X1,X2)) -> active(uLength(mark(X1),X2)) 33: and(mark(X1),X2) -> and(X1,X2) 34: and(X1,mark(X2)) -> and(X1,X2) 35: and(active(X1),X2) -> and(X1,X2) 36: and(X1,active(X2)) -> and(X1,X2) 37: isNatIList(mark(X)) -> isNatIList(X) 38: isNatIList(active(X)) -> isNatIList(X) 39: isNatList(mark(X)) -> isNatList(X) 40: isNatList(active(X)) -> isNatList(X) 41: isNat(mark(X)) -> isNat(X) 42: isNat(active(X)) -> isNat(X) 43: s(mark(X)) -> s(X) 44: s(active(X)) -> s(X) 45: length(mark(X)) -> length(X) 46: length(active(X)) -> length(X) 47: cons(mark(X1),X2) -> cons(X1,X2) 48: cons(X1,mark(X2)) -> cons(X1,X2) 49: cons(active(X1),X2) -> cons(X1,X2) 50: cons(X1,active(X2)) -> cons(X1,X2) 51: take(mark(X1),X2) -> take(X1,X2) 52: take(X1,mark(X2)) -> take(X1,X2) 53: take(active(X1),X2) -> take(X1,X2) 54: take(X1,active(X2)) -> take(X1,X2) 55: uTake1(mark(X)) -> uTake1(X) 56: uTake1(active(X)) -> uTake1(X) 57: uTake2(mark(X1),X2,X3,X4) -> uTake2(X1,X2,X3,X4) 58: uTake2(X1,mark(X2),X3,X4) -> uTake2(X1,X2,X3,X4) 59: uTake2(X1,X2,mark(X3),X4) -> uTake2(X1,X2,X3,X4) 60: uTake2(X1,X2,X3,mark(X4)) -> uTake2(X1,X2,X3,X4) 61: uTake2(active(X1),X2,X3,X4) -> uTake2(X1,X2,X3,X4) 62: uTake2(X1,active(X2),X3,X4) -> uTake2(X1,X2,X3,X4) 63: uTake2(X1,X2,active(X3),X4) -> uTake2(X1,X2,X3,X4) 64: uTake2(X1,X2,X3,active(X4)) -> uTake2(X1,X2,X3,X4) 65: uLength(mark(X1),X2) -> uLength(X1,X2) 66: uLength(X1,mark(X2)) -> uLength(X1,X2) 67: uLength(active(X1),X2) -> uLength(X1,X2) 68: uLength(X1,active(X2)) -> uLength(X1,X2) Number of strict rules: 68 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #active(isNatIList(IL)) -> #mark(isNatList(IL)) #2: #active(isNatIList(IL)) -> #isNatList(IL) #3: #s(mark(X)) -> #s(X) #4: #mark(take(X1,X2)) -> #active(take(mark(X1),mark(X2))) #5: #mark(take(X1,X2)) -> #take(mark(X1),mark(X2)) #6: #mark(take(X1,X2)) -> #mark(X1) #7: #mark(take(X1,X2)) -> #mark(X2) #8: #and(active(X1),X2) -> #and(X1,X2) #9: #uLength(X1,mark(X2)) -> #uLength(X1,X2) #10: #length(active(X)) -> #length(X) #11: #isNat(active(X)) -> #isNat(X) #12: #isNat(mark(X)) -> #isNat(X) #13: #isNatIList(mark(X)) -> #isNatIList(X) #14: #cons(mark(X1),X2) -> #cons(X1,X2) #15: #take(active(X1),X2) -> #take(X1,X2) #16: #cons(X1,mark(X2)) -> #cons(X1,X2) #17: #uTake2(X1,mark(X2),X3,X4) -> #uTake2(X1,X2,X3,X4) #18: #uTake2(active(X1),X2,X3,X4) -> #uTake2(X1,X2,X3,X4) #19: #isNatIList(active(X)) -> #isNatIList(X) #20: #active(isNatIList(zeros())) -> #mark(tt()) #21: #uTake2(X1,X2,mark(X3),X4) -> #uTake2(X1,X2,X3,X4) #22: #uTake1(mark(X)) -> #uTake1(X) #23: #uLength(active(X1),X2) -> #uLength(X1,X2) #24: #isNatList(active(X)) -> #isNatList(X) #25: #take(mark(X1),X2) -> #take(X1,X2) #26: #active(uTake1(tt())) -> #mark(nil()) #27: #active(isNatList(cons(N,L))) -> #mark(and(isNat(N),isNatList(L))) #28: #active(isNatList(cons(N,L))) -> #and(isNat(N),isNatList(L)) #29: #active(isNatList(cons(N,L))) -> #isNat(N) #30: #active(isNatList(cons(N,L))) -> #isNatList(L) #31: #active(zeros()) -> #mark(cons(0(),zeros())) #32: #active(zeros()) -> #cons(0(),zeros()) #33: #uTake2(mark(X1),X2,X3,X4) -> #uTake2(X1,X2,X3,X4) #34: #mark(s(X)) -> #active(s(mark(X))) #35: #mark(s(X)) -> #s(mark(X)) #36: #mark(s(X)) -> #mark(X) #37: #mark(0()) -> #active(0()) #38: #length(mark(X)) -> #length(X) #39: #active(take(0(),IL)) -> #mark(uTake1(isNatIList(IL))) #40: #active(take(0(),IL)) -> #uTake1(isNatIList(IL)) #41: #active(take(0(),IL)) -> #isNatIList(IL) #42: #mark(uTake2(X1,X2,X3,X4)) -> #active(uTake2(mark(X1),X2,X3,X4)) #43: #mark(uTake2(X1,X2,X3,X4)) -> #uTake2(mark(X1),X2,X3,X4) #44: #mark(uTake2(X1,X2,X3,X4)) -> #mark(X1) #45: #uTake1(active(X)) -> #uTake1(X) #46: #active(take(s(M),cons(N,IL))) -> #mark(uTake2(and(isNat(M),and(isNat(N),isNatIList(IL))),M,N,IL)) #47: #active(take(s(M),cons(N,IL))) -> #uTake2(and(isNat(M),and(isNat(N),isNatIList(IL))),M,N,IL) #48: #active(take(s(M),cons(N,IL))) -> #and(isNat(M),and(isNat(N),isNatIList(IL))) #49: #active(take(s(M),cons(N,IL))) -> #isNat(M) #50: #active(take(s(M),cons(N,IL))) -> #and(isNat(N),isNatIList(IL)) #51: #active(take(s(M),cons(N,IL))) -> #isNat(N) #52: #active(take(s(M),cons(N,IL))) -> #isNatIList(IL) #53: #uTake2(X1,active(X2),X3,X4) -> #uTake2(X1,X2,X3,X4) #54: #mark(uTake1(X)) -> #active(uTake1(mark(X))) #55: #mark(uTake1(X)) -> #uTake1(mark(X)) #56: #mark(uTake1(X)) -> #mark(X) #57: #take(X1,mark(X2)) -> #take(X1,X2) #58: #cons(active(X1),X2) -> #cons(X1,X2) #59: #mark(length(X)) -> #active(length(mark(X))) #60: #mark(length(X)) -> #length(mark(X)) #61: #mark(length(X)) -> #mark(X) #62: #mark(isNatIList(X)) -> #active(isNatIList(X)) #63: #active(isNatIList(cons(N,IL))) -> #mark(and(isNat(N),isNatIList(IL))) #64: #active(isNatIList(cons(N,IL))) -> #and(isNat(N),isNatIList(IL)) #65: #active(isNatIList(cons(N,IL))) -> #isNat(N) #66: #active(isNatIList(cons(N,IL))) -> #isNatIList(IL) #67: #isNatList(mark(X)) -> #isNatList(X) #68: #active(isNatList(take(N,IL))) -> #mark(and(isNat(N),isNatIList(IL))) #69: #active(isNatList(take(N,IL))) -> #and(isNat(N),isNatIList(IL)) #70: #active(isNatList(take(N,IL))) -> #isNat(N) #71: #active(isNatList(take(N,IL))) -> #isNatIList(IL) #72: #uTake2(X1,X2,X3,active(X4)) -> #uTake2(X1,X2,X3,X4) #73: #and(mark(X1),X2) -> #and(X1,X2) #74: #active(isNat(length(L))) -> #mark(isNatList(L)) #75: #active(isNat(length(L))) -> #isNatList(L) #76: #s(active(X)) -> #s(X) #77: #uLength(mark(X1),X2) -> #uLength(X1,X2) #78: #mark(nil()) -> #active(nil()) #79: #mark(isNat(X)) -> #active(isNat(X)) #80: #and(X1,mark(X2)) -> #and(X1,X2) #81: #mark(cons(X1,X2)) -> #active(cons(mark(X1),X2)) #82: #mark(cons(X1,X2)) -> #cons(mark(X1),X2) #83: #mark(cons(X1,X2)) -> #mark(X1) #84: #uTake2(X1,X2,X3,mark(X4)) -> #uTake2(X1,X2,X3,X4) #85: #active(uLength(tt(),L)) -> #mark(s(length(L))) #86: #active(uLength(tt(),L)) -> #s(length(L)) #87: #active(uLength(tt(),L)) -> #length(L) #88: #mark(uLength(X1,X2)) -> #active(uLength(mark(X1),X2)) #89: #mark(uLength(X1,X2)) -> #uLength(mark(X1),X2) #90: #mark(uLength(X1,X2)) -> #mark(X1) #91: #mark(tt()) -> #active(tt()) #92: #uTake2(X1,X2,active(X3),X4) -> #uTake2(X1,X2,X3,X4) #93: #mark(zeros()) -> #active(zeros()) #94: #uLength(X1,active(X2)) -> #uLength(X1,X2) #95: #and(X1,active(X2)) -> #and(X1,X2) #96: #mark(isNatList(X)) -> #active(isNatList(X)) #97: #active(length(cons(N,L))) -> #mark(uLength(and(isNat(N),isNatList(L)),L)) #98: #active(length(cons(N,L))) -> #uLength(and(isNat(N),isNatList(L)),L) #99: #active(length(cons(N,L))) -> #and(isNat(N),isNatList(L)) #100: #active(length(cons(N,L))) -> #isNat(N) #101: #active(length(cons(N,L))) -> #isNatList(L) #102: #active(isNat(0())) -> #mark(tt()) #103: #active(and(tt(),T)) -> #mark(T) #104: #take(X1,active(X2)) -> #take(X1,X2) #105: #active(isNatList(nil())) -> #mark(tt()) #106: #active(uTake2(tt(),M,N,IL)) -> #mark(cons(N,take(M,IL))) #107: #active(uTake2(tt(),M,N,IL)) -> #cons(N,take(M,IL)) #108: #active(uTake2(tt(),M,N,IL)) -> #take(M,IL) #109: #active(isNat(s(N))) -> #mark(isNat(N)) #110: #active(isNat(s(N))) -> #isNat(N) #111: #cons(X1,active(X2)) -> #cons(X1,X2) #112: #mark(and(X1,X2)) -> #active(and(mark(X1),mark(X2))) #113: #mark(and(X1,X2)) -> #and(mark(X1),mark(X2)) #114: #mark(and(X1,X2)) -> #mark(X1) #115: #mark(and(X1,X2)) -> #mark(X2) Number of SCCs: 12, DPs: 68, edges: 394 SCC { #24 #67 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: x1 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #24 #67 Number of SCCs: 11, DPs: 66, edges: 390 SCC { #11 #12 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: x1 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #11 #12 Number of SCCs: 10, DPs: 64, edges: 386 SCC { #3 #76 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #3 #76 Number of SCCs: 9, DPs: 62, edges: 382 SCC { #13 #19 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: x1 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #13 #19 Number of SCCs: 8, DPs: 60, edges: 378 SCC { #10 #38 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: x1 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #10 #38 Number of SCCs: 7, DPs: 58, edges: 374 SCC { #22 #45 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: x1 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #22 #45 Number of SCCs: 6, DPs: 56, edges: 370 SCC { #8 #73 #80 #95 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: x1 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #8 #73 Number of SCCs: 6, DPs: 54, edges: 358 SCC { #80 #95 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: x2 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #80 #95 Number of SCCs: 5, DPs: 52, edges: 354 SCC { #9 #23 #77 #94 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: x1 Usable rules: { } Removed DPs: #23 #77 Number of SCCs: 6, DPs: 50, edges: 342 SCC { #9 #94 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: x2 Usable rules: { } Removed DPs: #9 #94 Number of SCCs: 5, DPs: 48, edges: 338 SCC { #14 #16 #58 #111 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: x2 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #16 #111 Number of SCCs: 6, DPs: 46, edges: 326 SCC { #14 #58 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: x1 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #14 #58 Number of SCCs: 5, DPs: 44, edges: 322 SCC { #15 #25 #57 #104 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: x1 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #15 #25 Number of SCCs: 6, DPs: 42, edges: 310 SCC { #57 #104 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: x2 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #57 #104 Number of SCCs: 5, DPs: 40, edges: 306 SCC { #17 #18 #21 #33 #53 #72 #84 #92 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: x1 + x2 + x4 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #17 #18 #33 #53 #72 #84 Number of SCCs: 6, DPs: 34, edges: 246 SCC { #21 #92 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: x3 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 #uTake1(x1) weight: 0 and(x1,x2) weight: 0 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 0 uLength(x1,x2) weight: 0 #mark(x1) weight: 0 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 isNat(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { } Removed DPs: #21 #92 Number of SCCs: 5, DPs: 32, edges: 242 SCC { #1 #4 #6 #7 #27 #31 #36 #39 #42 #44 #46 #56 #59 #61..63 #68 #74 #79 #83 #85 #88 #90 #93 #96 #97 #103 #106 #109 #112 #114 #115 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: x1 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 1 2) + x1 + x2 #uTake1(x1) weight: 0 and(x1,x2) weight: x1 + x2 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: (/ 1 2) + x1 + x2 + x3 + x4 uLength(x1,x2) weight: (/ 1 4) + x1 + x2 #mark(x1) weight: x1 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 isNat(x1) weight: 0 active(x1) weight: x1 cons(x1,x2) weight: x1 + x2 #active(x1) weight: x1 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: (/ 1 4) + x1 length(x1) weight: (/ 1 4) + x1 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { 1..68 } Removed DPs: #6 #7 #39 #44 #56 #61 #90 Number of SCCs: 6, DPs: 25, edges: 94 SCC { #1 #4 #27 #31 #36 #42 #46 #59 #62 #63 #68 #74 #79 #83 #85 #88 #93 #96 #97 #103 #106 #109 #112 #114 #115 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: x1 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 1 2) + x2 #uTake1(x1) weight: 0 and(x1,x2) weight: x1 + x2 isNatIList(x1) weight: 0 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: (/ 1 4) + x3 uLength(x1,x2) weight: (/ 1 4) #mark(x1) weight: x1 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 isNat(x1) weight: 0 active(x1) weight: x1 cons(x1,x2) weight: x1 #active(x1) weight: x1 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: (/ 1 4) length(x1) weight: (/ 1 4) #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { 1..68 } Removed DPs: #46 #106 Number of SCCs: 6, DPs: 21, edges: 80 SCC { #1 #27 #31 #36 #59 #62 #63 #68 #74 #79 #83 #85 #88 #93 #96 #97 #103 #109 #112 #114 #115 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: (/ 42787 2) + x1 #cons(x1,x2) weight: 0 s(x1) weight: x1 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 16021 + x1 + x2 #uTake1(x1) weight: 0 and(x1,x2) weight: x1 + x2 isNatIList(x1) weight: 21394 + x1 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: 16021 + x2 + x3 + x4 uLength(x1,x2) weight: 21394 + x2 #mark(x1) weight: x1 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 isNat(x1) weight: x1 active(x1) weight: x1 cons(x1,x2) weight: x1 + x2 #active(x1) weight: x1 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: (/ 1 2) length(x1) weight: 21394 + x1 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { 1..68 } Removed DPs: #1 #68 #74 Number of SCCs: 7, DPs: 18, edges: 67 SCC { #79 #109 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: x1 #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 3 8) #uTake1(x1) weight: 0 and(x1,x2) weight: (/ 3 8) isNatIList(x1) weight: x1 zeros() weight: 0 uTake2(x1,x2,x3,x4) weight: (/ 1 2) + x3 + x4 uLength(x1,x2) weight: (/ 1 8) + x2 #mark(x1) weight: (/ 1 8) + x1 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 isNat(x1) weight: x1 active(x1) weight: x1 cons(x1,x2) weight: (/ 1 4) + x1 + x2 #active(x1) weight: x1 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: (/ 1 2) length(x1) weight: (/ 1 8) #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { 41 42 } Removed DPs: #79 #109 Number of SCCs: 6, DPs: 16, edges: 65 SCC { #27 #31 #36 #59 #62 #63 #83 #85 #88 #93 #96 #97 #103 #112 #114 #115 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: (/ 1 4) #cons(x1,x2) weight: 0 s(x1) weight: x1 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: max{0, (/ 1 2) + x2} #uTake1(x1) weight: 0 and(x1,x2) weight: max{x2, x1} isNatIList(x1) weight: (/ 1 4) zeros() weight: (/ 1 4) uTake2(x1,x2,x3,x4) weight: max{0, (/ 1 2) + x4, (/ 1 4) + x3} uLength(x1,x2) weight: max{0, x2} #mark(x1) weight: x1 0() weight: 0 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 isNat(x1) weight: (/ 1 4) active(x1) weight: x1 cons(x1,x2) weight: max{x2, (/ 1 4) + x1} #active(x1) weight: x1 #isNatIList(x1) weight: 0 tt() weight: (/ 1 4) uTake1(x1) weight: 0 length(x1) weight: x1 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { 1..68 } Removed DPs: #83 Number of SCCs: 6, DPs: 13, edges: 45 SCC { #27 #36 #59 #62 #63 #85 #88 #96 #97 #103 #112 #114 #115 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0 isNatList(x1) weight: 15922 + x1 #cons(x1,x2) weight: 0 s(x1) weight: x1 #isNat(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: max{15923 + x2, x1} #uTake1(x1) weight: 0 and(x1,x2) weight: max{x2, (/ 1 2) + x1} isNatIList(x1) weight: (/ 31845 2) + x1 zeros() weight: (/ 45799 2) uTake2(x1,x2,x3,x4) weight: max{0, 15923 + x4, (/ 13953 2) + x3, x2} uLength(x1,x2) weight: max{0, (/ 1 2) + x2} #mark(x1) weight: x1 0() weight: 15923 #isNatList(x1) weight: 0 #s(x1) weight: 0 nil() weight: (/ 1 2) mark(x1) weight: x1 isNat(x1) weight: (/ 31843 2) + x1 active(x1) weight: x1 cons(x1,x2) weight: max{x2, (/ 13953 2) + x1} #active(x1) weight: x1 #isNatIList(x1) weight: 0 tt() weight: 0 uTake1(x1) weight: (/ 1 2) + x1 length(x1) weight: (/ 1 2) + x1 #length(x1) weight: 0 #and(x1,x2) weight: 0 #uLength(x1,x2) weight: 0 Usable rules: { 1..68 } Removed DPs: #114 Number of SCCs: 6, DPs: 12, edges: 32 SCC { #27 #36 #59 #62 #63 #85 #88 #96 #97 #103 #112 #115 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... succeeded. #uTake2(x1,x2,x3,x4) weight: 0; 0 isNatList(x1) weight: x1_2; (/ 1 8) #cons(x1,x2) weight: 0; 0 s(x1) weight: (/ 1 4) + x1_1; (/ 1 8) + x1_2 #isNat(x1) weight: 0; 0 #take(x1,x2) weight: 0; 0 take(x1,x2) weight: (/ 1 8) + x2_1 + x1_1 + x1_2; (/ 1 4) + x2_2 #uTake1(x1) weight: 0; 0 and(x1,x2) weight: x2_1; x2_2 isNatIList(x1) weight: (/ 1 4) + x1_2; (/ 1 8) zeros() weight: (/ 1 8); 0 uTake2(x1,x2,x3,x4) weight: (/ 3 8) + x4_1 + x4_2 + x2_1 + x2_2 + x1_2; (/ 1 8) + x4_2 + x3_2 + x1_2 uLength(x1,x2) weight: x2_1 + x1_1; (/ 1 8) + x2_1 + x2_2 + x1_1 + x1_2 #mark(x1) weight: x1_1 + x1_2; 0 0() weight: (/ 1 8); 0 #isNatList(x1) weight: 0; 0 #s(x1) weight: 0; 0 nil() weight: (/ 1 8); (/ 1 4) mark(x1) weight: x1_1; x1_2 isNat(x1) weight: (/ 1 8) + x1_1 + x1_2; (/ 1 8) + x1_1 + x1_2 active(x1) weight: x1_1; x1_2 cons(x1,x2) weight: x2_1 + x2_2; x2_2 + x1_2 #active(x1) weight: x1_1 + x1_2; 0 #isNatIList(x1) weight: 0; 0 tt() weight: (/ 1 4); (/ 1 8) uTake1(x1) weight: (/ 1 8); (/ 1 4) length(x1) weight: x1_1; (/ 3 8) + x1_1 + x1_2 #length(x1) weight: 0; 0 #and(x1,x2) weight: 0; 0 #uLength(x1,x2) weight: 0; 0 Usable rules: { 1..68 } Removed DPs: #36 #97 Number of SCCs: 6, DPs: 7, edges: 15 SCC { #27 #62 #63 #96 #103 #112 #115 } 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. #uTake2(x1,x2,x3,x4) weight: 0; 0 isNatList(x1) weight: max{0, (/ 1 8) + x1_1 + x1_2}; 0 #cons(x1,x2) weight: 0; 0 s(x1) weight: max{0, x1_1 + x1_2}; 0 #isNat(x1) weight: 0; 0 #take(x1,x2) weight: 0; 0 take(x1,x2) weight: max{0, (/ 7 8) + x2_1 + x2_2}; (- (/ 7 8)) #uTake1(x1) weight: 0; 0 and(x1,x2) weight: max{0, x2_1 + x2_2}; 0 isNatIList(x1) weight: max{0, (/ 1 8) + x1_1 + x1_2}; 0 zeros() weight: (/ 1 16); (- (/ 13 16)) uTake2(x1,x2,x3,x4) weight: max{0, (/ 7 8) + x4_1 + x4_2}; (- (/ 1 8)) uLength(x1,x2) weight: max{0, (/ 1 16) + x2_1 + x2_2}; (- (/ 1 8)) #mark(x1) weight: max{0, (/ 1 16) + x1_1 + x1_2}; 0 0() weight: (/ 1 16); (- (/ 1 2)) #isNatList(x1) weight: 0; 0 #s(x1) weight: 0; 0 nil() weight: (/ 1 16); (- (/ 13 16)) mark(x1) weight: max{0, x1_1 + x1_2}; 0 isNat(x1) weight: max{0, (/ 7 16) + x1_1 + x1_2}; (- (/ 1 16)) + x1_2 active(x1) weight: max{0, x1_1 + x1_2}; 0 cons(x1,x2) weight: max{0, (/ 13 16) + x2_1 + x2_2}; (- (/ 1 16)) #active(x1) weight: max{0, (/ 1 16) + x1_1}; 0 #isNatIList(x1) weight: 0; 0 tt() weight: (/ 1 16); (- (/ 5 8)) uTake1(x1) weight: 0; (- (/ 7 8)) length(x1) weight: max{0, (/ 1 16) + x1_1 + x1_2}; (- (/ 1 8)) #length(x1) weight: 0; 0 #and(x1,x2) weight: 0; 0 #uLength(x1,x2) weight: 0; 0 Usable rules: { 1..68 } Removed DPs: #27 #63 Number of SCCs: 6, DPs: 3, edges: 5 SCC { #103 #112 #115 } 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