YES Input TRS: 1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) 2: active(__(X,nil())) -> mark(X) 3: active(__(nil(),X)) -> mark(X) 4: active(and(tt(),X)) -> mark(X) 5: active(isList(V)) -> mark(isNeList(V)) 6: active(isList(nil())) -> mark(tt()) 7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) 8: active(isNeList(V)) -> mark(isQid(V)) 9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) 10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) 11: active(isNePal(V)) -> mark(isQid(V)) 12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) 13: active(isPal(V)) -> mark(isNePal(V)) 14: active(isPal(nil())) -> mark(tt()) 15: active(isQid(a())) -> mark(tt()) 16: active(isQid(e())) -> mark(tt()) 17: active(isQid(i())) -> mark(tt()) 18: active(isQid(o())) -> mark(tt()) 19: active(isQid(u())) -> mark(tt()) 20: active(__(X1,X2)) -> __(active(X1),X2) 21: active(__(X1,X2)) -> __(X1,active(X2)) 22: active(and(X1,X2)) -> and(active(X1),X2) 23: __(mark(X1),X2) -> mark(__(X1,X2)) 24: __(X1,mark(X2)) -> mark(__(X1,X2)) 25: and(mark(X1),X2) -> mark(and(X1,X2)) 26: proper(__(X1,X2)) -> __(proper(X1),proper(X2)) 27: proper(nil()) -> ok(nil()) 28: proper(and(X1,X2)) -> and(proper(X1),proper(X2)) 29: proper(tt()) -> ok(tt()) 30: proper(isList(X)) -> isList(proper(X)) 31: proper(isNeList(X)) -> isNeList(proper(X)) 32: proper(isQid(X)) -> isQid(proper(X)) 33: proper(isNePal(X)) -> isNePal(proper(X)) 34: proper(isPal(X)) -> isPal(proper(X)) 35: proper(a()) -> ok(a()) 36: proper(e()) -> ok(e()) 37: proper(i()) -> ok(i()) 38: proper(o()) -> ok(o()) 39: proper(u()) -> ok(u()) 40: __(ok(X1),ok(X2)) -> ok(__(X1,X2)) 41: and(ok(X1),ok(X2)) -> ok(and(X1,X2)) 42: isList(ok(X)) -> ok(isList(X)) 43: isNeList(ok(X)) -> ok(isNeList(X)) 44: isQid(ok(X)) -> ok(isQid(X)) 45: isNePal(ok(X)) -> ok(isNePal(X)) 46: isPal(ok(X)) -> ok(isPal(X)) 47: top(mark(X)) -> top(proper(X)) 48: top(ok(X)) -> top(active(X)) Number of strict rules: 48 Direct POLO(bPol) ... removes: 18 4 15 8 1 3 16 19 17 5 10 7 14 12 11 9 13 6 2 a w: 13706 isNeList w: x1 + 13260 isPal w: x1 + 16529 u w: 12384 top w: x1 + 3009 and w: 2 * x1 + x2 + 3137 isNePal w: x1 + 16528 isQid w: x1 + 1 o w: 3699 proper w: x1 ok w: x1 isList w: x1 + 30219 nil w: 21804 mark w: x1 i w: 1 e w: 43369 active w: x1 tt w: 1 __ w: 2 * x1 + x2 + 63576 Number of strict rules: 29 Direct POLO(bPol) ... removes: 23 47 a w: 8136 isNeList w: x1 + 2 isPal w: x1 + 12957 u w: 12384 top w: x1 + 32517 and w: x1 + x2 + 11403 isNePal w: x1 + 8703 isQid w: x1 + 1 o w: 28938 proper w: x1 ok w: x1 isList w: x1 + 3 nil w: 1 mark w: x1 + 1 i w: 2 e w: 1 active w: x1 tt w: 1 __ w: 2 * x1 + x2 + 11407 Number of strict rules: 27 Direct POLO(bPol) ... removes: 25 a w: 3 isNeList w: x1 + 1462 isPal w: x1 + 1463 u w: 3 top w: x1 + 37416 and w: 2 * x1 + x2 + 18605 isNePal w: x1 + 1462 isQid w: x1 + 1461 o w: 3 proper w: x1 ok w: x1 isList w: x1 + 7771 nil w: 23691 mark w: x1 + 1 i w: 3 e w: 3 active w: x1 tt w: 1463 __ w: 2 * x1 + x2 + 34148 Number of strict rules: 26 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #isNeList(ok(X)) -> #isNeList(X) #2: #isPal(ok(X)) -> #isPal(X) #3: #isList(ok(X)) -> #isList(X) #4: #and(ok(X1),ok(X2)) -> #and(X1,X2) #5: #top(ok(X)) -> #top(active(X)) #6: #top(ok(X)) -> #active(X) #7: #__(ok(X1),ok(X2)) -> #__(X1,X2) #8: #__(X1,mark(X2)) -> #__(X1,X2) #9: #isNePal(ok(X)) -> #isNePal(X) #10: #proper(isNeList(X)) -> #isNeList(proper(X)) #11: #proper(isNeList(X)) -> #proper(X) #12: #proper(isList(X)) -> #isList(proper(X)) #13: #proper(isList(X)) -> #proper(X) #14: #active(__(X1,X2)) -> #__(active(X1),X2) #15: #active(__(X1,X2)) -> #active(X1) #16: #proper(isNePal(X)) -> #isNePal(proper(X)) #17: #proper(isNePal(X)) -> #proper(X) #18: #isQid(ok(X)) -> #isQid(X) #19: #proper(and(X1,X2)) -> #and(proper(X1),proper(X2)) #20: #proper(and(X1,X2)) -> #proper(X1) #21: #proper(and(X1,X2)) -> #proper(X2) #22: #active(and(X1,X2)) -> #and(active(X1),X2) #23: #active(and(X1,X2)) -> #active(X1) #24: #proper(isPal(X)) -> #isPal(proper(X)) #25: #proper(isPal(X)) -> #proper(X) #26: #proper(isQid(X)) -> #isQid(proper(X)) #27: #proper(isQid(X)) -> #proper(X) #28: #proper(__(X1,X2)) -> #__(proper(X1),proper(X2)) #29: #proper(__(X1,X2)) -> #proper(X1) #30: #proper(__(X1,X2)) -> #proper(X2) #31: #active(__(X1,X2)) -> #__(X1,active(X2)) #32: #active(__(X1,X2)) -> #active(X2) Number of SCCs: 10, DPs: 21 SCC { #1 } POLO(Sum)... succeeded. a w: 0 isNeList w: 0 isPal w: 0 u w: 0 top w: 0 and w: 0 #isNeList w: x1 #top w: 0 #__ w: 0 isNePal w: 0 #isQid w: 0 #isPal w: 0 isQid w: 0 o w: 0 proper w: 0 ok w: x1 + 1 isList w: 0 #isNePal w: 0 nil w: 0 mark w: 0 #isList w: 0 #proper w: 0 i w: 0 e w: 0 active w: 0 #active w: 0 tt w: 0 #and w: 0 __ w: 0 USABLE RULES: { } Removed DPs: #1 Number of SCCs: 9, DPs: 20 SCC { #3 } POLO(Sum)... succeeded. a w: 0 isNeList w: 0 isPal w: 0 u w: 0 top w: 0 and w: 0 #isNeList w: 0 #top w: 0 #__ w: 0 isNePal w: 0 #isQid w: 0 #isPal w: 0 isQid w: 0 o w: 0 proper w: 0 ok w: x1 + 1 isList w: 0 #isNePal w: 0 nil w: 0 mark w: 0 #isList w: x1 #proper w: 0 i w: 0 e w: 0 active w: 0 #active w: 0 tt w: 0 #and w: 0 __ w: 0 USABLE RULES: { } Removed DPs: #3 Number of SCCs: 8, DPs: 19 SCC { #9 } POLO(Sum)... succeeded. a w: 0 isNeList w: 0 isPal w: 0 u w: 0 top w: 0 and w: 0 #isNeList w: 0 #top w: 0 #__ w: 0 isNePal w: 0 #isQid w: 0 #isPal w: 0 isQid w: 0 o w: 0 proper w: 0 ok w: x1 + 1 isList w: 0 #isNePal w: x1 nil w: 0 mark w: 0 #isList w: 0 #proper w: 0 i w: 0 e w: 0 active w: 0 #active w: 0 tt w: 0 #and w: 0 __ w: 0 USABLE RULES: { } Removed DPs: #9 Number of SCCs: 7, DPs: 18 SCC { #2 } POLO(Sum)... succeeded. a w: 0 isNeList w: 0 isPal w: 0 u w: 0 top w: 0 and w: 0 #isNeList w: 0 #top w: 0 #__ w: 0 isNePal w: 0 #isQid w: 0 #isPal w: x1 isQid w: 0 o w: 0 proper w: 0 ok w: x1 + 1 isList w: 0 #isNePal w: 0 nil w: 0 mark w: 0 #isList w: 0 #proper w: 0 i w: 0 e w: 0 active w: 0 #active w: 0 tt w: 0 #and w: 0 __ w: 0 USABLE RULES: { } Removed DPs: #2 Number of SCCs: 6, DPs: 17 SCC { #18 } POLO(Sum)... succeeded. a w: 0 isNeList w: 0 isPal w: 0 u w: 0 top w: 0 and w: 0 #isNeList w: 0 #top w: 0 #__ w: 0 isNePal w: 0 #isQid w: x1 #isPal w: 0 isQid w: 0 o w: 0 proper w: 0 ok w: x1 + 1 isList w: 0 #isNePal w: 0 nil w: 0 mark w: 0 #isList w: 0 #proper w: 0 i w: 0 e w: 0 active w: 0 #active w: 0 tt w: 0 #and w: 0 __ w: 0 USABLE RULES: { } Removed DPs: #18 Number of SCCs: 5, DPs: 16 SCC { #5 } POLO(Sum)... succeeded. a w: 0 isNeList w: 0 isPal w: 0 u w: 0 top w: 0 and w: x1 + x2 + 1 #isNeList w: 0 #top w: x1 #__ w: 0 isNePal w: 0 #isQid w: 0 #isPal w: 0 isQid w: 0 o w: 0 proper w: 0 ok w: x1 + 18817 isList w: 0 #isNePal w: 0 nil w: 0 mark w: x1 + 17651 #isList w: 0 #proper w: 0 i w: 0 e w: 0 active w: x1 + 18816 #active w: 0 tt w: 0 #and w: 0 __ w: x1 + x2 + 62898 USABLE RULES: { 20..22 24 40 41 } Removed DPs: #5 Number of SCCs: 4, DPs: 15 SCC { #4 } POLO(Sum)... succeeded. a w: 0 isNeList w: 0 isPal w: 0 u w: 0 top w: 0 and w: x1 + x2 + 1 #isNeList w: 0 #top w: x1 #__ w: 0 isNePal w: 0 #isQid w: 0 #isPal w: 0 isQid w: 0 o w: 0 proper w: 0 ok w: x1 + 1 isList w: 0 #isNePal w: 0 nil w: 0 mark w: x1 + 1 #isList w: 0 #proper w: 0 i w: 0 e w: 0 active w: x1 + 1 #active w: 0 tt w: 0 #and w: x1 + x2 __ w: x1 + x2 + 1 USABLE RULES: { 20..22 24 40 41 } Removed DPs: #4 Number of SCCs: 3, DPs: 14 SCC { #7 #8 } POLO(Sum)... succeeded. a w: 0 isNeList w: 0 isPal w: 0 u w: 0 top w: 0 and w: x1 + x2 + 1 #isNeList w: 0 #top w: x1 #__ w: x1 + x2 isNePal w: 0 #isQid w: 0 #isPal w: 0 isQid w: 0 o w: 0 proper w: 0 ok w: x1 + 1 isList w: 0 #isNePal w: 0 nil w: 0 mark w: x1 + 8946 #isList w: 0 #proper w: 0 i w: 0 e w: 0 active w: x1 + 1 #active w: 0 tt w: 0 #and w: 0 __ w: x1 + x2 + 29283 USABLE RULES: { 20..22 24 40 41 } Removed DPs: #7 #8 Number of SCCs: 2, DPs: 12 SCC { #15 #23 #32 } POLO(Sum)... succeeded. a w: 0 isNeList w: 0 isPal w: 0 u w: 0 top w: 0 and w: x1 + x2 + 1 #isNeList w: 0 #top w: x1 #__ w: 0 isNePal w: 0 #isQid w: 0 #isPal w: 0 isQid w: 0 o w: 0 proper w: 0 ok w: x1 + 1 isList w: 0 #isNePal w: 0 nil w: 0 mark w: x1 + 60773 #isList w: 0 #proper w: 0 i w: 0 e w: 0 active w: x1 + 40113 #active w: x1 tt w: 0 #and w: 0 __ w: x1 + x2 + 27230 USABLE RULES: { 20..22 24 40 41 } Removed DPs: #15 #23 #32 Number of SCCs: 1, DPs: 9 SCC { #11 #13 #17 #20 #21 #25 #27 #29 #30 } POLO(Sum)... succeeded. a w: 0 isNeList w: x1 + 1 isPal w: x1 + 1 u w: 0 top w: 0 and w: x1 + x2 + 1 #isNeList w: 0 #top w: x1 #__ w: 0 isNePal w: x1 + 1 #isQid w: 0 #isPal w: 0 isQid w: x1 + 1 o w: 0 proper w: 0 ok w: x1 + 1 isList w: x1 + 1 #isNePal w: 0 nil w: 0 mark w: x1 + 50866 #isList w: 0 #proper w: x1 i w: 0 e w: 0 active w: x1 + 3287 #active w: 0 tt w: 0 #and w: 0 __ w: x1 + x2 + 591 USABLE RULES: { 20..22 24 40 41 } Removed DPs: #11 #13 #17 #20 #21 #25 #27 #29 #30 Number of SCCs: 0, DPs: 0