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())) -> mark(tt()) active(U21(tt(),V2)) -> mark(U22(isList(V2))) active(U22(tt())) -> mark(tt()) active(U31(tt())) -> mark(tt()) active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) active(U42(tt())) -> mark(tt()) active(U51(tt(),V2)) -> mark(U52(isList(V2))) active(U52(tt())) -> mark(tt()) active(U61(tt())) -> mark(tt()) active(U71(tt(),P)) -> mark(U72(isPal(P))) active(U72(tt())) -> mark(tt()) active(U81(tt())) -> mark(tt()) active(isList(V)) -> mark(U11(isNeList(V))) active(isList(nil())) -> mark(tt()) active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) active(isNeList(V)) -> mark(U31(isQid(V))) active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) active(isNePal(V)) -> mark(U61(isQid(V))) active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) active(isPal(V)) -> mark(U81(isNePal(V))) active(isPal(nil())) -> mark(tt()) 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(X)) -> active(U11(mark(X))) mark(tt()) -> active(tt()) mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) mark(U22(X)) -> active(U22(mark(X))) mark(isList(X)) -> active(isList(X)) mark(U31(X)) -> active(U31(mark(X))) mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) mark(U42(X)) -> active(U42(mark(X))) mark(isNeList(X)) -> active(isNeList(X)) mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) mark(U52(X)) -> active(U52(mark(X))) mark(U61(X)) -> active(U61(mark(X))) mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) mark(U72(X)) -> active(U72(mark(X))) mark(isPal(X)) -> active(isPal(X)) mark(U81(X)) -> active(U81(mark(X))) mark(isQid(X)) -> active(isQid(X)) mark(isNePal(X)) -> active(isNePal(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(X)) -> U11(X) U11(active(X)) -> U11(X) U21(mark(X1),X2) -> U21(X1,X2) U21(X1,mark(X2)) -> U21(X1,X2) U21(active(X1),X2) -> U21(X1,X2) U21(X1,active(X2)) -> U21(X1,X2) U22(mark(X)) -> U22(X) U22(active(X)) -> U22(X) isList(mark(X)) -> isList(X) isList(active(X)) -> isList(X) U31(mark(X)) -> U31(X) U31(active(X)) -> U31(X) U41(mark(X1),X2) -> U41(X1,X2) U41(X1,mark(X2)) -> U41(X1,X2) U41(active(X1),X2) -> U41(X1,X2) U41(X1,active(X2)) -> U41(X1,X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) isNeList(mark(X)) -> isNeList(X) isNeList(active(X)) -> isNeList(X) U51(mark(X1),X2) -> U51(X1,X2) U51(X1,mark(X2)) -> U51(X1,X2) U51(active(X1),X2) -> U51(X1,X2) U51(X1,active(X2)) -> U51(X1,X2) U52(mark(X)) -> U52(X) U52(active(X)) -> U52(X) U61(mark(X)) -> U61(X) U61(active(X)) -> U61(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) isPal(mark(X)) -> isPal(X) isPal(active(X)) -> isPal(X) U81(mark(X)) -> U81(X) U81(active(X)) -> U81(X) isQid(mark(X)) -> isQid(X) isQid(active(X)) -> isQid(X) isNePal(mark(X)) -> isNePal(X) isNePal(active(X)) -> isNePal(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())) -> mark#(tt()) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: active#(U21(tt(),V2)) -> U22#(isList(V2)) p9: active#(U21(tt(),V2)) -> isList#(V2) p10: active#(U22(tt())) -> mark#(tt()) p11: active#(U31(tt())) -> mark#(tt()) p12: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p13: active#(U41(tt(),V2)) -> U42#(isNeList(V2)) p14: active#(U41(tt(),V2)) -> isNeList#(V2) p15: active#(U42(tt())) -> mark#(tt()) p16: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p17: active#(U51(tt(),V2)) -> U52#(isList(V2)) p18: active#(U51(tt(),V2)) -> isList#(V2) p19: active#(U52(tt())) -> mark#(tt()) p20: active#(U61(tt())) -> mark#(tt()) p21: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p22: active#(U71(tt(),P)) -> U72#(isPal(P)) p23: active#(U71(tt(),P)) -> isPal#(P) p24: active#(U72(tt())) -> mark#(tt()) p25: active#(U81(tt())) -> mark#(tt()) p26: active#(isList(V)) -> mark#(U11(isNeList(V))) p27: active#(isList(V)) -> U11#(isNeList(V)) p28: active#(isList(V)) -> isNeList#(V) p29: active#(isList(nil())) -> mark#(tt()) p30: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p31: active#(isList(__(V1,V2))) -> U21#(isList(V1),V2) p32: active#(isList(__(V1,V2))) -> isList#(V1) p33: active#(isNeList(V)) -> mark#(U31(isQid(V))) p34: active#(isNeList(V)) -> U31#(isQid(V)) p35: active#(isNeList(V)) -> isQid#(V) p36: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p37: active#(isNeList(__(V1,V2))) -> U41#(isList(V1),V2) p38: active#(isNeList(__(V1,V2))) -> isList#(V1) p39: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p40: active#(isNeList(__(V1,V2))) -> U51#(isNeList(V1),V2) p41: active#(isNeList(__(V1,V2))) -> isNeList#(V1) p42: active#(isNePal(V)) -> mark#(U61(isQid(V))) p43: active#(isNePal(V)) -> U61#(isQid(V)) p44: active#(isNePal(V)) -> isQid#(V) p45: active#(isNePal(__(I,__(P,I)))) -> mark#(U71(isQid(I),P)) p46: active#(isNePal(__(I,__(P,I)))) -> U71#(isQid(I),P) p47: active#(isNePal(__(I,__(P,I)))) -> isQid#(I) p48: active#(isPal(V)) -> mark#(U81(isNePal(V))) p49: active#(isPal(V)) -> U81#(isNePal(V)) p50: active#(isPal(V)) -> isNePal#(V) p51: active#(isPal(nil())) -> mark#(tt()) p52: active#(isQid(a())) -> mark#(tt()) p53: active#(isQid(e())) -> mark#(tt()) p54: active#(isQid(i())) -> mark#(tt()) p55: active#(isQid(o())) -> mark#(tt()) p56: active#(isQid(u())) -> mark#(tt()) p57: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p58: mark#(__(X1,X2)) -> __#(mark(X1),mark(X2)) p59: mark#(__(X1,X2)) -> mark#(X1) p60: mark#(__(X1,X2)) -> mark#(X2) p61: mark#(nil()) -> active#(nil()) p62: mark#(U11(X)) -> active#(U11(mark(X))) p63: mark#(U11(X)) -> U11#(mark(X)) p64: mark#(U11(X)) -> mark#(X) p65: mark#(tt()) -> active#(tt()) p66: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p67: mark#(U21(X1,X2)) -> U21#(mark(X1),X2) p68: mark#(U21(X1,X2)) -> mark#(X1) p69: mark#(U22(X)) -> active#(U22(mark(X))) p70: mark#(U22(X)) -> U22#(mark(X)) p71: mark#(U22(X)) -> mark#(X) p72: mark#(isList(X)) -> active#(isList(X)) p73: mark#(U31(X)) -> active#(U31(mark(X))) p74: mark#(U31(X)) -> U31#(mark(X)) p75: mark#(U31(X)) -> mark#(X) p76: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p77: mark#(U41(X1,X2)) -> U41#(mark(X1),X2) p78: mark#(U41(X1,X2)) -> mark#(X1) p79: mark#(U42(X)) -> active#(U42(mark(X))) p80: mark#(U42(X)) -> U42#(mark(X)) p81: mark#(U42(X)) -> mark#(X) p82: mark#(isNeList(X)) -> active#(isNeList(X)) p83: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p84: mark#(U51(X1,X2)) -> U51#(mark(X1),X2) p85: mark#(U51(X1,X2)) -> mark#(X1) p86: mark#(U52(X)) -> active#(U52(mark(X))) p87: mark#(U52(X)) -> U52#(mark(X)) p88: mark#(U52(X)) -> mark#(X) p89: mark#(U61(X)) -> active#(U61(mark(X))) p90: mark#(U61(X)) -> U61#(mark(X)) p91: mark#(U61(X)) -> mark#(X) p92: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p93: mark#(U71(X1,X2)) -> U71#(mark(X1),X2) p94: mark#(U71(X1,X2)) -> mark#(X1) p95: mark#(U72(X)) -> active#(U72(mark(X))) p96: mark#(U72(X)) -> U72#(mark(X)) p97: mark#(U72(X)) -> mark#(X) p98: mark#(isPal(X)) -> active#(isPal(X)) p99: mark#(U81(X)) -> active#(U81(mark(X))) p100: mark#(U81(X)) -> U81#(mark(X)) p101: mark#(U81(X)) -> mark#(X) p102: mark#(isQid(X)) -> active#(isQid(X)) p103: mark#(isNePal(X)) -> active#(isNePal(X)) p104: mark#(a()) -> active#(a()) p105: mark#(e()) -> active#(e()) p106: mark#(i()) -> active#(i()) p107: mark#(o()) -> active#(o()) p108: mark#(u()) -> active#(u()) p109: __#(mark(X1),X2) -> __#(X1,X2) p110: __#(X1,mark(X2)) -> __#(X1,X2) p111: __#(active(X1),X2) -> __#(X1,X2) p112: __#(X1,active(X2)) -> __#(X1,X2) p113: U11#(mark(X)) -> U11#(X) p114: U11#(active(X)) -> U11#(X) p115: U21#(mark(X1),X2) -> U21#(X1,X2) p116: U21#(X1,mark(X2)) -> U21#(X1,X2) p117: U21#(active(X1),X2) -> U21#(X1,X2) p118: U21#(X1,active(X2)) -> U21#(X1,X2) p119: U22#(mark(X)) -> U22#(X) p120: U22#(active(X)) -> U22#(X) p121: isList#(mark(X)) -> isList#(X) p122: isList#(active(X)) -> isList#(X) p123: U31#(mark(X)) -> U31#(X) p124: U31#(active(X)) -> U31#(X) p125: U41#(mark(X1),X2) -> U41#(X1,X2) p126: U41#(X1,mark(X2)) -> U41#(X1,X2) p127: U41#(active(X1),X2) -> U41#(X1,X2) p128: U41#(X1,active(X2)) -> U41#(X1,X2) p129: U42#(mark(X)) -> U42#(X) p130: U42#(active(X)) -> U42#(X) p131: isNeList#(mark(X)) -> isNeList#(X) p132: isNeList#(active(X)) -> isNeList#(X) p133: U51#(mark(X1),X2) -> U51#(X1,X2) p134: U51#(X1,mark(X2)) -> U51#(X1,X2) p135: U51#(active(X1),X2) -> U51#(X1,X2) p136: U51#(X1,active(X2)) -> U51#(X1,X2) p137: U52#(mark(X)) -> U52#(X) p138: U52#(active(X)) -> U52#(X) p139: U61#(mark(X)) -> U61#(X) p140: U61#(active(X)) -> U61#(X) p141: U71#(mark(X1),X2) -> U71#(X1,X2) p142: U71#(X1,mark(X2)) -> U71#(X1,X2) p143: U71#(active(X1),X2) -> U71#(X1,X2) p144: U71#(X1,active(X2)) -> U71#(X1,X2) p145: U72#(mark(X)) -> U72#(X) p146: U72#(active(X)) -> U72#(X) p147: isPal#(mark(X)) -> isPal#(X) p148: isPal#(active(X)) -> isPal#(X) p149: U81#(mark(X)) -> U81#(X) p150: U81#(active(X)) -> U81#(X) p151: isQid#(mark(X)) -> isQid#(X) p152: isQid#(active(X)) -> isQid#(X) p153: isNePal#(mark(X)) -> isNePal#(X) p154: 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p4, p5, p7, p12, p16, p21, p26, p30, p33, p36, p39, p42, p45, p48, p57, p59, p60, p62, p64, p66, p68, p69, p71, p72, p73, p75, p76, p78, p79, p81, p82, p83, p85, p86, p88, p89, p91, p92, p94, p95, p97, p98, p99, p101, p102, p103} {p109, p110, p111, p112} {p119, p120} {p121, p122} {p129, p130} {p131, p132} {p137, p138} {p145, p146} {p147, p148} {p113, p114} {p115, p116, p117, p118} {p123, p124} {p151, p152} {p125, p126, p127, p128} {p133, p134, p135, p136} {p139, p140} {p141, p142, p143, p144} {p149, p150} {p153, p154} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isPal(V)) -> mark#(U81(isNePal(V))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNePal(__(I,__(P,I)))) -> mark#(U71(isQid(I),P)) p6: mark#(U81(X)) -> mark#(X) p7: mark#(U81(X)) -> active#(U81(mark(X))) p8: active#(isNePal(V)) -> mark#(U61(isQid(V))) p9: mark#(isPal(X)) -> active#(isPal(X)) p10: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p11: mark#(U72(X)) -> mark#(X) p12: mark#(U72(X)) -> active#(U72(mark(X))) p13: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p14: mark#(U71(X1,X2)) -> mark#(X1) p15: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p16: active#(isNeList(V)) -> mark#(U31(isQid(V))) p17: mark#(U61(X)) -> mark#(X) p18: mark#(U61(X)) -> active#(U61(mark(X))) p19: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p20: mark#(U52(X)) -> mark#(X) p21: mark#(U52(X)) -> active#(U52(mark(X))) p22: active#(isList(V)) -> mark#(U11(isNeList(V))) p23: mark#(U51(X1,X2)) -> mark#(X1) p24: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p25: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p26: mark#(isNeList(X)) -> active#(isNeList(X)) p27: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p28: mark#(U42(X)) -> mark#(X) p29: mark#(U42(X)) -> active#(U42(mark(X))) p30: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p31: mark#(U41(X1,X2)) -> mark#(X1) p32: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p33: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p34: mark#(U31(X)) -> mark#(X) p35: mark#(U31(X)) -> active#(U31(mark(X))) p36: active#(__(nil(),X)) -> mark#(X) p37: mark#(isList(X)) -> active#(isList(X)) p38: active#(__(X,nil())) -> mark#(X) p39: mark#(U22(X)) -> mark#(X) p40: mark#(U22(X)) -> active#(U22(mark(X))) p41: mark#(U21(X1,X2)) -> mark#(X1) p42: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p43: mark#(U11(X)) -> mark#(X) p44: mark#(U11(X)) -> active#(U11(mark(X))) p45: mark#(__(X1,X2)) -> mark#(X2) p46: mark#(__(X1,X2)) -> mark#(X1) p47: 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = x1 + 5 ___A(x1,x2) = 15 mark#_A(x1) = 20 isNePal_A(x1) = 15 isPal_A(x1) = 15 U81_A(x1) = 14 isQid_A(x1) = 1 U71_A(x1,x2) = 15 mark_A(x1) = 15 U61_A(x1) = 4 isNeList_A(x1) = 15 U51_A(x1,x2) = 15 U72_A(x1) = 15 U41_A(x1,x2) = 15 isList_A(x1) = 15 U31_A(x1) = 14 U21_A(x1,x2) = 15 U52_A(x1) = 4 U11_A(x1) = 15 tt_A = 3 U42_A(x1) = 5 U22_A(x1) = 15 nil_A = 15 active_A(x1) = max{15, x1} a_A = 15 e_A = 15 i_A = 15 o_A = 15 u_A = 15 precedence: active# = __ = mark# = isNePal = isPal = U81 = isQid = U71 = mark = U61 = isNeList = U51 = U72 = U41 = isList = U31 = U21 = U52 = U11 = tt = U42 = U22 = nil = active = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(U71) = [] pi(mark) = [] pi(U61) = [] pi(isNeList) = [] pi(U51) = [] pi(U72) = [] pi(U41) = [] pi(isList) = [] pi(U31) = [] pi(U21) = [] pi(U52) = [] pi(U11) = [] pi(tt) = [] pi(U42) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{144, x1 - 7} ___A(x1,x2) = 190 mark#_A(x1) = 183 isNePal_A(x1) = 190 isPal_A(x1) = 190 U81_A(x1) = 190 isQid_A(x1) = 189 U71_A(x1,x2) = 190 mark_A(x1) = 187 U61_A(x1) = 0 isNeList_A(x1) = 190 U51_A(x1,x2) = 190 U72_A(x1) = 190 U41_A(x1,x2) = 190 isList_A(x1) = 190 U31_A(x1) = 190 U21_A(x1,x2) = 190 U52_A(x1) = 188 U11_A(x1) = 189 tt_A = 42 U42_A(x1) = 190 U22_A(x1) = 190 nil_A = 140 active_A(x1) = 187 a_A = 43 e_A = 43 i_A = 43 o_A = 43 u_A = 43 precedence: __ > isPal > isNePal = U81 > U72 = U11 > U52 > U42 > isQid = U71 = u > active# = mark# = mark = isNeList = U51 = isList = U31 = U21 = active = a = i = o > U41 > tt = nil > U22 = e > U61 partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(U71) = [] pi(mark) = [] pi(U61) = [] pi(isNeList) = [] pi(U51) = [] pi(U72) = [] pi(U41) = [] pi(isList) = [] pi(U31) = [] pi(U21) = [] pi(U52) = [] pi(U11) = [] pi(tt) = [] pi(U42) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p18, p21 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isPal(V)) -> mark#(U81(isNePal(V))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNePal(__(I,__(P,I)))) -> mark#(U71(isQid(I),P)) p6: mark#(U81(X)) -> mark#(X) p7: mark#(U81(X)) -> active#(U81(mark(X))) p8: active#(isNePal(V)) -> mark#(U61(isQid(V))) p9: mark#(isPal(X)) -> active#(isPal(X)) p10: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p11: mark#(U72(X)) -> mark#(X) p12: mark#(U72(X)) -> active#(U72(mark(X))) p13: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p14: mark#(U71(X1,X2)) -> mark#(X1) p15: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p16: active#(isNeList(V)) -> mark#(U31(isQid(V))) p17: mark#(U61(X)) -> mark#(X) p18: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p19: mark#(U52(X)) -> mark#(X) p20: active#(isList(V)) -> mark#(U11(isNeList(V))) p21: mark#(U51(X1,X2)) -> mark#(X1) p22: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p23: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p24: mark#(isNeList(X)) -> active#(isNeList(X)) p25: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p26: mark#(U42(X)) -> mark#(X) p27: mark#(U42(X)) -> active#(U42(mark(X))) p28: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p29: mark#(U41(X1,X2)) -> mark#(X1) p30: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p31: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p32: mark#(U31(X)) -> mark#(X) p33: mark#(U31(X)) -> active#(U31(mark(X))) p34: active#(__(nil(),X)) -> mark#(X) p35: mark#(isList(X)) -> active#(isList(X)) p36: active#(__(X,nil())) -> mark#(X) p37: mark#(U22(X)) -> mark#(X) p38: mark#(U22(X)) -> active#(U22(mark(X))) p39: mark#(U21(X1,X2)) -> mark#(X1) p40: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p41: mark#(U11(X)) -> mark#(X) p42: mark#(U11(X)) -> active#(U11(mark(X))) p43: mark#(__(X1,X2)) -> mark#(X2) p44: mark#(__(X1,X2)) -> mark#(X1) p45: 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(U11(X)) -> active#(U11(mark(X))) p7: active#(__(nil(),X)) -> mark#(X) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p10: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p11: mark#(U21(X1,X2)) -> mark#(X1) p12: mark#(U22(X)) -> active#(U22(mark(X))) p13: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p14: mark#(U22(X)) -> mark#(X) p15: mark#(isList(X)) -> active#(isList(X)) p16: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p17: mark#(U31(X)) -> active#(U31(mark(X))) p18: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p19: mark#(U31(X)) -> mark#(X) p20: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p21: active#(isList(V)) -> mark#(U11(isNeList(V))) p22: mark#(U41(X1,X2)) -> mark#(X1) p23: mark#(U42(X)) -> active#(U42(mark(X))) p24: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p25: mark#(U42(X)) -> mark#(X) p26: mark#(isNeList(X)) -> active#(isNeList(X)) p27: active#(isNeList(V)) -> mark#(U31(isQid(V))) p28: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p29: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p30: mark#(U51(X1,X2)) -> mark#(X1) p31: mark#(U52(X)) -> mark#(X) p32: mark#(U61(X)) -> mark#(X) p33: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p34: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p35: mark#(U71(X1,X2)) -> mark#(X1) p36: mark#(U72(X)) -> active#(U72(mark(X))) p37: active#(isNePal(V)) -> mark#(U61(isQid(V))) p38: mark#(U72(X)) -> mark#(X) p39: mark#(isPal(X)) -> active#(isPal(X)) p40: active#(isNePal(__(I,__(P,I)))) -> mark#(U71(isQid(I),P)) p41: mark#(U81(X)) -> active#(U81(mark(X))) p42: active#(isPal(V)) -> mark#(U81(isNePal(V))) p43: mark#(U81(X)) -> mark#(X) p44: mark#(isQid(X)) -> active#(isQid(X)) p45: mark#(isNePal(X)) -> active#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{0, x1 - 2} ___A(x1,x2) = max{20, x1, x2} mark#_A(x1) = max{0, x1 - 2} mark_A(x1) = x1 nil_A = 3 U11_A(x1) = max{20, x1} U21_A(x1,x2) = max{x1, x2 + 32} tt_A = 35 U22_A(x1) = max{35, x1} isList_A(x1) = x1 + 32 U41_A(x1,x2) = max{x1, x2 + 32} U42_A(x1) = max{26, x1} isNeList_A(x1) = x1 + 32 U51_A(x1,x2) = max{x1, x2 + 32} U52_A(x1) = max{28, x1} U31_A(x1) = x1 + 6 U71_A(x1,x2) = max{x1 + 16, x2 + 39} U72_A(x1) = max{36, x1} isPal_A(x1) = x1 + 39 isQid_A(x1) = x1 + 23 U61_A(x1) = x1 + 3 isNePal_A(x1) = x1 + 39 U81_A(x1) = max{39, x1} active_A(x1) = x1 a_A = 12 e_A = 12 i_A = 13 o_A = 13 u_A = 13 precedence: active# = __ = mark# = mark = nil = U11 = U21 = tt = U22 = isList = U41 = U42 = isNeList = U51 = U52 = U31 = U71 = U72 = isPal = isQid = U61 = isNePal = U81 = active = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U31) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(U61) = [] pi(isNePal) = [] pi(U81) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 66 ___A(x1,x2) = 78 mark#_A(x1) = 66 mark_A(x1) = 454 nil_A = 0 U11_A(x1) = 374 U21_A(x1,x2) = 300 tt_A = 416 U22_A(x1) = 373 isList_A(x1) = 415 U41_A(x1,x2) = 416 U42_A(x1) = 65 isNeList_A(x1) = 0 U51_A(x1,x2) = 301 U52_A(x1) = 374 U31_A(x1) = 374 U71_A(x1,x2) = 301 U72_A(x1) = 374 isPal_A(x1) = 338 isQid_A(x1) = 369 U61_A(x1) = 374 isNePal_A(x1) = 332 U81_A(x1) = 411 active_A(x1) = max{454, x1 + 38} a_A = 254 e_A = 254 i_A = 254 o_A = 254 u_A = 254 precedence: active# = mark# = a = e = i = o = u > __ = mark = nil = U11 = U21 = tt = U22 = isList = U41 = U42 = U51 = U52 = U31 = U71 = U72 = isPal = isQid = U61 = isNePal = U81 = active > isNeList partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U31) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(U61) = [] pi(isNePal) = [] pi(U81) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p27 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(U11(X)) -> active#(U11(mark(X))) p7: active#(__(nil(),X)) -> mark#(X) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p10: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p11: mark#(U21(X1,X2)) -> mark#(X1) p12: mark#(U22(X)) -> active#(U22(mark(X))) p13: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p14: mark#(U22(X)) -> mark#(X) p15: mark#(isList(X)) -> active#(isList(X)) p16: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p17: mark#(U31(X)) -> active#(U31(mark(X))) p18: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p19: mark#(U31(X)) -> mark#(X) p20: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p21: active#(isList(V)) -> mark#(U11(isNeList(V))) p22: mark#(U41(X1,X2)) -> mark#(X1) p23: mark#(U42(X)) -> active#(U42(mark(X))) p24: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p25: mark#(U42(X)) -> mark#(X) p26: mark#(isNeList(X)) -> active#(isNeList(X)) p27: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p28: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p29: mark#(U51(X1,X2)) -> mark#(X1) p30: mark#(U52(X)) -> mark#(X) p31: mark#(U61(X)) -> mark#(X) p32: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p33: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p34: mark#(U71(X1,X2)) -> mark#(X1) p35: mark#(U72(X)) -> active#(U72(mark(X))) p36: active#(isNePal(V)) -> mark#(U61(isQid(V))) p37: mark#(U72(X)) -> mark#(X) p38: mark#(isPal(X)) -> active#(isPal(X)) p39: active#(isNePal(__(I,__(P,I)))) -> mark#(U71(isQid(I),P)) p40: mark#(U81(X)) -> active#(U81(mark(X))) p41: active#(isPal(V)) -> mark#(U81(isNePal(V))) p42: mark#(U81(X)) -> mark#(X) p43: mark#(isQid(X)) -> active#(isQid(X)) p44: mark#(isNePal(X)) -> active#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isPal(V)) -> mark#(U81(isNePal(V))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNePal(__(I,__(P,I)))) -> mark#(U71(isQid(I),P)) p6: mark#(U81(X)) -> mark#(X) p7: mark#(U81(X)) -> active#(U81(mark(X))) p8: active#(isNePal(V)) -> mark#(U61(isQid(V))) p9: mark#(isPal(X)) -> active#(isPal(X)) p10: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p11: mark#(U72(X)) -> mark#(X) p12: mark#(U72(X)) -> active#(U72(mark(X))) p13: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p14: mark#(U71(X1,X2)) -> mark#(X1) p15: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p16: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p17: mark#(U61(X)) -> mark#(X) p18: mark#(U52(X)) -> mark#(X) p19: mark#(U51(X1,X2)) -> mark#(X1) p20: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p21: active#(isList(V)) -> mark#(U11(isNeList(V))) p22: mark#(isNeList(X)) -> active#(isNeList(X)) p23: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p24: mark#(U42(X)) -> mark#(X) p25: mark#(U42(X)) -> active#(U42(mark(X))) p26: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p27: mark#(U41(X1,X2)) -> mark#(X1) p28: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p29: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p30: mark#(U31(X)) -> mark#(X) p31: mark#(U31(X)) -> active#(U31(mark(X))) p32: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p33: mark#(isList(X)) -> active#(isList(X)) p34: active#(__(nil(),X)) -> mark#(X) p35: mark#(U22(X)) -> mark#(X) p36: mark#(U22(X)) -> active#(U22(mark(X))) p37: active#(__(X,nil())) -> mark#(X) p38: mark#(U21(X1,X2)) -> mark#(X1) p39: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p40: mark#(U11(X)) -> mark#(X) p41: mark#(U11(X)) -> active#(U11(mark(X))) p42: mark#(__(X1,X2)) -> mark#(X2) p43: mark#(__(X1,X2)) -> mark#(X1) p44: 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{29, x1 - 12} ___A(x1,x2) = max{x1 + 121, x2} mark#_A(x1) = max{30, x1 - 12} isNePal_A(x1) = x1 + 120 isPal_A(x1) = x1 + 175 U81_A(x1) = max{74, x1 + 43} isQid_A(x1) = max{5, x1 + 1} U71_A(x1,x2) = max{x1 + 35, x2 + 229} mark_A(x1) = x1 U61_A(x1) = x1 + 13 isNeList_A(x1) = x1 + 131 U51_A(x1,x2) = max{x1 + 91, x2 + 131} U72_A(x1) = max{54, x1 + 43} U41_A(x1,x2) = max{x1 + 28, x2 + 131} isList_A(x1) = x1 + 131 U21_A(x1,x2) = max{238, x1 + 6, x2 + 131} U52_A(x1) = max{163, x1} U11_A(x1) = max{5, x1} tt_A = 72 U42_A(x1) = max{87, x1} U31_A(x1) = x1 + 33 U22_A(x1) = max{5, x1} nil_A = 43 active_A(x1) = max{5, x1} a_A = 71 e_A = 73 i_A = 73 o_A = 73 u_A = 73 precedence: __ = isNeList = U52 = U22 = i > isNePal > U51 = U21 > isList > mark = active > o > U71 = U72 > active# = mark# = isQid = e > nil > a = u > isPal > U81 = U61 = U41 = U11 = tt = U42 = U31 partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(U71) = [] pi(mark) = [] pi(U61) = [] pi(isNeList) = [] pi(U51) = [] pi(U72) = [] pi(U41) = [] pi(isList) = [] pi(U21) = [] pi(U52) = [] pi(U11) = [] pi(tt) = [] pi(U42) = [] pi(U31) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 366 ___A(x1,x2) = 138 mark#_A(x1) = 366 isNePal_A(x1) = 470 isPal_A(x1) = 462 U81_A(x1) = 494 isQid_A(x1) = 479 U71_A(x1,x2) = 217 mark_A(x1) = 461 U61_A(x1) = 924 isNeList_A(x1) = 463 U51_A(x1,x2) = 338 U72_A(x1) = 367 U41_A(x1,x2) = 462 isList_A(x1) = 476 U21_A(x1,x2) = 365 U52_A(x1) = 365 U11_A(x1) = 506 tt_A = 550 U42_A(x1) = 367 U31_A(x1) = 460 U22_A(x1) = 481 nil_A = 455 active_A(x1) = 461 a_A = 460 e_A = 455 i_A = 455 o_A = 455 u_A = 460 precedence: tt = U42 > mark = active > isNePal = U22 > isPal = U81 = isQid = U61 = isNeList = U72 = isList = U52 = U11 = U31 = nil = a = e = i = o = u > U21 > __ > active# = mark# = U71 = U51 = U41 partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(U71) = [] pi(mark) = [] pi(U61) = [] pi(isNeList) = [] pi(U51) = [] pi(U72) = [] pi(U41) = [] pi(isList) = [] pi(U21) = [] pi(U52) = [] pi(U11) = [] pi(tt) = [] pi(U42) = [] pi(U31) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p8 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isPal(V)) -> mark#(U81(isNePal(V))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNePal(__(I,__(P,I)))) -> mark#(U71(isQid(I),P)) p6: mark#(U81(X)) -> mark#(X) p7: mark#(U81(X)) -> active#(U81(mark(X))) p8: mark#(isPal(X)) -> active#(isPal(X)) p9: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p10: mark#(U72(X)) -> mark#(X) p11: mark#(U72(X)) -> active#(U72(mark(X))) p12: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p13: mark#(U71(X1,X2)) -> mark#(X1) p14: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p15: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p16: mark#(U61(X)) -> mark#(X) p17: mark#(U52(X)) -> mark#(X) p18: mark#(U51(X1,X2)) -> mark#(X1) p19: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p20: active#(isList(V)) -> mark#(U11(isNeList(V))) p21: mark#(isNeList(X)) -> active#(isNeList(X)) p22: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p23: mark#(U42(X)) -> mark#(X) p24: mark#(U42(X)) -> active#(U42(mark(X))) p25: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p26: mark#(U41(X1,X2)) -> mark#(X1) p27: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p28: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p29: mark#(U31(X)) -> mark#(X) p30: mark#(U31(X)) -> active#(U31(mark(X))) p31: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p32: mark#(isList(X)) -> active#(isList(X)) p33: active#(__(nil(),X)) -> mark#(X) p34: mark#(U22(X)) -> mark#(X) p35: mark#(U22(X)) -> active#(U22(mark(X))) p36: active#(__(X,nil())) -> mark#(X) p37: mark#(U21(X1,X2)) -> mark#(X1) p38: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p39: mark#(U11(X)) -> mark#(X) p40: mark#(U11(X)) -> active#(U11(mark(X))) p41: mark#(__(X1,X2)) -> mark#(X2) p42: mark#(__(X1,X2)) -> mark#(X1) p43: 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(U11(X)) -> active#(U11(mark(X))) p7: active#(__(nil(),X)) -> mark#(X) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p10: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p11: mark#(U21(X1,X2)) -> mark#(X1) p12: mark#(U22(X)) -> active#(U22(mark(X))) p13: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p14: mark#(U22(X)) -> mark#(X) p15: mark#(isList(X)) -> active#(isList(X)) p16: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p17: mark#(U31(X)) -> active#(U31(mark(X))) p18: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p19: mark#(U31(X)) -> mark#(X) p20: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p21: active#(isList(V)) -> mark#(U11(isNeList(V))) p22: mark#(U41(X1,X2)) -> mark#(X1) p23: mark#(U42(X)) -> active#(U42(mark(X))) p24: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p25: mark#(U42(X)) -> mark#(X) p26: mark#(isNeList(X)) -> active#(isNeList(X)) p27: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p28: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p29: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p30: mark#(U51(X1,X2)) -> mark#(X1) p31: mark#(U52(X)) -> mark#(X) p32: mark#(U61(X)) -> mark#(X) p33: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p34: active#(isNePal(__(I,__(P,I)))) -> mark#(U71(isQid(I),P)) p35: mark#(U71(X1,X2)) -> mark#(X1) p36: mark#(U72(X)) -> active#(U72(mark(X))) p37: active#(isPal(V)) -> mark#(U81(isNePal(V))) p38: mark#(U72(X)) -> mark#(X) p39: mark#(isPal(X)) -> active#(isPal(X)) p40: mark#(U81(X)) -> active#(U81(mark(X))) p41: mark#(U81(X)) -> mark#(X) p42: mark#(isQid(X)) -> active#(isQid(X)) p43: mark#(isNePal(X)) -> active#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{8, x1 - 6} ___A(x1,x2) = max{94, x1 + 93, x2} mark#_A(x1) = max{0, x1 - 6} mark_A(x1) = x1 nil_A = 110 U11_A(x1) = max{14, x1} U21_A(x1,x2) = max{x1, x2 + 14} tt_A = 109 U22_A(x1) = max{109, x1} isList_A(x1) = max{108, x1 + 14} U41_A(x1,x2) = max{92, x1, x2 + 14} U42_A(x1) = max{109, x1} isNeList_A(x1) = max{91, x1 + 14} U51_A(x1,x2) = max{x1 + 4, x2 + 14} U52_A(x1) = max{113, x1} U31_A(x1) = x1 + 60 U71_A(x1,x2) = max{158, x1 + 53, x2 + 93} U72_A(x1) = max{15, x1 + 10} isPal_A(x1) = max{147, x1 + 82} U61_A(x1) = x1 + 111 isNePal_A(x1) = max{132, x1 + 66} isQid_A(x1) = max{14, x1 - 46} U81_A(x1) = max{87, x1 + 15} active_A(x1) = max{14, x1} a_A = 156 e_A = 156 i_A = 156 o_A = 156 u_A = 156 precedence: active# = __ = mark# = mark = nil = U11 = U21 = tt = U22 = isList = U41 = U42 = isNeList = U51 = U52 = U31 = U71 = U72 = isPal = U61 = isNePal = isQid = U81 = active = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U31) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U61) = [] pi(isNePal) = [] pi(isQid) = [] pi(U81) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 522 ___A(x1,x2) = 120 mark#_A(x1) = 522 mark_A(x1) = 463 nil_A = 462 U11_A(x1) = 531 U21_A(x1,x2) = 394 tt_A = 614 U22_A(x1) = 514 isList_A(x1) = 505 U41_A(x1,x2) = 394 U42_A(x1) = 514 isNeList_A(x1) = 475 U51_A(x1,x2) = 411 U52_A(x1) = 531 U31_A(x1) = 528 U71_A(x1,x2) = 317 U72_A(x1) = 512 isPal_A(x1) = 468 U61_A(x1) = 148 isNePal_A(x1) = 491 isQid_A(x1) = 514 U81_A(x1) = 521 active_A(x1) = 463 a_A = 446 e_A = 446 i_A = 446 o_A = 446 u_A = 446 precedence: active# = __ = mark# = nil = U11 = U21 = tt = U22 = isList = U41 = U42 = isNeList = U51 = U52 = U31 = U71 = U72 = isPal = U61 = isNePal = isQid = U81 = e = i = o = u > mark = active = a partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U31) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U61) = [] pi(isNePal) = [] pi(isQid) = [] pi(U81) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p3, p4, p34, p38 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: mark#(__(X1,X2)) -> mark#(X2) p4: mark#(U11(X)) -> active#(U11(mark(X))) p5: active#(__(nil(),X)) -> mark#(X) p6: mark#(U11(X)) -> mark#(X) p7: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p8: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p9: mark#(U21(X1,X2)) -> mark#(X1) p10: mark#(U22(X)) -> active#(U22(mark(X))) p11: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p12: mark#(U22(X)) -> mark#(X) p13: mark#(isList(X)) -> active#(isList(X)) p14: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p15: mark#(U31(X)) -> active#(U31(mark(X))) p16: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p17: mark#(U31(X)) -> mark#(X) p18: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p19: active#(isList(V)) -> mark#(U11(isNeList(V))) p20: mark#(U41(X1,X2)) -> mark#(X1) p21: mark#(U42(X)) -> active#(U42(mark(X))) p22: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p23: mark#(U42(X)) -> mark#(X) p24: mark#(isNeList(X)) -> active#(isNeList(X)) p25: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p26: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p27: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p28: mark#(U51(X1,X2)) -> mark#(X1) p29: mark#(U52(X)) -> mark#(X) p30: mark#(U61(X)) -> mark#(X) p31: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p32: mark#(U71(X1,X2)) -> mark#(X1) p33: mark#(U72(X)) -> active#(U72(mark(X))) p34: active#(isPal(V)) -> mark#(U81(isNePal(V))) p35: mark#(isPal(X)) -> active#(isPal(X)) p36: mark#(U81(X)) -> active#(U81(mark(X))) p37: mark#(U81(X)) -> mark#(X) p38: mark#(isQid(X)) -> active#(isQid(X)) p39: mark#(isNePal(X)) -> active#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isPal(V)) -> mark#(U81(isNePal(V))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p6: mark#(U81(X)) -> mark#(X) p7: mark#(U81(X)) -> active#(U81(mark(X))) p8: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p9: mark#(isPal(X)) -> active#(isPal(X)) p10: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p11: mark#(U72(X)) -> active#(U72(mark(X))) p12: active#(isList(V)) -> mark#(U11(isNeList(V))) p13: mark#(U71(X1,X2)) -> mark#(X1) p14: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p15: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p16: mark#(U61(X)) -> mark#(X) p17: mark#(U52(X)) -> mark#(X) p18: mark#(U51(X1,X2)) -> mark#(X1) p19: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p20: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p21: mark#(isNeList(X)) -> active#(isNeList(X)) p22: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p23: mark#(U42(X)) -> mark#(X) p24: mark#(U42(X)) -> active#(U42(mark(X))) p25: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p26: mark#(U41(X1,X2)) -> mark#(X1) p27: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p28: active#(__(nil(),X)) -> mark#(X) p29: mark#(U31(X)) -> mark#(X) p30: mark#(U31(X)) -> active#(U31(mark(X))) p31: mark#(isList(X)) -> active#(isList(X)) p32: mark#(U22(X)) -> mark#(X) p33: mark#(U22(X)) -> active#(U22(mark(X))) p34: mark#(U21(X1,X2)) -> mark#(X1) p35: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p36: mark#(U11(X)) -> mark#(X) p37: mark#(U11(X)) -> active#(U11(mark(X))) p38: mark#(__(X1,X2)) -> mark#(X2) p39: 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = x1 + 179 ___A(x1,x2) = 74 mark#_A(x1) = 253 isNePal_A(x1) = 74 isPal_A(x1) = 74 U81_A(x1) = 74 isQid_A(x1) = 74 isNeList_A(x1) = 74 U51_A(x1,x2) = 74 mark_A(x1) = 216 U41_A(x1,x2) = 74 isList_A(x1) = 74 U21_A(x1,x2) = 74 U72_A(x1) = 74 U11_A(x1) = 74 U71_A(x1,x2) = 74 tt_A = 1 U61_A(x1) = 74 U52_A(x1) = 74 U42_A(x1) = 74 U22_A(x1) = 74 nil_A = 74 U31_A(x1) = 74 active_A(x1) = x1 + 142 a_A = 0 e_A = 0 i_A = 73 o_A = 0 u_A = 2 precedence: active# = __ = mark# = isNePal = isPal = U81 = isQid = isNeList = U51 = mark = U41 = isList = U21 = U72 = U11 = U71 = tt = U61 = U52 = U42 = U22 = nil = U31 = active = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNeList) = [] pi(U51) = [] pi(mark) = [] pi(U41) = [] pi(isList) = [] pi(U21) = [] pi(U72) = [] pi(U11) = [] pi(U71) = [] pi(tt) = [] pi(U61) = [] pi(U52) = [] pi(U42) = [] pi(U22) = [] pi(nil) = [] pi(U31) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{151, x1 - 13} ___A(x1,x2) = 316 mark#_A(x1) = 303 isNePal_A(x1) = 315 isPal_A(x1) = 316 U81_A(x1) = 315 isQid_A(x1) = 315 isNeList_A(x1) = 316 U51_A(x1,x2) = 316 mark_A(x1) = 311 U41_A(x1,x2) = 316 isList_A(x1) = 316 U21_A(x1,x2) = 316 U72_A(x1) = 312 U11_A(x1) = 315 U71_A(x1,x2) = 316 tt_A = 653 U61_A(x1) = 283 U52_A(x1) = 485 U42_A(x1) = 315 U22_A(x1) = 316 nil_A = 291 U31_A(x1) = 150 active_A(x1) = 311 a_A = 285 e_A = 285 i_A = 285 o_A = 285 u_A = 285 precedence: active# = __ = mark# = isNePal = isPal = U81 = isQid = isNeList = U51 = mark = U41 = isList = U21 = U72 = U11 = U71 = tt = U61 = U52 = U42 = U22 = nil = U31 = active = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNeList) = [] pi(U51) = [] pi(mark) = [] pi(U41) = [] pi(isList) = [] pi(U21) = [] pi(U72) = [] pi(U11) = [] pi(U71) = [] pi(tt) = [] pi(U61) = [] pi(U52) = [] pi(U42) = [] pi(U22) = [] pi(nil) = [] pi(U31) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p2, p4, p7, p11, p24, p30, p37 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: active#(isPal(V)) -> mark#(U81(isNePal(V))) p3: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p4: mark#(U81(X)) -> mark#(X) p5: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p6: mark#(isPal(X)) -> active#(isPal(X)) p7: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p8: active#(isList(V)) -> mark#(U11(isNeList(V))) p9: mark#(U71(X1,X2)) -> mark#(X1) p10: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p11: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p12: mark#(U61(X)) -> mark#(X) p13: mark#(U52(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> mark#(X1) p15: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p16: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p17: mark#(isNeList(X)) -> active#(isNeList(X)) p18: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p19: mark#(U42(X)) -> mark#(X) p20: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p21: mark#(U41(X1,X2)) -> mark#(X1) p22: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p23: active#(__(nil(),X)) -> mark#(X) p24: mark#(U31(X)) -> mark#(X) p25: mark#(isList(X)) -> active#(isList(X)) p26: mark#(U22(X)) -> mark#(X) p27: mark#(U22(X)) -> active#(U22(mark(X))) p28: mark#(U21(X1,X2)) -> mark#(X1) p29: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p30: mark#(U11(X)) -> mark#(X) p31: mark#(__(X1,X2)) -> mark#(X2) p32: 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X)) -> active#(U22(mark(X))) p10: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p11: mark#(U22(X)) -> mark#(X) p12: mark#(isList(X)) -> active#(isList(X)) p13: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p14: mark#(U31(X)) -> mark#(X) p15: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p16: active#(U71(tt(),P)) -> mark#(U72(isPal(P))) p17: mark#(U41(X1,X2)) -> mark#(X1) p18: mark#(U42(X)) -> mark#(X) p19: mark#(isNeList(X)) -> active#(isNeList(X)) p20: active#(isList(V)) -> mark#(U11(isNeList(V))) p21: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p22: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p23: mark#(U51(X1,X2)) -> mark#(X1) p24: mark#(U52(X)) -> mark#(X) p25: mark#(U61(X)) -> mark#(X) p26: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p27: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p28: mark#(U71(X1,X2)) -> mark#(X1) p29: mark#(isPal(X)) -> active#(isPal(X)) p30: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p31: mark#(U81(X)) -> mark#(X) p32: active#(isPal(V)) -> mark#(U81(isNePal(V))) 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{29, x1 + 26} ___A(x1,x2) = max{x1 + 32, x2} mark#_A(x1) = x1 + 26 mark_A(x1) = x1 nil_A = 49 U11_A(x1) = max{48, x1} U21_A(x1,x2) = max{48, x1} tt_A = 48 U22_A(x1) = max{21, x1} isList_A(x1) = 48 U41_A(x1,x2) = max{25, x1} U42_A(x1) = max{24, x1} isNeList_A(x1) = 48 U51_A(x1,x2) = max{33, x1} U52_A(x1) = max{4, x1} U31_A(x1) = max{5, x1} U71_A(x1,x2) = max{x1 + 25, x2 + 83} U72_A(x1) = x1 + 4 isPal_A(x1) = x1 + 77 U61_A(x1) = max{49, x1 + 3} U81_A(x1) = max{67, x1 + 26} isNePal_A(x1) = x1 + 51 active_A(x1) = max{4, x1} isQid_A(x1) = 48 a_A = 23 e_A = 5 i_A = 23 o_A = 23 u_A = 5 precedence: active# = mark# = U81 = i = o > __ = U31 = a > mark = nil = U11 = U21 = tt = U22 = isList = U41 = U42 = isNeList = U51 = U52 = U71 = U72 = isPal = U61 = isNePal = active = isQid = e = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U31) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U61) = [] pi(U81) = [] pi(isNePal) = [] pi(active) = [] pi(isQid) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 804 ___A(x1,x2) = 908 mark#_A(x1) = 804 mark_A(x1) = 901 nil_A = 867 U11_A(x1) = 1236 U21_A(x1,x2) = 805 tt_A = 1353 U22_A(x1) = 981 isList_A(x1) = 904 U41_A(x1,x2) = 1015 U42_A(x1) = 1132 isNeList_A(x1) = 902 U51_A(x1,x2) = 1119 U52_A(x1) = 1236 U31_A(x1) = 804 U71_A(x1,x2) = 1002 U72_A(x1) = 1236 isPal_A(x1) = 908 U61_A(x1) = 804 U81_A(x1) = 1087 isNePal_A(x1) = 944 active_A(x1) = 901 isQid_A(x1) = 900 a_A = 867 e_A = 867 i_A = 867 o_A = 867 u_A = 867 precedence: U51 = isPal = i = o = u > active# = __ = mark# = U11 = U21 = tt = U22 = isList = U41 = U42 = isNeList = U52 = U31 = U71 = U72 = U61 > mark = nil = U81 = isNePal = active = isQid = a = e partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U31) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U61) = [] pi(U81) = [] pi(isNePal) = [] pi(active) = [] pi(isQid) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p16 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X)) -> active#(U22(mark(X))) p10: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p11: mark#(U22(X)) -> mark#(X) p12: mark#(isList(X)) -> active#(isList(X)) p13: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p14: mark#(U31(X)) -> mark#(X) p15: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p16: mark#(U41(X1,X2)) -> mark#(X1) p17: mark#(U42(X)) -> mark#(X) p18: mark#(isNeList(X)) -> active#(isNeList(X)) p19: active#(isList(V)) -> mark#(U11(isNeList(V))) p20: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p21: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p22: mark#(U51(X1,X2)) -> mark#(X1) p23: mark#(U52(X)) -> mark#(X) p24: mark#(U61(X)) -> mark#(X) p25: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p26: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p27: mark#(U71(X1,X2)) -> mark#(X1) p28: mark#(isPal(X)) -> active#(isPal(X)) p29: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p30: mark#(U81(X)) -> mark#(X) p31: active#(isPal(V)) -> mark#(U81(isNePal(V))) 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(U81(X)) -> mark#(X) p3: mark#(isPal(X)) -> active#(isPal(X)) p4: active#(isPal(V)) -> mark#(U81(isNePal(V))) p5: mark#(U71(X1,X2)) -> mark#(X1) p6: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p7: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p8: mark#(U61(X)) -> mark#(X) p9: mark#(U52(X)) -> mark#(X) p10: mark#(U51(X1,X2)) -> mark#(X1) p11: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p12: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p13: mark#(isNeList(X)) -> active#(isNeList(X)) p14: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p15: mark#(U42(X)) -> mark#(X) p16: mark#(U41(X1,X2)) -> mark#(X1) p17: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p18: active#(isList(V)) -> mark#(U11(isNeList(V))) p19: mark#(U31(X)) -> mark#(X) p20: mark#(isList(X)) -> active#(isList(X)) p21: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p22: mark#(U22(X)) -> mark#(X) p23: mark#(U22(X)) -> active#(U22(mark(X))) p24: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p25: mark#(U21(X1,X2)) -> mark#(X1) p26: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p27: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p28: mark#(U11(X)) -> mark#(X) p29: mark#(__(X1,X2)) -> mark#(X2) p30: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p31: active#(__(nil(),X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = x1 + 105 ___A(x1,x2) = max{48, x1 + 38, x2} mark#_A(x1) = x1 + 105 U81_A(x1) = max{31, x1 + 3} isPal_A(x1) = max{31, x1 - 5} isNePal_A(x1) = max{27, x1 - 8} U71_A(x1,x2) = max{x1 + 1, x2 + 30} mark_A(x1) = max{9, x1} isNeList_A(x1) = x1 + 50 U51_A(x1,x2) = max{74, x1, x2 + 50} U61_A(x1) = max{24, x1} U52_A(x1) = max{49, x1} U41_A(x1,x2) = max{98, x1 + 24, x2 + 50} isList_A(x1) = max{74, x1 + 50} U21_A(x1,x2) = max{74, x1 + 24, x2 + 50} U42_A(x1) = max{48, x1} U11_A(x1) = max{74, x1} U31_A(x1) = max{32, x1 + 23} tt_A = 24 U22_A(x1) = max{25, x1} nil_A = 25 active_A(x1) = max{24, x1} U72_A(x1) = 25 isQid_A(x1) = 27 a_A = 25 e_A = 25 i_A = 25 o_A = 25 u_A = 25 precedence: active# = __ = mark# = U81 = isPal = isNePal = U71 = mark = isNeList = U51 = U61 = U52 = U41 = isList = U21 = U42 = U11 = U31 = tt = U22 = nil = active = U72 = isQid = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(U81) = [] pi(isPal) = [] pi(isNePal) = [] pi(U71) = [] pi(mark) = [] pi(isNeList) = [] pi(U51) = [] pi(U61) = [] pi(U52) = [] pi(U41) = [] pi(isList) = [] pi(U21) = [] pi(U42) = [] pi(U11) = [] pi(U31) = [] pi(tt) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(U72) = [] pi(isQid) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 228 ___A(x1,x2) = 229 mark#_A(x1) = 228 U81_A(x1) = 334 isPal_A(x1) = 238 isNePal_A(x1) = 288 U71_A(x1,x2) = 208 mark_A(x1) = 224 isNeList_A(x1) = 227 U51_A(x1,x2) = 194 U61_A(x1) = 195 U52_A(x1) = 318 U41_A(x1,x2) = 168 isList_A(x1) = 227 U21_A(x1,x2) = 194 U42_A(x1) = 318 U11_A(x1) = 323 U31_A(x1) = 195 tt_A = 458 U22_A(x1) = 318 nil_A = 210 active_A(x1) = 224 U72_A(x1) = 209 isQid_A(x1) = 223 a_A = 197 e_A = 197 i_A = 197 o_A = 197 u_A = 197 precedence: i = o > __ = U81 = isPal = U71 = isNeList > U51 = U61 > active# = mark# = isNePal = U41 > u > e > U52 > isList > mark = U21 = U42 = U11 = U31 = tt = U22 = nil = active = U72 = isQid = a partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(U81) = [] pi(isPal) = [] pi(isNePal) = [] pi(U71) = [] pi(mark) = [] pi(isNeList) = [] pi(U51) = [] pi(U61) = [] pi(U52) = [] pi(U41) = [] pi(isList) = [] pi(U21) = [] pi(U42) = [] pi(U11) = [] pi(U31) = [] pi(tt) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(U72) = [] pi(isQid) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p19 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(U81(X)) -> mark#(X) p3: mark#(isPal(X)) -> active#(isPal(X)) p4: active#(isPal(V)) -> mark#(U81(isNePal(V))) p5: mark#(U71(X1,X2)) -> mark#(X1) p6: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p7: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p8: mark#(U61(X)) -> mark#(X) p9: mark#(U52(X)) -> mark#(X) p10: mark#(U51(X1,X2)) -> mark#(X1) p11: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p12: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p13: mark#(isNeList(X)) -> active#(isNeList(X)) p14: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p15: mark#(U42(X)) -> mark#(X) p16: mark#(U41(X1,X2)) -> mark#(X1) p17: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p18: active#(isList(V)) -> mark#(U11(isNeList(V))) p19: mark#(isList(X)) -> active#(isList(X)) p20: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p21: mark#(U22(X)) -> mark#(X) p22: mark#(U22(X)) -> active#(U22(mark(X))) p23: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p24: mark#(U21(X1,X2)) -> mark#(X1) p25: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p26: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p27: mark#(U11(X)) -> mark#(X) p28: mark#(__(X1,X2)) -> mark#(X2) p29: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p30: active#(__(nil(),X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X)) -> active#(U22(mark(X))) p10: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p11: mark#(U22(X)) -> mark#(X) p12: mark#(isList(X)) -> active#(isList(X)) p13: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p14: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p15: active#(isList(V)) -> mark#(U11(isNeList(V))) p16: mark#(U41(X1,X2)) -> mark#(X1) p17: mark#(U42(X)) -> mark#(X) p18: mark#(isNeList(X)) -> active#(isNeList(X)) p19: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p20: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p21: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p22: mark#(U51(X1,X2)) -> mark#(X1) p23: mark#(U52(X)) -> mark#(X) p24: mark#(U61(X)) -> mark#(X) p25: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p26: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p27: mark#(U71(X1,X2)) -> mark#(X1) p28: mark#(isPal(X)) -> active#(isPal(X)) p29: active#(isPal(V)) -> mark#(U81(isNePal(V))) p30: mark#(U81(X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{100, x1 + 66} ___A(x1,x2) = max{99, x1 + 87, x2} mark#_A(x1) = max{100, x1 + 66} mark_A(x1) = max{8, x1} nil_A = 9 U11_A(x1) = max{8, x1} U21_A(x1,x2) = max{65, x1 + 9, x2} tt_A = 3 U22_A(x1) = max{35, x1} isList_A(x1) = max{11, x1} U41_A(x1,x2) = max{95, x1 + 87, x2} U42_A(x1) = max{8, x1} isNeList_A(x1) = max{11, x1} U51_A(x1,x2) = max{99, x1 + 56, x2} U52_A(x1) = max{99, x1} U61_A(x1) = max{18, x1 + 9} U71_A(x1,x2) = max{44, x1 + 35} isPal_A(x1) = 47 U81_A(x1) = max{8, x1} isNePal_A(x1) = 46 active_A(x1) = max{4, x1} U31_A(x1) = max{9, x1 - 1} U72_A(x1) = 37 isQid_A(x1) = 10 a_A = 5 e_A = 5 i_A = 9 o_A = 9 u_A = 0 precedence: __ = mark = U11 = U21 = tt = isList = U41 = U42 = isNeList = U51 = U52 = U61 = isPal = U81 = isNePal = active = U31 = U72 = isQid = a = e = i = o = u > active# = mark# = nil = U22 = U71 partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(isPal) = [] pi(U81) = [] pi(isNePal) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isQid) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 50 ___A(x1,x2) = 64 mark#_A(x1) = 50 mark_A(x1) = 353 nil_A = 199 U11_A(x1) = 706 U21_A(x1,x2) = 352 tt_A = 729 U22_A(x1) = 466 isList_A(x1) = 49 U41_A(x1,x2) = 160 U42_A(x1) = 354 isNeList_A(x1) = 62 U51_A(x1,x2) = 85 U52_A(x1) = 706 U61_A(x1) = 403 U71_A(x1,x2) = 347 isPal_A(x1) = 373 U81_A(x1) = 403 isNePal_A(x1) = 362 active_A(x1) = 353 U31_A(x1) = 706 U72_A(x1) = 706 isQid_A(x1) = 352 a_A = 0 e_A = 20 i_A = 20 o_A = 20 u_A = 20 precedence: __ = e = i = o = u > active# = mark# = nil = U11 = U21 = tt = U22 = isList = U41 > mark = U42 = isNeList = U51 = U52 = U61 = U71 = isPal = U81 = isNePal = active = U31 = U72 = isQid = a partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(isPal) = [] pi(U81) = [] pi(isNePal) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isQid) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p29 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X)) -> active#(U22(mark(X))) p10: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p11: mark#(U22(X)) -> mark#(X) p12: mark#(isList(X)) -> active#(isList(X)) p13: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p14: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p15: active#(isList(V)) -> mark#(U11(isNeList(V))) p16: mark#(U41(X1,X2)) -> mark#(X1) p17: mark#(U42(X)) -> mark#(X) p18: mark#(isNeList(X)) -> active#(isNeList(X)) p19: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p20: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p21: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p22: mark#(U51(X1,X2)) -> mark#(X1) p23: mark#(U52(X)) -> mark#(X) p24: mark#(U61(X)) -> mark#(X) p25: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p26: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p27: mark#(U71(X1,X2)) -> mark#(X1) p28: mark#(isPal(X)) -> active#(isPal(X)) p29: mark#(U81(X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(U81(X)) -> mark#(X) p3: mark#(isPal(X)) -> active#(isPal(X)) p4: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p5: mark#(U71(X1,X2)) -> mark#(X1) p6: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p7: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p8: mark#(U61(X)) -> mark#(X) p9: mark#(U52(X)) -> mark#(X) p10: mark#(U51(X1,X2)) -> mark#(X1) p11: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p12: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p13: mark#(isNeList(X)) -> active#(isNeList(X)) p14: active#(isList(V)) -> mark#(U11(isNeList(V))) p15: mark#(U42(X)) -> mark#(X) p16: mark#(U41(X1,X2)) -> mark#(X1) p17: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p18: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p19: mark#(isList(X)) -> active#(isList(X)) p20: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p21: mark#(U22(X)) -> mark#(X) p22: mark#(U22(X)) -> active#(U22(mark(X))) p23: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p24: mark#(U21(X1,X2)) -> mark#(X1) p25: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p26: active#(__(nil(),X)) -> mark#(X) p27: mark#(U11(X)) -> mark#(X) p28: mark#(__(X1,X2)) -> mark#(X2) p29: 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{4, x1 - 18} ___A(x1,x2) = max{82, x1 + 81, x2} mark#_A(x1) = max{14, x1 - 18} U81_A(x1) = max{13, x1} isPal_A(x1) = 31 isNeList_A(x1) = max{38, x1 + 21} U51_A(x1,x2) = max{x1 + 58, x2 + 21} U71_A(x1,x2) = max{31, x1 + 23} mark_A(x1) = x1 U41_A(x1,x2) = max{80, x1 + 31, x2 + 21} isList_A(x1) = max{52, x1 + 21} U61_A(x1) = x1 + 13 U52_A(x1) = max{19, x1} U21_A(x1,x2) = max{x1 + 46, x2 + 21} U11_A(x1) = max{38, x1} U42_A(x1) = x1 tt_A = 6 U22_A(x1) = max{35, x1} nil_A = 1 active_A(x1) = x1 U31_A(x1) = x1 U72_A(x1) = x1 isQid_A(x1) = 7 isNePal_A(x1) = 31 a_A = 1 e_A = 9 i_A = 9 o_A = 1 u_A = 7 precedence: active# = __ = mark# = U81 = isPal = isNeList = U51 = U71 = mark = U41 = isList = U61 = U52 = U21 = U11 = U42 = tt = U22 = nil = active = U31 = U72 = isQid = isNePal = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(U81) = [] pi(isPal) = [] pi(isNeList) = [] pi(U51) = [] pi(U71) = [] pi(mark) = [] pi(U41) = [] pi(isList) = [] pi(U61) = [] pi(U52) = [] pi(U21) = [] pi(U11) = [] pi(U42) = [] pi(tt) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 443 ___A(x1,x2) = 372 mark#_A(x1) = 443 U81_A(x1) = 372 isPal_A(x1) = 374 isNeList_A(x1) = 401 U51_A(x1,x2) = 369 U71_A(x1,x2) = 243 mark_A(x1) = 372 U41_A(x1,x2) = 256 isList_A(x1) = 463 U61_A(x1) = 372 U52_A(x1) = 463 U21_A(x1,x2) = 343 U11_A(x1) = 442 U42_A(x1) = 463 tt_A = 464 U22_A(x1) = 444 nil_A = 0 active_A(x1) = 372 U31_A(x1) = 372 U72_A(x1) = 372 isQid_A(x1) = 336 isNePal_A(x1) = 308 a_A = 124 e_A = 124 i_A = 124 o_A = 124 u_A = 124 precedence: U61 = tt = U31 = i > U81 = U52 = U72 > active# = mark# = isPal = isNeList = U51 = U71 = mark = isList = U11 = U42 = U22 = nil = active = a = e = o = u > __ = isQid > U41 = U21 = isNePal partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(U81) = [] pi(isPal) = [] pi(isNeList) = [] pi(U51) = [] pi(U71) = [] pi(mark) = [] pi(U41) = [] pi(isList) = [] pi(U61) = [] pi(U52) = [] pi(U21) = [] pi(U11) = [] pi(U42) = [] pi(tt) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(U81(X)) -> mark#(X) p3: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p4: mark#(U71(X1,X2)) -> mark#(X1) p5: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p6: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p7: mark#(U61(X)) -> mark#(X) p8: mark#(U52(X)) -> mark#(X) p9: mark#(U51(X1,X2)) -> mark#(X1) p10: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p11: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p12: mark#(isNeList(X)) -> active#(isNeList(X)) p13: active#(isList(V)) -> mark#(U11(isNeList(V))) p14: mark#(U42(X)) -> mark#(X) p15: mark#(U41(X1,X2)) -> mark#(X1) p16: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p17: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p18: mark#(isList(X)) -> active#(isList(X)) p19: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p20: mark#(U22(X)) -> mark#(X) p21: mark#(U22(X)) -> active#(U22(mark(X))) p22: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p23: mark#(U21(X1,X2)) -> mark#(X1) p24: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p25: active#(__(nil(),X)) -> mark#(X) p26: mark#(U11(X)) -> mark#(X) p27: mark#(__(X1,X2)) -> mark#(X2) p28: 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X)) -> active#(U22(mark(X))) p10: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p11: mark#(U22(X)) -> mark#(X) p12: mark#(isList(X)) -> active#(isList(X)) p13: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p14: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p15: active#(isList(V)) -> mark#(U11(isNeList(V))) p16: mark#(U41(X1,X2)) -> mark#(X1) p17: mark#(U42(X)) -> mark#(X) p18: mark#(isNeList(X)) -> active#(isNeList(X)) p19: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p20: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p21: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p22: mark#(U51(X1,X2)) -> mark#(X1) p23: mark#(U52(X)) -> mark#(X) p24: mark#(U61(X)) -> mark#(X) p25: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p26: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p27: mark#(U71(X1,X2)) -> mark#(X1) p28: mark#(U81(X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{13, x1 - 2} ___A(x1,x2) = max{x1 + 15, x2} mark#_A(x1) = max{0, x1 - 2} mark_A(x1) = x1 nil_A = 1 U11_A(x1) = x1 U21_A(x1,x2) = max{x1 + 15, x2 + 19} tt_A = 0 U22_A(x1) = max{15, x1} isList_A(x1) = x1 + 19 U41_A(x1,x2) = max{x1 + 6, x2 + 19} U42_A(x1) = x1 isNeList_A(x1) = x1 + 19 U51_A(x1,x2) = max{32, x1 + 3, x2 + 19} U52_A(x1) = x1 U61_A(x1) = max{3, x1} U71_A(x1,x2) = x1 + 15 U81_A(x1) = x1 active_A(x1) = x1 U31_A(x1) = x1 U72_A(x1) = 0 isPal_A(x1) = x1 + 9 isQid_A(x1) = 9 isNePal_A(x1) = x1 + 9 a_A = 1 e_A = 1 i_A = 15 o_A = 1 u_A = 1 precedence: active# = __ = mark# = mark = nil = U11 = U21 = tt = U22 = isList = U41 = U42 = isNeList = U51 = U52 = U61 = U71 = U81 = active = U31 = U72 = isPal = isQid = isNePal = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(U81) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 541 ___A(x1,x2) = 516 mark#_A(x1) = 541 mark_A(x1) = 515 nil_A = 421 U11_A(x1) = 662 U21_A(x1,x2) = 496 tt_A = 692 U22_A(x1) = 520 isList_A(x1) = 543 U41_A(x1,x2) = 514 U42_A(x1) = 618 isNeList_A(x1) = 541 U51_A(x1,x2) = 514 U52_A(x1) = 624 U61_A(x1) = 514 U71_A(x1,x2) = 494 U81_A(x1) = 597 active_A(x1) = 515 U31_A(x1) = 515 U72_A(x1) = 598 isPal_A(x1) = 463 isQid_A(x1) = 506 isNePal_A(x1) = 464 a_A = 483 e_A = 483 i_A = 483 o_A = 483 u_A = 483 precedence: U41 = u > nil = U21 = U22 = isList = U42 > tt = e > isNeList = i > active# = mark# = U11 > U51 = U52 > U31 = U72 > __ = mark = U61 = active > U71 = o > U81 = isPal = isQid = isNePal = a partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(U81) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p8 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: mark#(U22(X)) -> active#(U22(mark(X))) p9: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p10: mark#(U22(X)) -> mark#(X) p11: mark#(isList(X)) -> active#(isList(X)) p12: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p13: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p14: active#(isList(V)) -> mark#(U11(isNeList(V))) p15: mark#(U41(X1,X2)) -> mark#(X1) p16: mark#(U42(X)) -> mark#(X) p17: mark#(isNeList(X)) -> active#(isNeList(X)) p18: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p19: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p20: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p21: mark#(U51(X1,X2)) -> mark#(X1) p22: mark#(U52(X)) -> mark#(X) p23: mark#(U61(X)) -> mark#(X) p24: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p25: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p26: mark#(U71(X1,X2)) -> mark#(X1) p27: mark#(U81(X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(U81(X)) -> mark#(X) p3: mark#(U71(X1,X2)) -> mark#(X1) p4: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p5: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p6: mark#(U61(X)) -> mark#(X) p7: mark#(U52(X)) -> mark#(X) p8: mark#(U51(X1,X2)) -> mark#(X1) p9: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p10: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p13: mark#(U42(X)) -> mark#(X) p14: mark#(U41(X1,X2)) -> mark#(X1) p15: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p16: active#(isList(V)) -> mark#(U11(isNeList(V))) p17: mark#(isList(X)) -> active#(isList(X)) p18: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p19: mark#(U22(X)) -> mark#(X) p20: mark#(U22(X)) -> active#(U22(mark(X))) p21: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p22: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p23: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p24: mark#(U11(X)) -> mark#(X) p25: mark#(__(X1,X2)) -> mark#(X2) p26: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p27: active#(__(nil(),X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{61, x1 + 46} ___A(x1,x2) = max{x1 + 31, x2} mark#_A(x1) = max{61, x1 + 46} U81_A(x1) = max{3, x1 + 2} U71_A(x1,x2) = max{x1 + 26, x2 + 98} mark_A(x1) = x1 isNeList_A(x1) = x1 + 14 U51_A(x1,x2) = max{x1 + 4, x2 + 14} U61_A(x1) = max{68, x1 + 62} U52_A(x1) = max{4, x1} U41_A(x1,x2) = max{30, x1 + 16, x2 + 14} isList_A(x1) = x1 + 14 U21_A(x1,x2) = max{45, x1 + 16, x2 + 14} U42_A(x1) = max{8, x1} U11_A(x1) = max{11, x1} tt_A = 7 U22_A(x1) = max{45, x1} nil_A = 31 active_A(x1) = max{3, x1} U31_A(x1) = x1 + 9 U72_A(x1) = max{7, x1} isPal_A(x1) = x1 + 98 isQid_A(x1) = x1 + 4 isNePal_A(x1) = max{69, x1 + 67} a_A = 3 e_A = 4 i_A = 8 o_A = 3 u_A = 3 precedence: U81 = mark = U61 = U52 = active = U31 = U72 = isQid = isNePal = i = u > active# = mark# = U71 = U51 = U21 = U11 = tt = isPal = a = e = o > U22 = nil > __ = isNeList = U41 = isList = U42 partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(U81) = [] pi(U71) = [] pi(mark) = [] pi(isNeList) = [] pi(U51) = [1] pi(U61) = [] pi(U52) = [] pi(U41) = [] pi(isList) = [] pi(U21) = [1] pi(U42) = [] pi(U11) = [] pi(tt) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 1854 ___A(x1,x2) = 1420 mark#_A(x1) = 1854 U81_A(x1) = 1419 U71_A(x1,x2) = 1445 mark_A(x1) = 1420 isNeList_A(x1) = 1195 U51_A(x1,x2) = 1247 U61_A(x1) = 1419 U52_A(x1) = 1721 U41_A(x1,x2) = 1247 isList_A(x1) = 1443 U21_A(x1,x2) = 961 U42_A(x1) = 1721 U11_A(x1) = 1721 tt_A = 1773 U22_A(x1) = 1435 nil_A = 1394 active_A(x1) = 1420 U31_A(x1) = 1419 U72_A(x1) = 1419 isPal_A(x1) = 65 isQid_A(x1) = 1411 isNePal_A(x1) = 119 a_A = 1394 e_A = 1394 i_A = 1394 o_A = 1394 u_A = 0 precedence: U81 = U71 = isNeList = U51 > U61 = U52 = U41 = u > mark = isList = U21 = U42 = U11 = tt = U22 = nil = active = U31 = U72 = isPal = isQid = isNePal = a = i > __ > active# = mark# > o > e partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(U81) = [] pi(U71) = [] pi(mark) = [] pi(isNeList) = [] pi(U51) = [] pi(U61) = [] pi(U52) = [] pi(U41) = [] pi(isList) = [] pi(U21) = [] pi(U42) = [] pi(U11) = [] pi(tt) = [] pi(U22) = [] pi(nil) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(U81(X)) -> mark#(X) p3: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p4: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p5: mark#(U61(X)) -> mark#(X) p6: mark#(U52(X)) -> mark#(X) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p9: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p10: mark#(isNeList(X)) -> active#(isNeList(X)) p11: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p12: mark#(U42(X)) -> mark#(X) p13: mark#(U41(X1,X2)) -> mark#(X1) p14: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p15: active#(isList(V)) -> mark#(U11(isNeList(V))) p16: mark#(isList(X)) -> active#(isList(X)) p17: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p18: mark#(U22(X)) -> mark#(X) p19: mark#(U22(X)) -> active#(U22(mark(X))) p20: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p21: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p22: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p23: mark#(U11(X)) -> mark#(X) p24: mark#(__(X1,X2)) -> mark#(X2) p25: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p26: active#(__(nil(),X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: mark#(U22(X)) -> active#(U22(mark(X))) p9: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p10: mark#(U22(X)) -> mark#(X) p11: mark#(isList(X)) -> active#(isList(X)) p12: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p13: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p14: active#(isList(V)) -> mark#(U11(isNeList(V))) p15: mark#(U41(X1,X2)) -> mark#(X1) p16: mark#(U42(X)) -> mark#(X) p17: mark#(isNeList(X)) -> active#(isNeList(X)) p18: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p19: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p20: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p21: mark#(U51(X1,X2)) -> mark#(X1) p22: mark#(U52(X)) -> mark#(X) p23: mark#(U61(X)) -> mark#(X) p24: mark#(U71(X1,X2)) -> active#(U71(mark(X1),X2)) p25: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p26: mark#(U81(X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = x1 ___A(x1,x2) = 103 mark#_A(x1) = 103 mark_A(x1) = 51 nil_A = 103 U11_A(x1) = 103 U21_A(x1,x2) = 103 tt_A = 103 U22_A(x1) = 103 isList_A(x1) = 103 U41_A(x1,x2) = 103 U42_A(x1) = 103 isNeList_A(x1) = 103 U51_A(x1,x2) = 103 U52_A(x1) = 103 U61_A(x1) = 103 U71_A(x1,x2) = 103 U81_A(x1) = 103 active_A(x1) = max{27, x1 - 52} U31_A(x1) = 103 U72_A(x1) = 103 isPal_A(x1) = 103 isQid_A(x1) = 103 isNePal_A(x1) = 103 a_A = 103 e_A = 103 i_A = 103 o_A = 103 u_A = 103 precedence: active# = __ = mark# = mark = nil = U11 = U21 = tt = U22 = isList = U41 = U42 = isNeList = U51 = U52 = U61 = U71 = U81 = active = U31 = U72 = isPal = isQid = isNePal = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(U81) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = x1 + 648 ___A(x1,x2) = 614 mark#_A(x1) = 1262 mark_A(x1) = 1138 nil_A = 1137 U11_A(x1) = 1387 U21_A(x1,x2) = 614 tt_A = 1014 U22_A(x1) = 613 isList_A(x1) = 614 U41_A(x1,x2) = 614 U42_A(x1) = 2306 isNeList_A(x1) = 614 U51_A(x1,x2) = 614 U52_A(x1) = 981 U61_A(x1) = 1262 U71_A(x1,x2) = 611 U81_A(x1) = 1137 active_A(x1) = 1138 U31_A(x1) = 1138 U72_A(x1) = 981 isPal_A(x1) = 190 isQid_A(x1) = 1132 isNePal_A(x1) = 201 a_A = 1134 e_A = 1134 i_A = 1134 o_A = 1134 u_A = 1134 precedence: __ = nil = U11 = U21 = tt = u > active# = mark# = isNePal > isList = U41 = U42 = isNeList > mark = U52 = U61 = U71 = U81 = active = U31 = a > U22 = U72 > U51 = isQid = e = i = o > isPal partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(U81) = [] pi(active) = [] pi(U31) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p8, p24 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p9: mark#(U22(X)) -> mark#(X) p10: mark#(isList(X)) -> active#(isList(X)) p11: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p12: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p13: active#(isList(V)) -> mark#(U11(isNeList(V))) p14: mark#(U41(X1,X2)) -> mark#(X1) p15: mark#(U42(X)) -> mark#(X) p16: mark#(isNeList(X)) -> active#(isNeList(X)) p17: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p18: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p19: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p20: mark#(U51(X1,X2)) -> mark#(X1) p21: mark#(U52(X)) -> mark#(X) p22: mark#(U61(X)) -> mark#(X) p23: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p24: mark#(U81(X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(U81(X)) -> mark#(X) p3: mark#(U61(X)) -> mark#(X) p4: mark#(U52(X)) -> mark#(X) p5: mark#(U51(X1,X2)) -> mark#(X1) p6: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p7: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p8: mark#(isNeList(X)) -> active#(isNeList(X)) p9: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p10: mark#(U42(X)) -> mark#(X) p11: mark#(U41(X1,X2)) -> mark#(X1) p12: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p13: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p14: mark#(isList(X)) -> active#(isList(X)) p15: active#(isList(V)) -> mark#(U11(isNeList(V))) p16: mark#(U22(X)) -> mark#(X) p17: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p18: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p19: mark#(U11(X)) -> mark#(X) p20: mark#(__(X1,X2)) -> mark#(X2) p21: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p22: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p23: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p24: active#(__(nil(),X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{1, x1} ___A(x1,x2) = max{x1 + 9, x2} mark#_A(x1) = x1 U81_A(x1) = x1 U61_A(x1) = x1 + 12 U52_A(x1) = x1 U51_A(x1,x2) = max{x1 + 2, x2 + 6} mark_A(x1) = x1 isNeList_A(x1) = x1 + 6 U41_A(x1,x2) = max{x1, x2 + 6} isList_A(x1) = x1 + 6 U42_A(x1) = x1 U21_A(x1,x2) = max{15, x2 + 6} U11_A(x1) = x1 U22_A(x1) = max{6, x1} tt_A = 0 nil_A = 1 active_A(x1) = x1 U31_A(x1) = x1 + 6 U71_A(x1,x2) = max{12, x1 + 10} U72_A(x1) = x1 isPal_A(x1) = 12 isQid_A(x1) = 0 isNePal_A(x1) = 12 a_A = 1 e_A = 1 i_A = 1 o_A = 12 u_A = 1 precedence: active# = __ = mark# = U81 = U61 = U52 = U51 = mark = isNeList = U41 = isList = U42 = U21 = U11 = U22 = tt = nil = active = U31 = U71 = U72 = isPal = isQid = isNePal = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(U81) = [] pi(U61) = [] pi(U52) = [] pi(U51) = [] pi(mark) = [] pi(isNeList) = [] pi(U41) = [] pi(isList) = [] pi(U42) = [] pi(U21) = [] pi(U11) = [] pi(U22) = [] pi(tt) = [] pi(nil) = [] pi(active) = [] pi(U31) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 978 ___A(x1,x2) = 808 mark#_A(x1) = 978 U81_A(x1) = 802 U61_A(x1) = 802 U52_A(x1) = 837 U51_A(x1,x2) = 674 mark_A(x1) = 802 isNeList_A(x1) = 833 U41_A(x1,x2) = 428 isList_A(x1) = 802 U42_A(x1) = 837 U21_A(x1,x2) = 801 U11_A(x1) = 846 U22_A(x1) = 846 tt_A = 875 nil_A = 0 active_A(x1) = 802 U31_A(x1) = 802 U71_A(x1,x2) = 880 U72_A(x1) = 802 isPal_A(x1) = 773 isQid_A(x1) = 801 isNePal_A(x1) = 832 a_A = 774 e_A = 774 i_A = 774 o_A = 774 u_A = 774 precedence: active# = mark# = u > __ = U81 = U61 = U52 = U51 = isNeList = U41 = isList = U42 = U21 = U11 = U22 = tt = nil = o > mark = active = U31 = U71 = U72 = isPal = isQid = isNePal = a = e = i partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(U81) = [] pi(U61) = [] pi(U52) = [] pi(U51) = [] pi(mark) = [] pi(isNeList) = [] pi(U41) = [] pi(isList) = [] pi(U42) = [] pi(U21) = [] pi(U11) = [] pi(U22) = [] pi(tt) = [] pi(nil) = [] pi(active) = [] pi(U31) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(U81(X)) -> mark#(X) p3: mark#(U52(X)) -> mark#(X) p4: mark#(U51(X1,X2)) -> mark#(X1) p5: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p6: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) p7: mark#(isNeList(X)) -> active#(isNeList(X)) p8: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p9: mark#(U42(X)) -> mark#(X) p10: mark#(U41(X1,X2)) -> mark#(X1) p11: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p12: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p13: mark#(isList(X)) -> active#(isList(X)) p14: active#(isList(V)) -> mark#(U11(isNeList(V))) p15: mark#(U22(X)) -> mark#(X) p16: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p17: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p18: mark#(U11(X)) -> mark#(X) p19: mark#(__(X1,X2)) -> mark#(X2) p20: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p21: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p22: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p23: active#(__(nil(),X)) -> mark#(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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: mark#(U22(X)) -> mark#(X) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p11: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p12: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p13: mark#(U41(X1,X2)) -> mark#(X1) p14: mark#(U42(X)) -> mark#(X) p15: mark#(isNeList(X)) -> active#(isNeList(X)) p16: active#(isList(V)) -> mark#(U11(isNeList(V))) p17: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p18: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p19: mark#(U51(X1,X2)) -> mark#(X1) p20: mark#(U52(X)) -> mark#(X) p21: mark#(U81(X)) -> mark#(X) p22: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p23: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1,X2) r59: __(X1,active(X2)) -> __(X1,X2) r60: U11(mark(X)) -> U11(X) r61: U11(active(X)) -> U11(X) r62: U21(mark(X1),X2) -> U21(X1,X2) r63: U21(X1,mark(X2)) -> U21(X1,X2) r64: U21(active(X1),X2) -> U21(X1,X2) r65: U21(X1,active(X2)) -> U21(X1,X2) r66: U22(mark(X)) -> U22(X) r67: U22(active(X)) -> U22(X) r68: isList(mark(X)) -> isList(X) r69: isList(active(X)) -> isList(X) r70: U31(mark(X)) -> U31(X) r71: U31(active(X)) -> U31(X) r72: U41(mark(X1),X2) -> U41(X1,X2) r73: U41(X1,mark(X2)) -> U41(X1,X2) r74: U41(active(X1),X2) -> U41(X1,X2) r75: U41(X1,active(X2)) -> U41(X1,X2) r76: U42(mark(X)) -> U42(X) r77: U42(active(X)) -> U42(X) r78: isNeList(mark(X)) -> isNeList(X) r79: isNeList(active(X)) -> isNeList(X) r80: U51(mark(X1),X2) -> U51(X1,X2) r81: U51(X1,mark(X2)) -> U51(X1,X2) r82: U51(active(X1),X2) -> U51(X1,X2) r83: U51(X1,active(X2)) -> U51(X1,X2) r84: U52(mark(X)) -> U52(X) r85: U52(active(X)) -> U52(X) r86: U61(mark(X)) -> U61(X) r87: U61(active(X)) -> U61(X) r88: U71(mark(X1),X2) -> U71(X1,X2) r89: U71(X1,mark(X2)) -> U71(X1,X2) r90: U71(active(X1),X2) -> U71(X1,X2) r91: U71(X1,active(X2)) -> U71(X1,X2) r92: U72(mark(X)) -> U72(X) r93: U72(active(X)) -> U72(X) r94: isPal(mark(X)) -> isPal(X) r95: isPal(active(X)) -> isPal(X) r96: U81(mark(X)) -> U81(X) r97: U81(active(X)) -> U81(X) r98: isQid(mark(X)) -> isQid(X) r99: isQid(active(X)) -> isQid(X) r100: isNePal(mark(X)) -> isNePal(X) r101: isNePal(active(X)) -> isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{33, x1 + 6} ___A(x1,x2) = max{89, x1 + 13, x2} mark#_A(x1) = max{33, x1 + 6} mark_A(x1) = max{27, x1} nil_A = 21 U11_A(x1) = max{6, x1} U21_A(x1,x2) = max{27, x1 - 2, x2 + 13} tt_A = 3 U22_A(x1) = x1 isList_A(x1) = x1 + 13 U41_A(x1,x2) = max{40, x1 + 13, x2 + 13} U42_A(x1) = max{4, x1} isNeList_A(x1) = max{17, x1 + 13} U51_A(x1,x2) = max{88, x1, x2 + 13} U52_A(x1) = max{6, x1} U81_A(x1) = max{61, x1 + 33} active_A(x1) = max{27, x1} U31_A(x1) = max{17, x1 - 11} U61_A(x1) = max{0, x1 - 1} U71_A(x1,x2) = max{36, x1 - 53} U72_A(x1) = 4 isPal_A(x1) = max{61, x1 - 19} isQid_A(x1) = 12 isNePal_A(x1) = max{27, x1 - 53} a_A = 0 e_A = 0 i_A = 0 o_A = 26 u_A = 26 precedence: active# = mark# = mark = U11 = U21 = tt = U51 = active = U31 = U61 = isPal = a > U22 > isList = isQid > isNeList > U41 > isNePal > U42 > U81 > nil > __ = U71 > i > U52 = U72 = e = o = u partial status: pi(active#) = [] pi(__) = [1] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U81) = [] pi(active) = [] pi(U31) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = 141 ___A(x1,x2) = 25 mark#_A(x1) = 141 mark_A(x1) = 141 nil_A = 130 U11_A(x1) = 178 U21_A(x1,x2) = 144 tt_A = 195 U22_A(x1) = 139 isList_A(x1) = 144 U41_A(x1,x2) = 144 U42_A(x1) = 161 isNeList_A(x1) = 144 U51_A(x1,x2) = 144 U52_A(x1) = 178 U81_A(x1) = 135 active_A(x1) = 141 U31_A(x1) = 137 U61_A(x1) = 139 U71_A(x1,x2) = 71 U72_A(x1) = 139 isPal_A(x1) = 38 isQid_A(x1) = 128 isNePal_A(x1) = 38 a_A = 130 e_A = 130 i_A = 130 o_A = 130 u_A = 130 precedence: nil = U22 = U42 = isNeList = U51 = U52 = U81 = e = i = o = u > mark = active > tt > active# = mark# = U11 = U21 = isList = U41 > __ = U61 = U71 = a > U31 = U72 = isPal = isQid > isNePal partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(tt) = [] pi(U22) = [] pi(isList) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U81) = [] pi(active) = [] pi(U31) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p21 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(nil(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(U11(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p7: active#(U21(tt(),V2)) -> mark#(U22(isList(V2))) p8: mark#(U22(X)) -> mark#(X) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(U41(tt(),V2)) -> mark#(U42(isNeList(V2))) p11: mark#(U41(X1,X2)) -> active#(U41(mark(X1),X2)) p12: active#(U51(tt(),V2)) -> mark#(U52(isList(V2))) p13: mark#(U41(X1,X2)) -> mark#(X1) p14: mark#(U42(X)) -> mark#(X) p15: mark#(isNeList(X)) -> active#(isNeList(X)) p16: active#(isList(V)) -> mark#(U11(isNeList(V))) p17: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p18: active#(isList(__(V1,V2))) -> mark#(U21(isList(V1),V2)) p19: mark#(U51(X1,X2)) -> mark#(X1) p20: mark#(U52(X)) -> mark#(X) p21: active#(isNeList(__(V1,V2))) -> mark#(U41(isList(V1),V2)) p22: active#(isNeList(__(V1,V2))) -> mark#(U51(isNeList(V1),V2)) 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())) -> mark(tt()) r5: active(U21(tt(),V2)) -> mark(U22(isList(V2))) r6: active(U22(tt())) -> mark(tt()) r7: active(U31(tt())) -> mark(tt()) r8: active(U41(tt(),V2)) -> mark(U42(isNeList(V2))) r9: active(U42(tt())) -> mark(tt()) r10: active(U51(tt(),V2)) -> mark(U52(isList(V2))) r11: active(U52(tt())) -> mark(tt()) r12: active(U61(tt())) -> mark(tt()) r13: active(U71(tt(),P)) -> mark(U72(isPal(P))) r14: active(U72(tt())) -> mark(tt()) r15: active(U81(tt())) -> mark(tt()) r16: active(isList(V)) -> mark(U11(isNeList(V))) r17: active(isList(nil())) -> mark(tt()) r18: active(isList(__(V1,V2))) -> mark(U21(isList(V1),V2)) r19: active(isNeList(V)) -> mark(U31(isQid(V))) r20: active(isNeList(__(V1,V2))) -> mark(U41(isList(V1),V2)) r21: active(isNeList(__(V1,V2))) -> mark(U51(isNeList(V1),V2)) r22: active(isNePal(V)) -> mark(U61(isQid(V))) r23: active(isNePal(__(I,__(P,I)))) -> mark(U71(isQid(I),P)) r24: active(isPal(V)) -> mark(U81(isNePal(V))) r25: active(isPal(nil())) -> mark(tt()) r26: active(isQid(a())) -> mark(tt()) r27: active(isQid(e())) -> mark(tt()) r28: active(isQid(i())) -> mark(tt()) r29: active(isQid(o())) -> mark(tt()) r30: active(isQid(u())) -> mark(tt()) r31: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r32: mark(nil()) -> active(nil()) r33: mark(U11(X)) -> active(U11(mark(X))) r34: mark(tt()) -> active(tt()) r35: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r36: mark(U22(X)) -> active(U22(mark(X))) r37: mark(isList(X)) -> active(isList(X)) r38: mark(U31(X)) -> active(U31(mark(X))) r39: mark(U41(X1,X2)) -> active(U41(mark(X1),X2)) r40: mark(U42(X)) -> active(U42(mark(X))) r41: mark(isNeList(X)) -> active(isNeList(X)) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X)) -> active(U52(mark(X))) r44: mark(U61(X)) -> active(U61(mark(X))) r45: mark(U71(X1,X2)) -> active(U71(mark(X1),X2)) r46: mark(U72(X)) -> active(U72(mark(X))) r47: mark(isPal(X)) -> active(isPal(X)) r48: mark(U81(X)) -> active(U81(mark(X))) r49: mark(isQid(X)) -> active(isQid(X)) r50: mark(isNePal(X)) -> active(isNePal(X)) r51: mark(a()) -> active(a()) r52: mark(e()) -> active(e()) r53: mark(i()) -> active(i()) r54: mark(o()) -> active(o()) r55: mark(u()) -> active(u()) r56: __(mark(X1),X2) -> __(X1,X2) r57: __(X1,mark(X2)) -> __(X1,X2) r58: __(active(X1),X2) -> __(X1