YES We show the termination of the TRS R: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) active(__(X,nil())) -> mark(X) active(__(nil(),X)) -> mark(X) active(U11(tt(),V)) -> mark(U12(isNeList(V))) active(U12(tt())) -> mark(tt()) active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) active(U22(tt(),V2)) -> mark(U23(isList(V2))) active(U23(tt())) -> mark(tt()) active(U31(tt(),V)) -> mark(U32(isQid(V))) active(U32(tt())) -> mark(tt()) active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) active(U43(tt())) -> mark(tt()) active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) active(U52(tt(),V2)) -> mark(U53(isList(V2))) active(U53(tt())) -> mark(tt()) active(U61(tt(),V)) -> mark(U62(isQid(V))) active(U62(tt())) -> mark(tt()) active(U71(tt(),V)) -> mark(U72(isNePal(V))) active(U72(tt())) -> mark(tt()) active(and(tt(),X)) -> mark(X) active(isList(V)) -> mark(U11(isPalListKind(V),V)) active(isList(nil())) -> mark(tt()) active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) active(isPal(V)) -> mark(U71(isPalListKind(V),V)) active(isPal(nil())) -> mark(tt()) active(isPalListKind(a())) -> mark(tt()) active(isPalListKind(e())) -> mark(tt()) active(isPalListKind(i())) -> mark(tt()) active(isPalListKind(nil())) -> mark(tt()) active(isPalListKind(o())) -> mark(tt()) active(isPalListKind(u())) -> mark(tt()) active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) active(isQid(a())) -> mark(tt()) active(isQid(e())) -> mark(tt()) active(isQid(i())) -> mark(tt()) active(isQid(o())) -> mark(tt()) active(isQid(u())) -> mark(tt()) mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) mark(nil()) -> active(nil()) mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) mark(tt()) -> active(tt()) mark(U12(X)) -> active(U12(mark(X))) mark(isNeList(X)) -> active(isNeList(X)) mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) mark(isList(X)) -> active(isList(X)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) mark(U32(X)) -> active(U32(mark(X))) mark(isQid(X)) -> active(isQid(X)) mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) mark(U43(X)) -> active(U43(mark(X))) mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) mark(U53(X)) -> active(U53(mark(X))) mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) mark(U72(X)) -> active(U72(mark(X))) mark(isNePal(X)) -> active(isNePal(X)) mark(and(X1,X2)) -> active(and(mark(X1),X2)) mark(isPalListKind(X)) -> active(isPalListKind(X)) mark(isPal(X)) -> active(isPal(X)) mark(a()) -> active(a()) mark(e()) -> active(e()) mark(i()) -> active(i()) mark(o()) -> active(o()) mark(u()) -> active(u()) __(mark(X1),X2) -> __(X1,X2) __(X1,mark(X2)) -> __(X1,X2) __(active(X1),X2) -> __(X1,X2) __(X1,active(X2)) -> __(X1,X2) U11(mark(X1),X2) -> U11(X1,X2) U11(X1,mark(X2)) -> U11(X1,X2) U11(active(X1),X2) -> U11(X1,X2) U11(X1,active(X2)) -> U11(X1,X2) U12(mark(X)) -> U12(X) U12(active(X)) -> U12(X) isNeList(mark(X)) -> isNeList(X) isNeList(active(X)) -> isNeList(X) U21(mark(X1),X2,X3) -> U21(X1,X2,X3) U21(X1,mark(X2),X3) -> U21(X1,X2,X3) U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) U21(active(X1),X2,X3) -> U21(X1,X2,X3) U21(X1,active(X2),X3) -> U21(X1,X2,X3) U21(X1,X2,active(X3)) -> U21(X1,X2,X3) U22(mark(X1),X2) -> U22(X1,X2) U22(X1,mark(X2)) -> U22(X1,X2) U22(active(X1),X2) -> U22(X1,X2) U22(X1,active(X2)) -> U22(X1,X2) isList(mark(X)) -> isList(X) isList(active(X)) -> isList(X) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1),X2) -> U31(X1,X2) U31(X1,mark(X2)) -> U31(X1,X2) U31(active(X1),X2) -> U31(X1,X2) U31(X1,active(X2)) -> U31(X1,X2) U32(mark(X)) -> U32(X) U32(active(X)) -> U32(X) isQid(mark(X)) -> isQid(X) isQid(active(X)) -> isQid(X) U41(mark(X1),X2,X3) -> U41(X1,X2,X3) U41(X1,mark(X2),X3) -> U41(X1,X2,X3) U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) U41(active(X1),X2,X3) -> U41(X1,X2,X3) U41(X1,active(X2),X3) -> U41(X1,X2,X3) U41(X1,X2,active(X3)) -> U41(X1,X2,X3) U42(mark(X1),X2) -> U42(X1,X2) U42(X1,mark(X2)) -> U42(X1,X2) U42(active(X1),X2) -> U42(X1,X2) U42(X1,active(X2)) -> U42(X1,X2) U43(mark(X)) -> U43(X) U43(active(X)) -> U43(X) U51(mark(X1),X2,X3) -> U51(X1,X2,X3) U51(X1,mark(X2),X3) -> U51(X1,X2,X3) U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) U51(active(X1),X2,X3) -> U51(X1,X2,X3) U51(X1,active(X2),X3) -> U51(X1,X2,X3) U51(X1,X2,active(X3)) -> U51(X1,X2,X3) U52(mark(X1),X2) -> U52(X1,X2) U52(X1,mark(X2)) -> U52(X1,X2) U52(active(X1),X2) -> U52(X1,X2) U52(X1,active(X2)) -> U52(X1,X2) U53(mark(X)) -> U53(X) U53(active(X)) -> U53(X) U61(mark(X1),X2) -> U61(X1,X2) U61(X1,mark(X2)) -> U61(X1,X2) U61(active(X1),X2) -> U61(X1,X2) U61(X1,active(X2)) -> U61(X1,X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1),X2) -> U71(X1,X2) U71(X1,mark(X2)) -> U71(X1,X2) U71(active(X1),X2) -> U71(X1,X2) U71(X1,active(X2)) -> U71(X1,X2) U72(mark(X)) -> U72(X) U72(active(X)) -> U72(X) isNePal(mark(X)) -> isNePal(X) isNePal(active(X)) -> isNePal(X) and(mark(X1),X2) -> and(X1,X2) and(X1,mark(X2)) -> and(X1,X2) and(active(X1),X2) -> and(X1,X2) and(X1,active(X2)) -> and(X1,X2) isPalListKind(mark(X)) -> isPalListKind(X) isPalListKind(active(X)) -> isPalListKind(X) isPal(mark(X)) -> isPal(X) isPal(active(X)) -> isPal(X) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: active#(__(__(X,Y),Z)) -> __#(X,__(Y,Z)) p3: active#(__(__(X,Y),Z)) -> __#(Y,Z) p4: active#(__(X,nil())) -> mark#(X) p5: active#(__(nil(),X)) -> mark#(X) p6: active#(U11(tt(),V)) -> mark#(U12(isNeList(V))) p7: active#(U11(tt(),V)) -> U12#(isNeList(V)) p8: active#(U11(tt(),V)) -> isNeList#(V) p9: active#(U12(tt())) -> mark#(tt()) p10: active#(U21(tt(),V1,V2)) -> mark#(U22(isList(V1),V2)) p11: active#(U21(tt(),V1,V2)) -> U22#(isList(V1),V2) p12: active#(U21(tt(),V1,V2)) -> isList#(V1) p13: active#(U22(tt(),V2)) -> mark#(U23(isList(V2))) p14: active#(U22(tt(),V2)) -> U23#(isList(V2)) p15: active#(U22(tt(),V2)) -> isList#(V2) p16: active#(U23(tt())) -> mark#(tt()) p17: active#(U31(tt(),V)) -> mark#(U32(isQid(V))) p18: active#(U31(tt(),V)) -> U32#(isQid(V)) p19: active#(U31(tt(),V)) -> isQid#(V) p20: active#(U32(tt())) -> mark#(tt()) p21: active#(U41(tt(),V1,V2)) -> mark#(U42(isList(V1),V2)) p22: active#(U41(tt(),V1,V2)) -> U42#(isList(V1),V2) p23: active#(U41(tt(),V1,V2)) -> isList#(V1) p24: active#(U42(tt(),V2)) -> mark#(U43(isNeList(V2))) p25: active#(U42(tt(),V2)) -> U43#(isNeList(V2)) p26: active#(U42(tt(),V2)) -> isNeList#(V2) p27: active#(U43(tt())) -> mark#(tt()) p28: active#(U51(tt(),V1,V2)) -> mark#(U52(isNeList(V1),V2)) p29: active#(U51(tt(),V1,V2)) -> U52#(isNeList(V1),V2) p30: active#(U51(tt(),V1,V2)) -> isNeList#(V1) p31: active#(U52(tt(),V2)) -> mark#(U53(isList(V2))) p32: active#(U52(tt(),V2)) -> U53#(isList(V2)) p33: active#(U52(tt(),V2)) -> isList#(V2) p34: active#(U53(tt())) -> mark#(tt()) p35: active#(U61(tt(),V)) -> mark#(U62(isQid(V))) p36: active#(U61(tt(),V)) -> U62#(isQid(V)) p37: active#(U61(tt(),V)) -> isQid#(V) p38: active#(U62(tt())) -> mark#(tt()) p39: active#(U71(tt(),V)) -> mark#(U72(isNePal(V))) p40: active#(U71(tt(),V)) -> U72#(isNePal(V)) p41: active#(U71(tt(),V)) -> isNePal#(V) p42: active#(U72(tt())) -> mark#(tt()) p43: active#(and(tt(),X)) -> mark#(X) p44: active#(isList(V)) -> mark#(U11(isPalListKind(V),V)) p45: active#(isList(V)) -> U11#(isPalListKind(V),V) p46: active#(isList(V)) -> isPalListKind#(V) p47: active#(isList(nil())) -> mark#(tt()) p48: active#(isList(__(V1,V2))) -> mark#(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) p49: active#(isList(__(V1,V2))) -> U21#(and(isPalListKind(V1),isPalListKind(V2)),V1,V2) p50: active#(isList(__(V1,V2))) -> and#(isPalListKind(V1),isPalListKind(V2)) p51: active#(isList(__(V1,V2))) -> isPalListKind#(V1) p52: active#(isList(__(V1,V2))) -> isPalListKind#(V2) p53: active#(isNeList(V)) -> mark#(U31(isPalListKind(V),V)) p54: active#(isNeList(V)) -> U31#(isPalListKind(V),V) p55: active#(isNeList(V)) -> isPalListKind#(V) p56: active#(isNeList(__(V1,V2))) -> mark#(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) p57: active#(isNeList(__(V1,V2))) -> U41#(and(isPalListKind(V1),isPalListKind(V2)),V1,V2) p58: active#(isNeList(__(V1,V2))) -> and#(isPalListKind(V1),isPalListKind(V2)) p59: active#(isNeList(__(V1,V2))) -> isPalListKind#(V1) p60: active#(isNeList(__(V1,V2))) -> isPalListKind#(V2) p61: active#(isNeList(__(V1,V2))) -> mark#(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) p62: active#(isNeList(__(V1,V2))) -> U51#(and(isPalListKind(V1),isPalListKind(V2)),V1,V2) p63: active#(isNeList(__(V1,V2))) -> and#(isPalListKind(V1),isPalListKind(V2)) p64: active#(isNeList(__(V1,V2))) -> isPalListKind#(V1) p65: active#(isNeList(__(V1,V2))) -> isPalListKind#(V2) p66: active#(isNePal(V)) -> mark#(U61(isPalListKind(V),V)) p67: active#(isNePal(V)) -> U61#(isPalListKind(V),V) p68: active#(isNePal(V)) -> isPalListKind#(V) p69: active#(isNePal(__(I,__(P,I)))) -> mark#(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) p70: active#(isNePal(__(I,__(P,I)))) -> and#(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P))) p71: active#(isNePal(__(I,__(P,I)))) -> and#(isQid(I),isPalListKind(I)) p72: active#(isNePal(__(I,__(P,I)))) -> isQid#(I) p73: active#(isNePal(__(I,__(P,I)))) -> isPalListKind#(I) p74: active#(isNePal(__(I,__(P,I)))) -> and#(isPal(P),isPalListKind(P)) p75: active#(isNePal(__(I,__(P,I)))) -> isPal#(P) p76: active#(isNePal(__(I,__(P,I)))) -> isPalListKind#(P) p77: active#(isPal(V)) -> mark#(U71(isPalListKind(V),V)) p78: active#(isPal(V)) -> U71#(isPalListKind(V),V) p79: active#(isPal(V)) -> isPalListKind#(V) p80: active#(isPal(nil())) -> mark#(tt()) p81: active#(isPalListKind(a())) -> mark#(tt()) p82: active#(isPalListKind(e())) -> mark#(tt()) p83: active#(isPalListKind(i())) -> mark#(tt()) p84: active#(isPalListKind(nil())) -> mark#(tt()) p85: active#(isPalListKind(o())) -> mark#(tt()) p86: active#(isPalListKind(u())) -> mark#(tt()) p87: active#(isPalListKind(__(V1,V2))) -> mark#(and(isPalListKind(V1),isPalListKind(V2))) p88: active#(isPalListKind(__(V1,V2))) -> and#(isPalListKind(V1),isPalListKind(V2)) p89: active#(isPalListKind(__(V1,V2))) -> isPalListKind#(V1) p90: active#(isPalListKind(__(V1,V2))) -> isPalListKind#(V2) p91: active#(isQid(a())) -> mark#(tt()) p92: active#(isQid(e())) -> mark#(tt()) p93: active#(isQid(i())) -> mark#(tt()) p94: active#(isQid(o())) -> mark#(tt()) p95: active#(isQid(u())) -> mark#(tt()) p96: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p97: mark#(__(X1,X2)) -> __#(mark(X1),mark(X2)) p98: mark#(__(X1,X2)) -> mark#(X1) p99: mark#(__(X1,X2)) -> mark#(X2) p100: mark#(nil()) -> active#(nil()) p101: mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) p102: mark#(U11(X1,X2)) -> U11#(mark(X1),X2) p103: mark#(U11(X1,X2)) -> mark#(X1) p104: mark#(tt()) -> active#(tt()) p105: mark#(U12(X)) -> active#(U12(mark(X))) p106: mark#(U12(X)) -> U12#(mark(X)) p107: mark#(U12(X)) -> mark#(X) p108: mark#(isNeList(X)) -> active#(isNeList(X)) p109: mark#(U21(X1,X2,X3)) -> active#(U21(mark(X1),X2,X3)) p110: mark#(U21(X1,X2,X3)) -> U21#(mark(X1),X2,X3) p111: mark#(U21(X1,X2,X3)) -> mark#(X1) p112: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p113: mark#(U22(X1,X2)) -> U22#(mark(X1),X2) p114: mark#(U22(X1,X2)) -> mark#(X1) p115: mark#(isList(X)) -> active#(isList(X)) p116: mark#(U23(X)) -> active#(U23(mark(X))) p117: mark#(U23(X)) -> U23#(mark(X)) p118: mark#(U23(X)) -> mark#(X) p119: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p120: mark#(U31(X1,X2)) -> U31#(mark(X1),X2) p121: mark#(U31(X1,X2)) -> mark#(X1) p122: mark#(U32(X)) -> active#(U32(mark(X))) p123: mark#(U32(X)) -> U32#(mark(X)) p124: mark#(U32(X)) -> mark#(X) p125: mark#(isQid(X)) -> active#(isQid(X)) p126: mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) p127: mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3) p128: mark#(U41(X1,X2,X3)) -> mark#(X1) p129: mark#(U42(X1,X2)) -> active#(U42(mark(X1),X2)) p130: mark#(U42(X1,X2)) -> U42#(mark(X1),X2) p131: mark#(U42(X1,X2)) -> mark#(X1) p132: mark#(U43(X)) -> active#(U43(mark(X))) p133: mark#(U43(X)) -> U43#(mark(X)) p134: mark#(U43(X)) -> mark#(X) p135: mark#(U51(X1,X2,X3)) -> active#(U51(mark(X1),X2,X3)) p136: mark#(U51(X1,X2,X3)) -> U51#(mark(X1),X2,X3) p137: mark#(U51(X1,X2,X3)) -> mark#(X1) p138: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p139: mark#(U52(X1,X2)) -> U52#(mark(X1),X2) p140: mark#(U52(X1,X2)) -> mark#(X1) p141: mark#(U53(X)) -> active#(U53(mark(X))) p142: mark#(U53(X)) -> U53#(mark(X)) p143: mark#(U53(X)) -> mark#(X) p144: mark#(U61(X1,X2)) -> active#(U61(mark(X1),X2)) p145: mark#(U61(X1,X2)) -> U61#(mark(X1),X2) p146: mark#(U61(X1,X2)) -> mark#(X1) p147: mark#(U62(X)) -> active#(U62(mark(X))) p148: mark#(U62(X)) -> U62#(mark(X)) p149: mark#(U62(X)) -> mark#(X) p150: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p151: mark#(U71(X1,X2)) -> U71#(mark(X1),X2) p152: mark#(U71(X1,X2)) -> mark#(X1) p153: mark#(U72(X)) -> active#(U72(mark(X))) p154: mark#(U72(X)) -> U72#(mark(X)) p155: mark#(U72(X)) -> mark#(X) p156: mark#(isNePal(X)) -> active#(isNePal(X)) p157: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p158: mark#(and(X1,X2)) -> and#(mark(X1),X2) p159: mark#(and(X1,X2)) -> mark#(X1) p160: mark#(isPalListKind(X)) -> active#(isPalListKind(X)) p161: mark#(isPal(X)) -> active#(isPal(X)) p162: mark#(a()) -> active#(a()) p163: mark#(e()) -> active#(e()) p164: mark#(i()) -> active#(i()) p165: mark#(o()) -> active#(o()) p166: mark#(u()) -> active#(u()) p167: __#(mark(X1),X2) -> __#(X1,X2) p168: __#(X1,mark(X2)) -> __#(X1,X2) p169: __#(active(X1),X2) -> __#(X1,X2) p170: __#(X1,active(X2)) -> __#(X1,X2) p171: U11#(mark(X1),X2) -> U11#(X1,X2) p172: U11#(X1,mark(X2)) -> U11#(X1,X2) p173: U11#(active(X1),X2) -> U11#(X1,X2) p174: U11#(X1,active(X2)) -> U11#(X1,X2) p175: U12#(mark(X)) -> U12#(X) p176: U12#(active(X)) -> U12#(X) p177: isNeList#(mark(X)) -> isNeList#(X) p178: isNeList#(active(X)) -> isNeList#(X) p179: U21#(mark(X1),X2,X3) -> U21#(X1,X2,X3) p180: U21#(X1,mark(X2),X3) -> U21#(X1,X2,X3) p181: U21#(X1,X2,mark(X3)) -> U21#(X1,X2,X3) p182: U21#(active(X1),X2,X3) -> U21#(X1,X2,X3) p183: U21#(X1,active(X2),X3) -> U21#(X1,X2,X3) p184: U21#(X1,X2,active(X3)) -> U21#(X1,X2,X3) p185: U22#(mark(X1),X2) -> U22#(X1,X2) p186: U22#(X1,mark(X2)) -> U22#(X1,X2) p187: U22#(active(X1),X2) -> U22#(X1,X2) p188: U22#(X1,active(X2)) -> U22#(X1,X2) p189: isList#(mark(X)) -> isList#(X) p190: isList#(active(X)) -> isList#(X) p191: U23#(mark(X)) -> U23#(X) p192: U23#(active(X)) -> U23#(X) p193: U31#(mark(X1),X2) -> U31#(X1,X2) p194: U31#(X1,mark(X2)) -> U31#(X1,X2) p195: U31#(active(X1),X2) -> U31#(X1,X2) p196: U31#(X1,active(X2)) -> U31#(X1,X2) p197: U32#(mark(X)) -> U32#(X) p198: U32#(active(X)) -> U32#(X) p199: isQid#(mark(X)) -> isQid#(X) p200: isQid#(active(X)) -> isQid#(X) p201: U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) p202: U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3) p203: U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) p204: U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) p205: U41#(X1,active(X2),X3) -> U41#(X1,X2,X3) p206: U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) p207: U42#(mark(X1),X2) -> U42#(X1,X2) p208: U42#(X1,mark(X2)) -> U42#(X1,X2) p209: U42#(active(X1),X2) -> U42#(X1,X2) p210: U42#(X1,active(X2)) -> U42#(X1,X2) p211: U43#(mark(X)) -> U43#(X) p212: U43#(active(X)) -> U43#(X) p213: U51#(mark(X1),X2,X3) -> U51#(X1,X2,X3) p214: U51#(X1,mark(X2),X3) -> U51#(X1,X2,X3) p215: U51#(X1,X2,mark(X3)) -> U51#(X1,X2,X3) p216: U51#(active(X1),X2,X3) -> U51#(X1,X2,X3) p217: U51#(X1,active(X2),X3) -> U51#(X1,X2,X3) p218: U51#(X1,X2,active(X3)) -> U51#(X1,X2,X3) p219: U52#(mark(X1),X2) -> U52#(X1,X2) p220: U52#(X1,mark(X2)) -> U52#(X1,X2) p221: U52#(active(X1),X2) -> U52#(X1,X2) p222: U52#(X1,active(X2)) -> U52#(X1,X2) p223: U53#(mark(X)) -> U53#(X) p224: U53#(active(X)) -> U53#(X) p225: U61#(mark(X1),X2) -> U61#(X1,X2) p226: U61#(X1,mark(X2)) -> U61#(X1,X2) p227: U61#(active(X1),X2) -> U61#(X1,X2) p228: U61#(X1,active(X2)) -> U61#(X1,X2) p229: U62#(mark(X)) -> U62#(X) p230: U62#(active(X)) -> U62#(X) p231: U71#(mark(X1),X2) -> U71#(X1,X2) p232: U71#(X1,mark(X2)) -> U71#(X1,X2) p233: U71#(active(X1),X2) -> U71#(X1,X2) p234: U71#(X1,active(X2)) -> U71#(X1,X2) p235: U72#(mark(X)) -> U72#(X) p236: U72#(active(X)) -> U72#(X) p237: isNePal#(mark(X)) -> isNePal#(X) p238: isNePal#(active(X)) -> isNePal#(X) p239: and#(mark(X1),X2) -> and#(X1,X2) p240: and#(X1,mark(X2)) -> and#(X1,X2) p241: and#(active(X1),X2) -> and#(X1,X2) p242: and#(X1,active(X2)) -> and#(X1,X2) p243: isPalListKind#(mark(X)) -> isPalListKind#(X) p244: isPalListKind#(active(X)) -> isPalListKind#(X) p245: isPal#(mark(X)) -> isPal#(X) p246: isPal#(active(X)) -> isPal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p4, p5, p6, p10, p13, p17, p21, p24, p28, p31, p35, p39, p43, p44, p48, p53, p56, p61, p66, p69, p77, p87, p96, p98, p99, p101, p103, p105, p107, p108, p109, p111, p112, p114, p115, p116, p118, p119, p121, p122, p124, p125, p126, p128, p129, p131, p132, p134, p135, p137, p138, p140, p141, p143, p144, p146, p147, p149, p150, p152, p153, p155, p156, p157, p159, p160, p161} {p167, p168, p169, p170} {p175, p176} {p177, p178} {p185, p186, p187, p188} {p189, p190} {p191, p192} {p197, p198} {p199, p200} {p207, p208, p209, p210} {p211, p212} {p219, p220, p221, p222} {p223, p224} {p229, p230} {p235, p236} {p237, p238} {p171, p172, p173, p174} {p243, p244} {p179, p180, p181, p182, p183, p184} {p239, p240, p241, p242} {p193, p194, p195, p196} {p201, p202, p203, p204, p205, p206} {p213, p214, p215, p216, p217, p218} {p225, p226, p227, p228} {p245, p246} {p231, p232, p233, p234} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isPal(X)) -> active#(isPal(X)) p3: active#(isPalListKind(__(V1,V2))) -> mark#(and(isPalListKind(V1),isPalListKind(V2))) p4: mark#(isPalListKind(X)) -> active#(isPalListKind(X)) p5: active#(isPal(V)) -> mark#(U71(isPalListKind(V),V)) p6: mark#(and(X1,X2)) -> mark#(X1) p7: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p8: active#(isNePal(__(I,__(P,I)))) -> mark#(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) p9: mark#(isNePal(X)) -> active#(isNePal(X)) p10: active#(isNePal(V)) -> mark#(U61(isPalListKind(V),V)) p11: mark#(U72(X)) -> mark#(X) p12: mark#(U72(X)) -> active#(U72(mark(X))) p13: active#(isNeList(__(V1,V2))) -> mark#(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) p14: mark#(U71(X1,X2)) -> mark#(X1) p15: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p16: active#(isNeList(__(V1,V2))) -> mark#(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) p17: mark#(U62(X)) -> mark#(X) p18: mark#(U62(X)) -> active#(U62(mark(X))) p19: active#(isNeList(V)) -> mark#(U31(isPalListKind(V),V)) p20: mark#(U61(X1,X2)) -> mark#(X1) p21: mark#(U61(X1,X2)) -> active#(U61(mark(X1),X2)) p22: active#(isList(__(V1,V2))) -> mark#(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) p23: mark#(U53(X)) -> mark#(X) p24: mark#(U53(X)) -> active#(U53(mark(X))) p25: active#(isList(V)) -> mark#(U11(isPalListKind(V),V)) p26: mark#(U52(X1,X2)) -> mark#(X1) p27: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p28: active#(and(tt(),X)) -> mark#(X) p29: mark#(U51(X1,X2,X3)) -> mark#(X1) p30: mark#(U51(X1,X2,X3)) -> active#(U51(mark(X1),X2,X3)) p31: active#(U71(tt(),V)) -> mark#(U72(isNePal(V))) p32: mark#(U43(X)) -> mark#(X) p33: mark#(U43(X)) -> active#(U43(mark(X))) p34: active#(U61(tt(),V)) -> mark#(U62(isQid(V))) p35: mark#(U42(X1,X2)) -> mark#(X1) p36: mark#(U42(X1,X2)) -> active#(U42(mark(X1),X2)) p37: active#(U52(tt(),V2)) -> mark#(U53(isList(V2))) p38: mark#(U41(X1,X2,X3)) -> mark#(X1) p39: mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) p40: active#(U51(tt(),V1,V2)) -> mark#(U52(isNeList(V1),V2)) p41: mark#(isQid(X)) -> active#(isQid(X)) p42: active#(U42(tt(),V2)) -> mark#(U43(isNeList(V2))) p43: mark#(U32(X)) -> mark#(X) p44: mark#(U32(X)) -> active#(U32(mark(X))) p45: active#(U41(tt(),V1,V2)) -> mark#(U42(isList(V1),V2)) p46: mark#(U31(X1,X2)) -> mark#(X1) p47: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p48: active#(U31(tt(),V)) -> mark#(U32(isQid(V))) p49: mark#(U23(X)) -> mark#(X) p50: mark#(U23(X)) -> active#(U23(mark(X))) p51: active#(U22(tt(),V2)) -> mark#(U23(isList(V2))) p52: mark#(isList(X)) -> active#(isList(X)) p53: active#(U21(tt(),V1,V2)) -> mark#(U22(isList(V1),V2)) p54: mark#(U22(X1,X2)) -> mark#(X1) p55: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p56: active#(U11(tt(),V)) -> mark#(U12(isNeList(V))) p57: mark#(U21(X1,X2,X3)) -> mark#(X1) p58: mark#(U21(X1,X2,X3)) -> active#(U21(mark(X1),X2,X3)) p59: active#(__(nil(),X)) -> mark#(X) p60: mark#(isNeList(X)) -> active#(isNeList(X)) p61: active#(__(X,nil())) -> mark#(X) p62: mark#(U12(X)) -> mark#(X) p63: mark#(U12(X)) -> active#(U12(mark(X))) p64: mark#(U11(X1,X2)) -> mark#(X1) p65: mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) p66: mark#(__(X1,X2)) -> mark#(X2) p67: mark#(__(X1,X2)) -> mark#(X1) p68: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 Take the monotone reduction pair: lexicographic path order with precedence: precedence: u > o > i > e > nil > U12 > __ > U51 > U52 > U53 > U21 > a > U22 > U32 > mark# > U41 > isList > U42 > U11 > isNeList > U43 > tt > isPal > and > U71 > isNePal > isPalListKind > U72 > U61 > U62 > mark > isQid > U31 > active > active# > U23 argument filter: pi(active#) = 1 pi(__) = [1, 2] pi(mark#) = 1 pi(isPal) = [1] pi(isPalListKind) = 1 pi(and) = [1, 2] pi(U71) = [1, 2] pi(mark) = 1 pi(isNePal) = [1] pi(isQid) = 1 pi(U61) = [1, 2] pi(U72) = [1] pi(isNeList) = [1] pi(U51) = [1, 2, 3] pi(U41) = [1, 2, 3] pi(U62) = [1] pi(U31) = [1, 2] pi(isList) = [1] pi(U21) = [1, 2, 3] pi(U53) = [1] pi(U11) = [1, 2] pi(U52) = [1, 2] pi(tt) = [] pi(U43) = 1 pi(U42) = [1, 2] pi(U32) = 1 pi(U23) = 1 pi(U22) = [1, 2] pi(U12) = 1 pi(nil) = [] pi(active) = 1 pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p1, p3, p5, p6, p8, p10, p11, p13, p14, p16, p17, p19, p20, p22, p23, p25, p26, p28, p29, p31, p34, p35, p37, p38, p40, p42, p45, p46, p48, p51, p53, p54, p56, p57, p59, p61, p64, p66, p67 r1, r2, r3, r4, r6, r7, r9, r11, r12, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(isPal(X)) -> active#(isPal(X)) p2: mark#(isPalListKind(X)) -> active#(isPalListKind(X)) p3: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p4: mark#(isNePal(X)) -> active#(isNePal(X)) p5: mark#(U72(X)) -> active#(U72(mark(X))) p6: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p7: mark#(U62(X)) -> active#(U62(mark(X))) p8: mark#(U61(X1,X2)) -> active#(U61(mark(X1),X2)) p9: mark#(U53(X)) -> active#(U53(mark(X))) p10: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p11: mark#(U51(X1,X2,X3)) -> active#(U51(mark(X1),X2,X3)) p12: mark#(U43(X)) -> mark#(X) p13: mark#(U43(X)) -> active#(U43(mark(X))) p14: mark#(U42(X1,X2)) -> active#(U42(mark(X1),X2)) p15: mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) p16: mark#(isQid(X)) -> active#(isQid(X)) p17: mark#(U32(X)) -> mark#(X) p18: mark#(U32(X)) -> active#(U32(mark(X))) p19: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p20: mark#(U23(X)) -> mark#(X) p21: mark#(U23(X)) -> active#(U23(mark(X))) p22: mark#(isList(X)) -> active#(isList(X)) p23: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p24: mark#(U21(X1,X2,X3)) -> active#(U21(mark(X1),X2,X3)) p25: mark#(isNeList(X)) -> active#(isNeList(X)) p26: mark#(U12(X)) -> mark#(X) p27: mark#(U12(X)) -> active#(U12(mark(X))) p28: mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) p29: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(U12(tt())) -> mark(tt()) r2: active(U23(tt())) -> mark(tt()) r3: active(U32(tt())) -> mark(tt()) r4: active(U43(tt())) -> mark(tt()) r5: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r6: mark(nil()) -> active(nil()) r7: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r8: mark(tt()) -> active(tt()) r9: mark(U12(X)) -> active(U12(mark(X))) r10: mark(isNeList(X)) -> active(isNeList(X)) r11: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r12: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r13: mark(isList(X)) -> active(isList(X)) r14: mark(U23(X)) -> active(U23(mark(X))) r15: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r16: mark(U32(X)) -> active(U32(mark(X))) r17: mark(isQid(X)) -> active(isQid(X)) r18: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r19: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r20: mark(U43(X)) -> active(U43(mark(X))) r21: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r22: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r23: mark(U53(X)) -> active(U53(mark(X))) r24: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r25: mark(U62(X)) -> active(U62(mark(X))) r26: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r27: mark(U72(X)) -> active(U72(mark(X))) r28: mark(isNePal(X)) -> active(isNePal(X)) r29: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r30: mark(isPalListKind(X)) -> active(isPalListKind(X)) r31: mark(isPal(X)) -> active(isPal(X)) r32: mark(a()) -> active(a()) r33: mark(e()) -> active(e()) r34: mark(i()) -> active(i()) r35: mark(o()) -> active(o()) r36: mark(u()) -> active(u()) r37: __(mark(X1),X2) -> __(X1,X2) r38: __(X1,mark(X2)) -> __(X1,X2) r39: __(active(X1),X2) -> __(X1,X2) r40: __(X1,active(X2)) -> __(X1,X2) r41: U11(mark(X1),X2) -> U11(X1,X2) r42: U11(X1,mark(X2)) -> U11(X1,X2) r43: U11(active(X1),X2) -> U11(X1,X2) r44: U11(X1,active(X2)) -> U11(X1,X2) r45: U12(mark(X)) -> U12(X) r46: U12(active(X)) -> U12(X) r47: isNeList(mark(X)) -> isNeList(X) r48: isNeList(active(X)) -> isNeList(X) r49: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r50: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r51: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r52: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r53: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r54: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r55: U22(mark(X1),X2) -> U22(X1,X2) r56: U22(X1,mark(X2)) -> U22(X1,X2) r57: U22(active(X1),X2) -> U22(X1,X2) r58: U22(X1,active(X2)) -> U22(X1,X2) r59: isList(mark(X)) -> isList(X) r60: isList(active(X)) -> isList(X) r61: U23(mark(X)) -> U23(X) r62: U23(active(X)) -> U23(X) r63: U31(mark(X1),X2) -> U31(X1,X2) r64: U31(X1,mark(X2)) -> U31(X1,X2) r65: U31(active(X1),X2) -> U31(X1,X2) r66: U31(X1,active(X2)) -> U31(X1,X2) r67: U32(mark(X)) -> U32(X) r68: U32(active(X)) -> U32(X) r69: isQid(mark(X)) -> isQid(X) r70: isQid(active(X)) -> isQid(X) r71: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r72: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r73: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r74: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r75: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r76: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r77: U42(mark(X1),X2) -> U42(X1,X2) r78: U42(X1,mark(X2)) -> U42(X1,X2) r79: U42(active(X1),X2) -> U42(X1,X2) r80: U42(X1,active(X2)) -> U42(X1,X2) r81: U43(mark(X)) -> U43(X) r82: U43(active(X)) -> U43(X) r83: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r84: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r85: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r86: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r87: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r88: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r89: U52(mark(X1),X2) -> U52(X1,X2) r90: U52(X1,mark(X2)) -> U52(X1,X2) r91: U52(active(X1),X2) -> U52(X1,X2) r92: U52(X1,active(X2)) -> U52(X1,X2) r93: U53(mark(X)) -> U53(X) r94: U53(active(X)) -> U53(X) r95: U61(mark(X1),X2) -> U61(X1,X2) r96: U61(X1,mark(X2)) -> U61(X1,X2) r97: U61(active(X1),X2) -> U61(X1,X2) r98: U61(X1,active(X2)) -> U61(X1,X2) r99: U62(mark(X)) -> U62(X) r100: U62(active(X)) -> U62(X) r101: U71(mark(X1),X2) -> U71(X1,X2) r102: U71(X1,mark(X2)) -> U71(X1,X2) r103: U71(active(X1),X2) -> U71(X1,X2) r104: U71(X1,active(X2)) -> U71(X1,X2) r105: U72(mark(X)) -> U72(X) r106: U72(active(X)) -> U72(X) r107: isNePal(mark(X)) -> isNePal(X) r108: isNePal(active(X)) -> isNePal(X) r109: and(mark(X1),X2) -> and(X1,X2) r110: and(X1,mark(X2)) -> and(X1,X2) r111: and(active(X1),X2) -> and(X1,X2) r112: and(X1,active(X2)) -> and(X1,X2) r113: isPalListKind(mark(X)) -> isPalListKind(X) r114: isPalListKind(active(X)) -> isPalListKind(X) r115: isPal(mark(X)) -> isPal(X) r116: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p12, p17, p20, p26} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U43(X)) -> mark#(X) p2: mark#(U12(X)) -> mark#(X) p3: mark#(U23(X)) -> mark#(X) p4: mark#(U32(X)) -> mark#(X) and R consists of: r1: active(U12(tt())) -> mark(tt()) r2: active(U23(tt())) -> mark(tt()) r3: active(U32(tt())) -> mark(tt()) r4: active(U43(tt())) -> mark(tt()) r5: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r6: mark(nil()) -> active(nil()) r7: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r8: mark(tt()) -> active(tt()) r9: mark(U12(X)) -> active(U12(mark(X))) r10: mark(isNeList(X)) -> active(isNeList(X)) r11: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r12: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r13: mark(isList(X)) -> active(isList(X)) r14: mark(U23(X)) -> active(U23(mark(X))) r15: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r16: mark(U32(X)) -> active(U32(mark(X))) r17: mark(isQid(X)) -> active(isQid(X)) r18: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r19: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r20: mark(U43(X)) -> active(U43(mark(X))) r21: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r22: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r23: mark(U53(X)) -> active(U53(mark(X))) r24: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r25: mark(U62(X)) -> active(U62(mark(X))) r26: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r27: mark(U72(X)) -> active(U72(mark(X))) r28: mark(isNePal(X)) -> active(isNePal(X)) r29: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r30: mark(isPalListKind(X)) -> active(isPalListKind(X)) r31: mark(isPal(X)) -> active(isPal(X)) r32: mark(a()) -> active(a()) r33: mark(e()) -> active(e()) r34: mark(i()) -> active(i()) r35: mark(o()) -> active(o()) r36: mark(u()) -> active(u()) r37: __(mark(X1),X2) -> __(X1,X2) r38: __(X1,mark(X2)) -> __(X1,X2) r39: __(active(X1),X2) -> __(X1,X2) r40: __(X1,active(X2)) -> __(X1,X2) r41: U11(mark(X1),X2) -> U11(X1,X2) r42: U11(X1,mark(X2)) -> U11(X1,X2) r43: U11(active(X1),X2) -> U11(X1,X2) r44: U11(X1,active(X2)) -> U11(X1,X2) r45: U12(mark(X)) -> U12(X) r46: U12(active(X)) -> U12(X) r47: isNeList(mark(X)) -> isNeList(X) r48: isNeList(active(X)) -> isNeList(X) r49: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r50: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r51: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r52: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r53: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r54: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r55: U22(mark(X1),X2) -> U22(X1,X2) r56: U22(X1,mark(X2)) -> U22(X1,X2) r57: U22(active(X1),X2) -> U22(X1,X2) r58: U22(X1,active(X2)) -> U22(X1,X2) r59: isList(mark(X)) -> isList(X) r60: isList(active(X)) -> isList(X) r61: U23(mark(X)) -> U23(X) r62: U23(active(X)) -> U23(X) r63: U31(mark(X1),X2) -> U31(X1,X2) r64: U31(X1,mark(X2)) -> U31(X1,X2) r65: U31(active(X1),X2) -> U31(X1,X2) r66: U31(X1,active(X2)) -> U31(X1,X2) r67: U32(mark(X)) -> U32(X) r68: U32(active(X)) -> U32(X) r69: isQid(mark(X)) -> isQid(X) r70: isQid(active(X)) -> isQid(X) r71: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r72: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r73: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r74: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r75: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r76: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r77: U42(mark(X1),X2) -> U42(X1,X2) r78: U42(X1,mark(X2)) -> U42(X1,X2) r79: U42(active(X1),X2) -> U42(X1,X2) r80: U42(X1,active(X2)) -> U42(X1,X2) r81: U43(mark(X)) -> U43(X) r82: U43(active(X)) -> U43(X) r83: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r84: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r85: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r86: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r87: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r88: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r89: U52(mark(X1),X2) -> U52(X1,X2) r90: U52(X1,mark(X2)) -> U52(X1,X2) r91: U52(active(X1),X2) -> U52(X1,X2) r92: U52(X1,active(X2)) -> U52(X1,X2) r93: U53(mark(X)) -> U53(X) r94: U53(active(X)) -> U53(X) r95: U61(mark(X1),X2) -> U61(X1,X2) r96: U61(X1,mark(X2)) -> U61(X1,X2) r97: U61(active(X1),X2) -> U61(X1,X2) r98: U61(X1,active(X2)) -> U61(X1,X2) r99: U62(mark(X)) -> U62(X) r100: U62(active(X)) -> U62(X) r101: U71(mark(X1),X2) -> U71(X1,X2) r102: U71(X1,mark(X2)) -> U71(X1,X2) r103: U71(active(X1),X2) -> U71(X1,X2) r104: U71(X1,active(X2)) -> U71(X1,X2) r105: U72(mark(X)) -> U72(X) r106: U72(active(X)) -> U72(X) r107: isNePal(mark(X)) -> isNePal(X) r108: isNePal(active(X)) -> isNePal(X) r109: and(mark(X1),X2) -> and(X1,X2) r110: and(X1,mark(X2)) -> and(X1,X2) r111: and(active(X1),X2) -> and(X1,X2) r112: and(X1,active(X2)) -> and(X1,X2) r113: isPalListKind(mark(X)) -> isPalListKind(X) r114: isPalListKind(active(X)) -> isPalListKind(X) r115: isPal(mark(X)) -> isPal(X) r116: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: mark# > U32 > U23 > U12 > U43 argument filter: pi(mark#) = 1 pi(U43) = [1] pi(U12) = [1] pi(U23) = [1] pi(U32) = [1] The next rules are strictly ordered: p1, p2, p3, p4 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: __#(mark(X1),X2) -> __#(X1,X2) p2: __#(X1,active(X2)) -> __#(X1,X2) p3: __#(active(X1),X2) -> __#(X1,X2) p4: __#(X1,mark(X2)) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: __# > active > mark argument filter: pi(__#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: __#(mark(X1),X2) -> __#(X1,X2) p2: __#(active(X1),X2) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: __#(mark(X1),X2) -> __#(X1,X2) p2: __#(active(X1),X2) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: __# > active > mark argument filter: pi(__#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U12#(mark(X)) -> U12#(X) p2: U12#(active(X)) -> U12#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: U12# > active > mark argument filter: pi(U12#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNeList#(mark(X)) -> isNeList#(X) p2: isNeList#(active(X)) -> isNeList#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: isNeList# > active > mark argument filter: pi(isNeList#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U22#(mark(X1),X2) -> U22#(X1,X2) p2: U22#(X1,active(X2)) -> U22#(X1,X2) p3: U22#(active(X1),X2) -> U22#(X1,X2) p4: U22#(X1,mark(X2)) -> U22#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U22# > active > mark argument filter: pi(U22#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U22#(mark(X1),X2) -> U22#(X1,X2) p2: U22#(active(X1),X2) -> U22#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U22#(mark(X1),X2) -> U22#(X1,X2) p2: U22#(active(X1),X2) -> U22#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U22# > active > mark argument filter: pi(U22#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isList#(mark(X)) -> isList#(X) p2: isList#(active(X)) -> isList#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: isList# > active > mark argument filter: pi(isList#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U23#(mark(X)) -> U23#(X) p2: U23#(active(X)) -> U23#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: U23# > active > mark argument filter: pi(U23#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U32#(mark(X)) -> U32#(X) p2: U32#(active(X)) -> U32#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: U32# > active > mark argument filter: pi(U32#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isQid#(mark(X)) -> isQid#(X) p2: isQid#(active(X)) -> isQid#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: isQid# > active > mark argument filter: pi(isQid#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U42#(mark(X1),X2) -> U42#(X1,X2) p2: U42#(X1,active(X2)) -> U42#(X1,X2) p3: U42#(active(X1),X2) -> U42#(X1,X2) p4: U42#(X1,mark(X2)) -> U42#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U42# > active > mark argument filter: pi(U42#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U42#(mark(X1),X2) -> U42#(X1,X2) p2: U42#(active(X1),X2) -> U42#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U42#(mark(X1),X2) -> U42#(X1,X2) p2: U42#(active(X1),X2) -> U42#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U42# > active > mark argument filter: pi(U42#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U43#(mark(X)) -> U43#(X) p2: U43#(active(X)) -> U43#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: U43# > active > mark argument filter: pi(U43#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U52#(mark(X1),X2) -> U52#(X1,X2) p2: U52#(X1,active(X2)) -> U52#(X1,X2) p3: U52#(active(X1),X2) -> U52#(X1,X2) p4: U52#(X1,mark(X2)) -> U52#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U52# > active > mark argument filter: pi(U52#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U52#(mark(X1),X2) -> U52#(X1,X2) p2: U52#(active(X1),X2) -> U52#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U52#(mark(X1),X2) -> U52#(X1,X2) p2: U52#(active(X1),X2) -> U52#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U52# > active > mark argument filter: pi(U52#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U53#(mark(X)) -> U53#(X) p2: U53#(active(X)) -> U53#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: U53# > active > mark argument filter: pi(U53#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U62#(mark(X)) -> U62#(X) p2: U62#(active(X)) -> U62#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: U62# > active > mark argument filter: pi(U62#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U72#(mark(X)) -> U72#(X) p2: U72#(active(X)) -> U72#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: U72# > active > mark argument filter: pi(U72#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNePal#(mark(X)) -> isNePal#(X) p2: isNePal#(active(X)) -> isNePal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: isNePal# > active > mark argument filter: pi(isNePal#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(mark(X1),X2) -> U11#(X1,X2) p2: U11#(X1,active(X2)) -> U11#(X1,X2) p3: U11#(active(X1),X2) -> U11#(X1,X2) p4: U11#(X1,mark(X2)) -> U11#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U11# > active > mark argument filter: pi(U11#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U11#(mark(X1),X2) -> U11#(X1,X2) p2: U11#(active(X1),X2) -> U11#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(mark(X1),X2) -> U11#(X1,X2) p2: U11#(active(X1),X2) -> U11#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U11# > active > mark argument filter: pi(U11#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isPalListKind#(mark(X)) -> isPalListKind#(X) p2: isPalListKind#(active(X)) -> isPalListKind#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: isPalListKind# > active > mark argument filter: pi(isPalListKind#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U21#(mark(X1),X2,X3) -> U21#(X1,X2,X3) p2: U21#(X1,X2,active(X3)) -> U21#(X1,X2,X3) p3: U21#(X1,active(X2),X3) -> U21#(X1,X2,X3) p4: U21#(active(X1),X2,X3) -> U21#(X1,X2,X3) p5: U21#(X1,X2,mark(X3)) -> U21#(X1,X2,X3) p6: U21#(X1,mark(X2),X3) -> U21#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U21# > active > mark argument filter: pi(U21#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p3, p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U21#(mark(X1),X2,X3) -> U21#(X1,X2,X3) p2: U21#(X1,X2,active(X3)) -> U21#(X1,X2,X3) p3: U21#(active(X1),X2,X3) -> U21#(X1,X2,X3) p4: U21#(X1,X2,mark(X3)) -> U21#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U21#(mark(X1),X2,X3) -> U21#(X1,X2,X3) p2: U21#(X1,X2,mark(X3)) -> U21#(X1,X2,X3) p3: U21#(active(X1),X2,X3) -> U21#(X1,X2,X3) p4: U21#(X1,X2,active(X3)) -> U21#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U21# > active > mark argument filter: pi(U21#) = 3 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U21#(mark(X1),X2,X3) -> U21#(X1,X2,X3) p2: U21#(active(X1),X2,X3) -> U21#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U21#(mark(X1),X2,X3) -> U21#(X1,X2,X3) p2: U21#(active(X1),X2,X3) -> U21#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U21# > active > mark argument filter: pi(U21#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: and#(mark(X1),X2) -> and#(X1,X2) p2: and#(X1,active(X2)) -> and#(X1,X2) p3: and#(active(X1),X2) -> and#(X1,X2) p4: and#(X1,mark(X2)) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: and# > active > mark argument filter: pi(and#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: and#(mark(X1),X2) -> and#(X1,X2) p2: and#(active(X1),X2) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: and#(mark(X1),X2) -> and#(X1,X2) p2: and#(active(X1),X2) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: and# > active > mark argument filter: pi(and#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U31#(mark(X1),X2) -> U31#(X1,X2) p2: U31#(X1,active(X2)) -> U31#(X1,X2) p3: U31#(active(X1),X2) -> U31#(X1,X2) p4: U31#(X1,mark(X2)) -> U31#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U31# > active > mark argument filter: pi(U31#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U31#(mark(X1),X2) -> U31#(X1,X2) p2: U31#(active(X1),X2) -> U31#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U31#(mark(X1),X2) -> U31#(X1,X2) p2: U31#(active(X1),X2) -> U31#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U31# > active > mark argument filter: pi(U31#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) p2: U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) p3: U41#(X1,active(X2),X3) -> U41#(X1,X2,X3) p4: U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) p5: U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) p6: U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U41# > active > mark argument filter: pi(U41#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p3, p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) p2: U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) p3: U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) p4: U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) p2: U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) p3: U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) p4: U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U41# > active > mark argument filter: pi(U41#) = 3 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) p2: U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) p2: U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U41# > active > mark argument filter: pi(U41#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U51#(mark(X1),X2,X3) -> U51#(X1,X2,X3) p2: U51#(X1,X2,active(X3)) -> U51#(X1,X2,X3) p3: U51#(X1,active(X2),X3) -> U51#(X1,X2,X3) p4: U51#(active(X1),X2,X3) -> U51#(X1,X2,X3) p5: U51#(X1,X2,mark(X3)) -> U51#(X1,X2,X3) p6: U51#(X1,mark(X2),X3) -> U51#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U51# > active > mark argument filter: pi(U51#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p3, p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U51#(mark(X1),X2,X3) -> U51#(X1,X2,X3) p2: U51#(X1,X2,active(X3)) -> U51#(X1,X2,X3) p3: U51#(active(X1),X2,X3) -> U51#(X1,X2,X3) p4: U51#(X1,X2,mark(X3)) -> U51#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U51#(mark(X1),X2,X3) -> U51#(X1,X2,X3) p2: U51#(X1,X2,mark(X3)) -> U51#(X1,X2,X3) p3: U51#(active(X1),X2,X3) -> U51#(X1,X2,X3) p4: U51#(X1,X2,active(X3)) -> U51#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U51# > active > mark argument filter: pi(U51#) = 3 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U51#(mark(X1),X2,X3) -> U51#(X1,X2,X3) p2: U51#(active(X1),X2,X3) -> U51#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U51#(mark(X1),X2,X3) -> U51#(X1,X2,X3) p2: U51#(active(X1),X2,X3) -> U51#(X1,X2,X3) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U51# > active > mark argument filter: pi(U51#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U61#(mark(X1),X2) -> U61#(X1,X2) p2: U61#(X1,active(X2)) -> U61#(X1,X2) p3: U61#(active(X1),X2) -> U61#(X1,X2) p4: U61#(X1,mark(X2)) -> U61#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U61# > active > mark argument filter: pi(U61#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U61#(mark(X1),X2) -> U61#(X1,X2) p2: U61#(active(X1),X2) -> U61#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U61#(mark(X1),X2) -> U61#(X1,X2) p2: U61#(active(X1),X2) -> U61#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U61# > active > mark argument filter: pi(U61#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(mark(X)) -> isPal#(X) p2: isPal#(active(X)) -> isPal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic path order with precedence: precedence: isPal# > active > mark argument filter: pi(isPal#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U71#(mark(X1),X2) -> U71#(X1,X2) p2: U71#(X1,active(X2)) -> U71#(X1,X2) p3: U71#(active(X1),X2) -> U71#(X1,X2) p4: U71#(X1,mark(X2)) -> U71#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U71# > active > mark argument filter: pi(U71#) = 2 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p2, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U71#(mark(X1),X2) -> U71#(X1,X2) p2: U71#(active(X1),X2) -> U71#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U71#(mark(X1),X2) -> U71#(X1,X2) p2: U71#(active(X1),X2) -> U71#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(U11(tt(),V)) -> mark(U12(isNeList(V))) r5: active(U12(tt())) -> mark(tt()) r6: active(U21(tt(),V1,V2)) -> mark(U22(isList(V1),V2)) r7: active(U22(tt(),V2)) -> mark(U23(isList(V2))) r8: active(U23(tt())) -> mark(tt()) r9: active(U31(tt(),V)) -> mark(U32(isQid(V))) r10: active(U32(tt())) -> mark(tt()) r11: active(U41(tt(),V1,V2)) -> mark(U42(isList(V1),V2)) r12: active(U42(tt(),V2)) -> mark(U43(isNeList(V2))) r13: active(U43(tt())) -> mark(tt()) r14: active(U51(tt(),V1,V2)) -> mark(U52(isNeList(V1),V2)) r15: active(U52(tt(),V2)) -> mark(U53(isList(V2))) r16: active(U53(tt())) -> mark(tt()) r17: active(U61(tt(),V)) -> mark(U62(isQid(V))) r18: active(U62(tt())) -> mark(tt()) r19: active(U71(tt(),V)) -> mark(U72(isNePal(V))) r20: active(U72(tt())) -> mark(tt()) r21: active(and(tt(),X)) -> mark(X) r22: active(isList(V)) -> mark(U11(isPalListKind(V),V)) r23: active(isList(nil())) -> mark(tt()) r24: active(isList(__(V1,V2))) -> mark(U21(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r25: active(isNeList(V)) -> mark(U31(isPalListKind(V),V)) r26: active(isNeList(__(V1,V2))) -> mark(U41(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r27: active(isNeList(__(V1,V2))) -> mark(U51(and(isPalListKind(V1),isPalListKind(V2)),V1,V2)) r28: active(isNePal(V)) -> mark(U61(isPalListKind(V),V)) r29: active(isNePal(__(I,__(P,I)))) -> mark(and(and(isQid(I),isPalListKind(I)),and(isPal(P),isPalListKind(P)))) r30: active(isPal(V)) -> mark(U71(isPalListKind(V),V)) r31: active(isPal(nil())) -> mark(tt()) r32: active(isPalListKind(a())) -> mark(tt()) r33: active(isPalListKind(e())) -> mark(tt()) r34: active(isPalListKind(i())) -> mark(tt()) r35: active(isPalListKind(nil())) -> mark(tt()) r36: active(isPalListKind(o())) -> mark(tt()) r37: active(isPalListKind(u())) -> mark(tt()) r38: active(isPalListKind(__(V1,V2))) -> mark(and(isPalListKind(V1),isPalListKind(V2))) r39: active(isQid(a())) -> mark(tt()) r40: active(isQid(e())) -> mark(tt()) r41: active(isQid(i())) -> mark(tt()) r42: active(isQid(o())) -> mark(tt()) r43: active(isQid(u())) -> mark(tt()) r44: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r45: mark(nil()) -> active(nil()) r46: mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) r47: mark(tt()) -> active(tt()) r48: mark(U12(X)) -> active(U12(mark(X))) r49: mark(isNeList(X)) -> active(isNeList(X)) r50: mark(U21(X1,X2,X3)) -> active(U21(mark(X1),X2,X3)) r51: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r52: mark(isList(X)) -> active(isList(X)) r53: mark(U23(X)) -> active(U23(mark(X))) r54: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r55: mark(U32(X)) -> active(U32(mark(X))) r56: mark(isQid(X)) -> active(isQid(X)) r57: mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) r58: mark(U42(X1,X2)) -> active(U42(mark(X1),X2)) r59: mark(U43(X)) -> active(U43(mark(X))) r60: mark(U51(X1,X2,X3)) -> active(U51(mark(X1),X2,X3)) r61: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r62: mark(U53(X)) -> active(U53(mark(X))) r63: mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) r64: mark(U62(X)) -> active(U62(mark(X))) r65: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r66: mark(U72(X)) -> active(U72(mark(X))) r67: mark(isNePal(X)) -> active(isNePal(X)) r68: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r69: mark(isPalListKind(X)) -> active(isPalListKind(X)) r70: mark(isPal(X)) -> active(isPal(X)) r71: mark(a()) -> active(a()) r72: mark(e()) -> active(e()) r73: mark(i()) -> active(i()) r74: mark(o()) -> active(o()) r75: mark(u()) -> active(u()) r76: __(mark(X1),X2) -> __(X1,X2) r77: __(X1,mark(X2)) -> __(X1,X2) r78: __(active(X1),X2) -> __(X1,X2) r79: __(X1,active(X2)) -> __(X1,X2) r80: U11(mark(X1),X2) -> U11(X1,X2) r81: U11(X1,mark(X2)) -> U11(X1,X2) r82: U11(active(X1),X2) -> U11(X1,X2) r83: U11(X1,active(X2)) -> U11(X1,X2) r84: U12(mark(X)) -> U12(X) r85: U12(active(X)) -> U12(X) r86: isNeList(mark(X)) -> isNeList(X) r87: isNeList(active(X)) -> isNeList(X) r88: U21(mark(X1),X2,X3) -> U21(X1,X2,X3) r89: U21(X1,mark(X2),X3) -> U21(X1,X2,X3) r90: U21(X1,X2,mark(X3)) -> U21(X1,X2,X3) r91: U21(active(X1),X2,X3) -> U21(X1,X2,X3) r92: U21(X1,active(X2),X3) -> U21(X1,X2,X3) r93: U21(X1,X2,active(X3)) -> U21(X1,X2,X3) r94: U22(mark(X1),X2) -> U22(X1,X2) r95: U22(X1,mark(X2)) -> U22(X1,X2) r96: U22(active(X1),X2) -> U22(X1,X2) r97: U22(X1,active(X2)) -> U22(X1,X2) r98: isList(mark(X)) -> isList(X) r99: isList(active(X)) -> isList(X) r100: U23(mark(X)) -> U23(X) r101: U23(active(X)) -> U23(X) r102: U31(mark(X1),X2) -> U31(X1,X2) r103: U31(X1,mark(X2)) -> U31(X1,X2) r104: U31(active(X1),X2) -> U31(X1,X2) r105: U31(X1,active(X2)) -> U31(X1,X2) r106: U32(mark(X)) -> U32(X) r107: U32(active(X)) -> U32(X) r108: isQid(mark(X)) -> isQid(X) r109: isQid(active(X)) -> isQid(X) r110: U41(mark(X1),X2,X3) -> U41(X1,X2,X3) r111: U41(X1,mark(X2),X3) -> U41(X1,X2,X3) r112: U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) r113: U41(active(X1),X2,X3) -> U41(X1,X2,X3) r114: U41(X1,active(X2),X3) -> U41(X1,X2,X3) r115: U41(X1,X2,active(X3)) -> U41(X1,X2,X3) r116: U42(mark(X1),X2) -> U42(X1,X2) r117: U42(X1,mark(X2)) -> U42(X1,X2) r118: U42(active(X1),X2) -> U42(X1,X2) r119: U42(X1,active(X2)) -> U42(X1,X2) r120: U43(mark(X)) -> U43(X) r121: U43(active(X)) -> U43(X) r122: U51(mark(X1),X2,X3) -> U51(X1,X2,X3) r123: U51(X1,mark(X2),X3) -> U51(X1,X2,X3) r124: U51(X1,X2,mark(X3)) -> U51(X1,X2,X3) r125: U51(active(X1),X2,X3) -> U51(X1,X2,X3) r126: U51(X1,active(X2),X3) -> U51(X1,X2,X3) r127: U51(X1,X2,active(X3)) -> U51(X1,X2,X3) r128: U52(mark(X1),X2) -> U52(X1,X2) r129: U52(X1,mark(X2)) -> U52(X1,X2) r130: U52(active(X1),X2) -> U52(X1,X2) r131: U52(X1,active(X2)) -> U52(X1,X2) r132: U53(mark(X)) -> U53(X) r133: U53(active(X)) -> U53(X) r134: U61(mark(X1),X2) -> U61(X1,X2) r135: U61(X1,mark(X2)) -> U61(X1,X2) r136: U61(active(X1),X2) -> U61(X1,X2) r137: U61(X1,active(X2)) -> U61(X1,X2) r138: U62(mark(X)) -> U62(X) r139: U62(active(X)) -> U62(X) r140: U71(mark(X1),X2) -> U71(X1,X2) r141: U71(X1,mark(X2)) -> U71(X1,X2) r142: U71(active(X1),X2) -> U71(X1,X2) r143: U71(X1,active(X2)) -> U71(X1,X2) r144: U72(mark(X)) -> U72(X) r145: U72(active(X)) -> U72(X) r146: isNePal(mark(X)) -> isNePal(X) r147: isNePal(active(X)) -> isNePal(X) r148: and(mark(X1),X2) -> and(X1,X2) r149: and(X1,mark(X2)) -> and(X1,X2) r150: and(active(X1),X2) -> and(X1,X2) r151: and(X1,active(X2)) -> and(X1,X2) r152: isPalListKind(mark(X)) -> isPalListKind(X) r153: isPalListKind(active(X)) -> isPalListKind(X) r154: isPal(mark(X)) -> isPal(X) r155: isPal(active(X)) -> isPal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: U71# > active > mark argument filter: pi(U71#) = 1 pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains.