Input TRS: 1: zeros() -> cons(0(),n__zeros()) 2: U11(tt(),V1) -> U12(isNatList(activate(V1))) 3: U12(tt()) -> tt() 4: U21(tt(),V1) -> U22(isNat(activate(V1))) 5: U22(tt()) -> tt() 6: U31(tt(),V) -> U32(isNatList(activate(V))) 7: U32(tt()) -> tt() 8: U41(tt(),V1,V2) -> U42(isNat(activate(V1)),activate(V2)) 9: U42(tt(),V2) -> U43(isNatIList(activate(V2))) 10: U43(tt()) -> tt() 11: U51(tt(),V1,V2) -> U52(isNat(activate(V1)),activate(V2)) 12: U52(tt(),V2) -> U53(isNatList(activate(V2))) 13: U53(tt()) -> tt() 14: U61(tt(),V1,V2) -> U62(isNat(activate(V1)),activate(V2)) 15: U62(tt(),V2) -> U63(isNatIList(activate(V2))) 16: U63(tt()) -> tt() 17: U71(tt(),L) -> s(length(activate(L))) 18: U81(tt()) -> nil() 19: U91(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL))) 20: and(tt(),X) -> activate(X) 21: isNat(n__0()) -> tt() 22: isNat(n__length(V1)) -> U11(isNatIListKind(activate(V1)),activate(V1)) 23: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) 24: isNatIList(V) -> U31(isNatIListKind(activate(V)),activate(V)) 25: isNatIList(n__zeros()) -> tt() 26: isNatIList(n__cons(V1,V2)) -> U41(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) 27: isNatIListKind(n__nil()) -> tt() 28: isNatIListKind(n__zeros()) -> tt() 29: isNatIListKind(n__cons(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) 30: isNatIListKind(n__take(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) 31: isNatKind(n__0()) -> tt() 32: isNatKind(n__length(V1)) -> isNatIListKind(activate(V1)) 33: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 34: isNatList(n__nil()) -> tt() 35: isNatList(n__cons(V1,V2)) -> U51(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) 36: isNatList(n__take(V1,V2)) -> U61(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) 37: length(nil()) -> 0() 38: length(cons(N,L)) -> U71(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and(n__isNat(N),n__isNatKind(N))),activate(L)) 39: take(0(),IL) -> U81(and(isNatIList(IL),n__isNatIListKind(IL))) 40: take(s(M),cons(N,IL)) -> U91(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),n__and(n__and(n__isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N)))),activate(IL),M,N) 41: zeros() -> n__zeros() 42: take(X1,X2) -> n__take(X1,X2) 43: 0() -> n__0() 44: length(X) -> n__length(X) 45: s(X) -> n__s(X) 46: cons(X1,X2) -> n__cons(X1,X2) 47: isNatIListKind(X) -> n__isNatIListKind(X) 48: nil() -> n__nil() 49: and(X1,X2) -> n__and(X1,X2) 50: isNat(X) -> n__isNat(X) 51: isNatKind(X) -> n__isNatKind(X) 52: activate(n__zeros()) -> zeros() 53: activate(n__take(X1,X2)) -> take(activate(X1),activate(X2)) 54: activate(n__0()) -> 0() 55: activate(n__length(X)) -> length(activate(X)) 56: activate(n__s(X)) -> s(activate(X)) 57: activate(n__cons(X1,X2)) -> cons(activate(X1),X2) 58: activate(n__isNatIListKind(X)) -> isNatIListKind(X) 59: activate(n__nil()) -> nil() 60: activate(n__and(X1,X2)) -> and(activate(X1),X2) 61: activate(n__isNat(X)) -> isNat(X) 62: activate(n__isNatKind(X)) -> isNatKind(X) 63: activate(X) -> X Number of strict rules: 63 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #U11(tt(),V1) -> #U12(isNatList(activate(V1))) #2: #U11(tt(),V1) -> #isNatList(activate(V1)) #3: #U11(tt(),V1) -> #activate(V1) #4: #isNatIListKind(n__cons(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #5: #isNatIListKind(n__cons(V1,V2)) -> #isNatKind(activate(V1)) #6: #isNatIListKind(n__cons(V1,V2)) -> #activate(V1) #7: #isNatIListKind(n__cons(V1,V2)) -> #activate(V2) #8: #isNatList(n__cons(V1,V2)) -> #U51(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) #9: #isNatList(n__cons(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #10: #isNatList(n__cons(V1,V2)) -> #isNatKind(activate(V1)) #11: #isNatList(n__cons(V1,V2)) -> #activate(V1) #12: #isNatList(n__cons(V1,V2)) -> #activate(V2) #13: #isNatList(n__cons(V1,V2)) -> #activate(V1) #14: #isNatList(n__cons(V1,V2)) -> #activate(V2) #15: #length(nil()) -> #0() #16: #activate(n__take(X1,X2)) -> #take(activate(X1),activate(X2)) #17: #activate(n__take(X1,X2)) -> #activate(X1) #18: #activate(n__take(X1,X2)) -> #activate(X2) #19: #activate(n__isNatIListKind(X)) -> #isNatIListKind(X) #20: #activate(n__isNat(X)) -> #isNat(X) #21: #length(cons(N,L)) -> #U71(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and(n__isNat(N),n__isNatKind(N))),activate(L)) #22: #length(cons(N,L)) -> #and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and(n__isNat(N),n__isNatKind(N))) #23: #length(cons(N,L)) -> #and(isNatList(activate(L)),n__isNatIListKind(activate(L))) #24: #length(cons(N,L)) -> #isNatList(activate(L)) #25: #length(cons(N,L)) -> #activate(L) #26: #length(cons(N,L)) -> #activate(L) #27: #length(cons(N,L)) -> #activate(L) #28: #U31(tt(),V) -> #U32(isNatList(activate(V))) #29: #U31(tt(),V) -> #isNatList(activate(V)) #30: #U31(tt(),V) -> #activate(V) #31: #activate(n__nil()) -> #nil() #32: #activate(n__length(X)) -> #length(activate(X)) #33: #activate(n__length(X)) -> #activate(X) #34: #take(s(M),cons(N,IL)) -> #U91(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),n__and(n__and(n__isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N)))),activate(IL),M,N) #35: #take(s(M),cons(N,IL)) -> #and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),n__and(n__and(n__isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N)))) #36: #take(s(M),cons(N,IL)) -> #and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))) #37: #take(s(M),cons(N,IL)) -> #isNatIList(activate(IL)) #38: #take(s(M),cons(N,IL)) -> #activate(IL) #39: #take(s(M),cons(N,IL)) -> #activate(IL) #40: #take(s(M),cons(N,IL)) -> #activate(IL) #41: #U42(tt(),V2) -> #U43(isNatIList(activate(V2))) #42: #U42(tt(),V2) -> #isNatIList(activate(V2)) #43: #U42(tt(),V2) -> #activate(V2) #44: #U51(tt(),V1,V2) -> #U52(isNat(activate(V1)),activate(V2)) #45: #U51(tt(),V1,V2) -> #isNat(activate(V1)) #46: #U51(tt(),V1,V2) -> #activate(V1) #47: #U51(tt(),V1,V2) -> #activate(V2) #48: #activate(n__cons(X1,X2)) -> #cons(activate(X1),X2) #49: #activate(n__cons(X1,X2)) -> #activate(X1) #50: #isNatIList(V) -> #U31(isNatIListKind(activate(V)),activate(V)) #51: #isNatIList(V) -> #isNatIListKind(activate(V)) #52: #isNatIList(V) -> #activate(V) #53: #isNatIList(V) -> #activate(V) #54: #isNat(n__s(V1)) -> #U21(isNatKind(activate(V1)),activate(V1)) #55: #isNat(n__s(V1)) -> #isNatKind(activate(V1)) #56: #isNat(n__s(V1)) -> #activate(V1) #57: #isNat(n__s(V1)) -> #activate(V1) #58: #U52(tt(),V2) -> #U53(isNatList(activate(V2))) #59: #U52(tt(),V2) -> #isNatList(activate(V2)) #60: #U52(tt(),V2) -> #activate(V2) #61: #activate(n__s(X)) -> #s(activate(X)) #62: #activate(n__s(X)) -> #activate(X) #63: #U61(tt(),V1,V2) -> #U62(isNat(activate(V1)),activate(V2)) #64: #U61(tt(),V1,V2) -> #isNat(activate(V1)) #65: #U61(tt(),V1,V2) -> #activate(V1) #66: #U61(tt(),V1,V2) -> #activate(V2) #67: #activate(n__isNatKind(X)) -> #isNatKind(X) #68: #isNatIListKind(n__take(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #69: #isNatIListKind(n__take(V1,V2)) -> #isNatKind(activate(V1)) #70: #isNatIListKind(n__take(V1,V2)) -> #activate(V1) #71: #isNatIListKind(n__take(V1,V2)) -> #activate(V2) #72: #activate(n__zeros()) -> #zeros() #73: #and(tt(),X) -> #activate(X) #74: #take(0(),IL) -> #U81(and(isNatIList(IL),n__isNatIListKind(IL))) #75: #take(0(),IL) -> #and(isNatIList(IL),n__isNatIListKind(IL)) #76: #take(0(),IL) -> #isNatIList(IL) #77: #isNatKind(n__s(V1)) -> #isNatKind(activate(V1)) #78: #isNatKind(n__s(V1)) -> #activate(V1) #79: #isNat(n__length(V1)) -> #U11(isNatIListKind(activate(V1)),activate(V1)) #80: #isNat(n__length(V1)) -> #isNatIListKind(activate(V1)) #81: #isNat(n__length(V1)) -> #activate(V1) #82: #isNat(n__length(V1)) -> #activate(V1) #83: #activate(n__and(X1,X2)) -> #and(activate(X1),X2) #84: #activate(n__and(X1,X2)) -> #activate(X1) #85: #U71(tt(),L) -> #s(length(activate(L))) #86: #U71(tt(),L) -> #length(activate(L)) #87: #U71(tt(),L) -> #activate(L) #88: #isNatKind(n__length(V1)) -> #isNatIListKind(activate(V1)) #89: #isNatKind(n__length(V1)) -> #activate(V1) #90: #U91(tt(),IL,M,N) -> #cons(activate(N),n__take(activate(M),activate(IL))) #91: #U91(tt(),IL,M,N) -> #activate(N) #92: #U91(tt(),IL,M,N) -> #activate(M) #93: #U91(tt(),IL,M,N) -> #activate(IL) #94: #isNatIList(n__cons(V1,V2)) -> #U41(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) #95: #isNatIList(n__cons(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #96: #isNatIList(n__cons(V1,V2)) -> #isNatKind(activate(V1)) #97: #isNatIList(n__cons(V1,V2)) -> #activate(V1) #98: #isNatIList(n__cons(V1,V2)) -> #activate(V2) #99: #isNatIList(n__cons(V1,V2)) -> #activate(V1) #100: #isNatIList(n__cons(V1,V2)) -> #activate(V2) #101: #isNatList(n__take(V1,V2)) -> #U61(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) #102: #isNatList(n__take(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #103: #isNatList(n__take(V1,V2)) -> #isNatKind(activate(V1)) #104: #isNatList(n__take(V1,V2)) -> #activate(V1) #105: #isNatList(n__take(V1,V2)) -> #activate(V2) #106: #isNatList(n__take(V1,V2)) -> #activate(V1) #107: #isNatList(n__take(V1,V2)) -> #activate(V2) #108: #zeros() -> #cons(0(),n__zeros()) #109: #zeros() -> #0() #110: #activate(n__0()) -> #0() #111: #U41(tt(),V1,V2) -> #U42(isNat(activate(V1)),activate(V2)) #112: #U41(tt(),V1,V2) -> #isNat(activate(V1)) #113: #U41(tt(),V1,V2) -> #activate(V1) #114: #U41(tt(),V1,V2) -> #activate(V2) #115: #U62(tt(),V2) -> #U63(isNatIList(activate(V2))) #116: #U62(tt(),V2) -> #isNatIList(activate(V2)) #117: #U62(tt(),V2) -> #activate(V2) #118: #U21(tt(),V1) -> #U22(isNat(activate(V1))) #119: #U21(tt(),V1) -> #isNat(activate(V1)) #120: #U21(tt(),V1) -> #activate(V1) #121: #U81(tt()) -> #nil() Number of SCCs: 1, DPs: 103, edges: 903 SCC { #2..14 #16..27 #29 #30 #32..40 #42..47 #49..57 #59 #60 #62..71 #73 #75..84 #86..89 #91..107 #111..114 #116 #117 #119 #120 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #0() weight: 0 #U32(x1) weight: 0 #isNatIListKind(x1) weight: x1 isNatKind(x1) weight: x1 U21(x1,x2) weight: max{(/ 1 32) + x2, (/ 1 32) + x1} isNatList(x1) weight: (/ 1 32) U11(x1,x2) weight: max{(/ 1 32) + x2, (/ 1 32) + x1} #cons(x1,x2) weight: 0 s(x1) weight: x1 #isNat(x1) weight: (/ 1 16) + x1 #take(x1,x2) weight: max{(/ 1 16) + x2, (/ 9 32) + x1} U42(x1,x2) weight: max{(/ 3 16) + x2, (/ 1 16) + x1} U91(x1,x2,x3,x4) weight: max{0, (/ 3 8) + x4, (/ 5 16) + x3, (/ 11 32) + x2} activate(x1) weight: x1 n__isNatIListKind(x1) weight: x1 take(x1,x2) weight: max{(/ 11 32) + x2, (/ 5 16) + x1} U71(x1,x2) weight: max{0, x2} n__isNatKind(x1) weight: x1 #U81(x1) weight: 0 and(x1,x2) weight: max{x2, x1} n__zeros() weight: (/ 7 32) isNatIList(x1) weight: (/ 1 32) U43(x1) weight: x1 #activate(x1) weight: x1 #U53(x1) weight: 0 #U43(x1) weight: 0 U63(x1) weight: 0 zeros() weight: (/ 7 32) n__nil() weight: (/ 1 16) #U52(x1,x2) weight: max{x2, x1} U12(x1) weight: (/ 1 16) n__s(x1) weight: x1 #U42(x1,x2) weight: max{x2, x1} #U12(x1) weight: 0 #U62(x1,x2) weight: max{0, (/ 1 32) + x2} 0() weight: (/ 1 16) #zeros() weight: 0 n__take(x1,x2) weight: max{(/ 11 32) + x2, (/ 5 16) + x1} #isNatList(x1) weight: x1 #s(x1) weight: 0 n__cons(x1,x2) weight: max{x2, (/ 5 32) + x1} nil() weight: (/ 1 16) isNatIListKind(x1) weight: x1 n__isNat(x1) weight: (/ 3 32) + x1 U62(x1,x2) weight: 0 #U63(x1) weight: 0 #nil() weight: 0 U32(x1) weight: x1 n__0() weight: (/ 1 16) n__length(x1) weight: x1 isNat(x1) weight: (/ 3 32) + x1 U52(x1,x2) weight: max{0, (/ 1 16) + x1} U61(x1,x2,x3) weight: max{0, (/ 1 16) + x3} #U51(x1,x2,x3) weight: max{0, x3, (/ 5 32) + x2} #U11(x1,x2) weight: max{(/ 1 32) + x2, (/ 1 32) + x1} U31(x1,x2) weight: 0 #U41(x1,x2,x3) weight: max{0, x3, (/ 1 8) + x2} cons(x1,x2) weight: max{x2, (/ 5 32) + x1} #isNatIList(x1) weight: x1 #U21(x1,x2) weight: max{(/ 1 16) + x2, (/ 1 32) + x1} U81(x1) weight: (/ 3 8) #U22(x1) weight: 0 tt() weight: (/ 1 16) n__and(x1,x2) weight: max{x2, x1} #U71(x1,x2) weight: max{0, x2} U22(x1) weight: (/ 1 16) U51(x1,x2,x3) weight: max{0, (/ 1 16) + x1} #isNatKind(x1) weight: x1 U53(x1) weight: 0 length(x1) weight: x1 #length(x1) weight: x1 U41(x1,x2,x3) weight: max{0, (/ 5 32) + x2, (/ 1 16) + x1} #U31(x1,x2) weight: max{x2, x1} #and(x1,x2) weight: max{0, x2} #U91(x1,x2,x3,x4) weight: max{0, (/ 1 32) + x4, (/ 1 4) + x3, (/ 1 32) + x2} #U61(x1,x2,x3) weight: max{(/ 9 32) + x3, (/ 9 32) + x2, (/ 9 32) + x1} Usable rules: { 1..5 17..23 27..33 37..63 } Removed DPs: #2 #3 #5 #6 #10 #11 #13 #16..18 #20 #22 #34..40 #45 #46 #49 #55..57 #63..66 #68..71 #75 #76 #79..82 #91..93 #96 #97 #99 #101..107 #112 #113 #116 #117 #120 Number of SCCs: 3, DPs: 35, edges: 152 SCC { #54 #119 } 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 #U32(x1) weight: 0; 0 #isNatIListKind(x1) weight: 0; 0 isNatKind(x1) weight: (max (/ 5 32) 0); 0 U21(x1,x2) weight: (max (/ 3 16) 0); 0 isNatList(x1) weight: max{0, (/ 1 2) + x1_1 + x1_2}; x1_2 U11(x1,x2) weight: max{0, (/ 17 32) + x2_1}; 0 #cons(x1,x2) weight: 0; 0 s(x1) weight: max{0, (/ 3 32) + x1_1}; 0 #isNat(x1) weight: max{0, (- (/ 1 32)) + x1_1 + x1_2}; 0 #take(x1,x2) weight: 0; 0 U42(x1,x2) weight: max{0, (- (/ 3 16)) + x2_2 + x1_1}; (- (/ 5 32)) + x1_2 U91(x1,x2,x3,x4) weight: max{0, (/ 1 8) + x3_1 + x3_2}; x3_2 activate(x1) weight: max{0, x1_1}; x1_2 n__isNatIListKind(x1) weight: (max (/ 5 32) 0); 0 take(x1,x2) weight: max{0, (/ 1 32) + x1_1}; x1_2 U71(x1,x2) weight: max{0, (/ 7 16) + x2_1 + x1_2}; x1_2 n__isNatKind(x1) weight: (max (/ 5 32) 0); 0 #U81(x1) weight: 0; 0 and(x1,x2) weight: max{0, (- (/ 5 32)) + x2_1 + x1_1}; x1_2 n__zeros() weight: (/ 1 32); (- (/ 23 32)) isNatIList(x1) weight: max{0, (/ 13 16) + x1_1 + x1_2}; (- (/ 3 32)) + x1_2 U43(x1) weight: max{0, (/ 1 8) + x1_2}; (- (/ 1 32)) + x1_2 #activate(x1) weight: 0; 0 #U53(x1) weight: 0; 0 #U43(x1) weight: 0; 0 U63(x1) weight: (max (/ 5 32) 0); 0 zeros() weight: (/ 1 32); (- (/ 23 32)) n__nil() weight: (/ 1 32); 0 #U52(x1,x2) weight: 0; 0 U12(x1) weight: max{0, (/ 1 32) + x1_1}; x1_2 n__s(x1) weight: max{0, (/ 3 32) + x1_1}; 0 #U42(x1,x2) weight: 0; 0 #U12(x1) weight: 0; 0 #U62(x1,x2) weight: 0; 0 0() weight: (/ 1 32); 0 #zeros() weight: 0; 0 n__take(x1,x2) weight: max{0, (/ 1 32) + x1_1}; x1_2 #isNatList(x1) weight: 0; 0 #s(x1) weight: 0; 0 n__cons(x1,x2) weight: max{0, (/ 3 32) + x2_1 + x2_2}; x2_2 nil() weight: (/ 1 32); 0 isNatIListKind(x1) weight: (max (/ 5 32) 0); 0 n__isNat(x1) weight: max{0, (/ 3 16) + x1_1}; x1_2 U62(x1,x2) weight: max{0, (/ 5 32) + x1_2}; x1_2 #U63(x1) weight: 0; 0 #nil() weight: 0; 0 U32(x1) weight: (max (/ 1 8) 0); (- (/ 1 32)) n__0() weight: (/ 1 32); 0 n__length(x1) weight: max{0, (/ 11 32) + x1_1}; 0 isNat(x1) weight: max{0, (/ 3 16) + x1_1}; x1_2 U52(x1,x2) weight: max{0, (/ 5 32) + x2_2}; x2_2 U61(x1,x2,x3) weight: max{0, (/ 5 32) + x2_2}; x2_2 #U51(x1,x2,x3) weight: 0; 0 #U11(x1,x2) weight: 0; 0 U31(x1,x2) weight: max{0, (/ 27 32) + x2_2}; (- (/ 1 16)) #U41(x1,x2,x3) weight: 0; 0 cons(x1,x2) weight: max{0, (/ 3 32) + x2_1 + x2_2}; x2_2 #isNatIList(x1) weight: 0; 0 #U21(x1,x2) weight: max{0, (/ 1 32) + x2_1 + x2_2}; 0 U81(x1) weight: (max (/ 1 32) 0); 0 #U22(x1) weight: 0; 0 tt() weight: (/ 5 32); 0 n__and(x1,x2) weight: max{0, (- (/ 5 32)) + x2_1 + x1_1}; x1_2 #U71(x1,x2) weight: 0; 0 U22(x1) weight: max{0, (/ 5 32) + x1_2}; 0 U51(x1,x2,x3) weight: max{0, x3_2 + x1_1}; x3_2 #isNatKind(x1) weight: 0; 0 U53(x1) weight: max{0, (/ 5 32) + x1_2}; x1_2 length(x1) weight: max{0, (/ 11 32) + x1_1}; 0 #length(x1) weight: 0; 0 U41(x1,x2,x3) weight: max{0, (/ 15 16) + x3_2 + x2_2}; (- (/ 1 16)) + x2_2 #U31(x1,x2) weight: 0; 0 #and(x1,x2) weight: 0; 0 #U91(x1,x2,x3,x4) weight: 0; 0 #U61(x1,x2,x3) weight: 0; 0 Usable rules: { 1..5 11..23 27..63 } Removed DPs: #54 Number of SCCs: 2, DPs: 33, edges: 150 SCC { #42 #94 #111 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)...