YES We show the termination of the TRS R: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) a____(X,nil()) -> mark(X) a____(nil(),X) -> mark(X) a__U11(tt()) -> tt() a__U21(tt(),V2) -> a__U22(a__isList(V2)) a__U22(tt()) -> tt() a__U31(tt()) -> tt() a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) a__U42(tt()) -> tt() a__U51(tt(),V2) -> a__U52(a__isList(V2)) a__U52(tt()) -> tt() a__U61(tt()) -> tt() a__U71(tt(),P) -> a__U72(a__isPal(P)) a__U72(tt()) -> tt() a__U81(tt()) -> tt() a__isList(V) -> a__U11(a__isNeList(V)) a__isList(nil()) -> tt() a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) a__isNeList(V) -> a__U31(a__isQid(V)) a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) a__isNePal(V) -> a__U61(a__isQid(V)) a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) a__isPal(V) -> a__U81(a__isNePal(V)) a__isPal(nil()) -> tt() a__isQid(a()) -> tt() a__isQid(e()) -> tt() a__isQid(i()) -> tt() a__isQid(o()) -> tt() a__isQid(u()) -> tt() mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) mark(U11(X)) -> a__U11(mark(X)) mark(U21(X1,X2)) -> a__U21(mark(X1),X2) mark(U22(X)) -> a__U22(mark(X)) mark(isList(X)) -> a__isList(X) mark(U31(X)) -> a__U31(mark(X)) mark(U41(X1,X2)) -> a__U41(mark(X1),X2) mark(U42(X)) -> a__U42(mark(X)) mark(isNeList(X)) -> a__isNeList(X) mark(U51(X1,X2)) -> a__U51(mark(X1),X2) mark(U52(X)) -> a__U52(mark(X)) mark(U61(X)) -> a__U61(mark(X)) mark(U71(X1,X2)) -> a__U71(mark(X1),X2) mark(U72(X)) -> a__U72(mark(X)) mark(isPal(X)) -> a__isPal(X) mark(U81(X)) -> a__U81(mark(X)) mark(isQid(X)) -> a__isQid(X) mark(isNePal(X)) -> a__isNePal(X) mark(nil()) -> nil() mark(tt()) -> tt() mark(a()) -> a() mark(e()) -> e() mark(i()) -> i() mark(o()) -> o() mark(u()) -> u() a____(X1,X2) -> __(X1,X2) a__U11(X) -> U11(X) a__U21(X1,X2) -> U21(X1,X2) a__U22(X) -> U22(X) a__isList(X) -> isList(X) a__U31(X) -> U31(X) a__U41(X1,X2) -> U41(X1,X2) a__U42(X) -> U42(X) a__isNeList(X) -> isNeList(X) a__U51(X1,X2) -> U51(X1,X2) a__U52(X) -> U52(X) a__U61(X) -> U61(X) a__U71(X1,X2) -> U71(X1,X2) a__U72(X) -> U72(X) a__isPal(X) -> isPal(X) a__U81(X) -> U81(X) a__isQid(X) -> isQid(X) a__isNePal(X) -> isNePal(X) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> mark#(X) p3: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p4: a____#(__(X,Y),Z) -> mark#(Y) p5: a____#(__(X,Y),Z) -> mark#(Z) p6: a____#(X,nil()) -> mark#(X) p7: a____#(nil(),X) -> mark#(X) p8: a__U21#(tt(),V2) -> a__U22#(a__isList(V2)) p9: a__U21#(tt(),V2) -> a__isList#(V2) p10: a__U41#(tt(),V2) -> a__U42#(a__isNeList(V2)) p11: a__U41#(tt(),V2) -> a__isNeList#(V2) p12: a__U51#(tt(),V2) -> a__U52#(a__isList(V2)) p13: a__U51#(tt(),V2) -> a__isList#(V2) p14: a__U71#(tt(),P) -> a__U72#(a__isPal(P)) p15: a__U71#(tt(),P) -> a__isPal#(P) p16: a__isList#(V) -> a__U11#(a__isNeList(V)) p17: a__isList#(V) -> a__isNeList#(V) p18: a__isList#(__(V1,V2)) -> a__U21#(a__isList(V1),V2) p19: a__isList#(__(V1,V2)) -> a__isList#(V1) p20: a__isNeList#(V) -> a__U31#(a__isQid(V)) p21: a__isNeList#(V) -> a__isQid#(V) p22: a__isNeList#(__(V1,V2)) -> a__U41#(a__isList(V1),V2) p23: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p24: a__isNeList#(__(V1,V2)) -> a__U51#(a__isNeList(V1),V2) p25: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p26: a__isNePal#(V) -> a__U61#(a__isQid(V)) p27: a__isNePal#(V) -> a__isQid#(V) p28: a__isNePal#(__(I,__(P,I))) -> a__U71#(a__isQid(I),P) p29: a__isNePal#(__(I,__(P,I))) -> a__isQid#(I) p30: a__isPal#(V) -> a__U81#(a__isNePal(V)) p31: a__isPal#(V) -> a__isNePal#(V) p32: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p33: mark#(__(X1,X2)) -> mark#(X1) p34: mark#(__(X1,X2)) -> mark#(X2) p35: mark#(U11(X)) -> a__U11#(mark(X)) p36: mark#(U11(X)) -> mark#(X) p37: mark#(U21(X1,X2)) -> a__U21#(mark(X1),X2) p38: mark#(U21(X1,X2)) -> mark#(X1) p39: mark#(U22(X)) -> a__U22#(mark(X)) p40: mark#(U22(X)) -> mark#(X) p41: mark#(isList(X)) -> a__isList#(X) p42: mark#(U31(X)) -> a__U31#(mark(X)) p43: mark#(U31(X)) -> mark#(X) p44: mark#(U41(X1,X2)) -> a__U41#(mark(X1),X2) p45: mark#(U41(X1,X2)) -> mark#(X1) p46: mark#(U42(X)) -> a__U42#(mark(X)) p47: mark#(U42(X)) -> mark#(X) p48: mark#(isNeList(X)) -> a__isNeList#(X) p49: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p50: mark#(U51(X1,X2)) -> mark#(X1) p51: mark#(U52(X)) -> a__U52#(mark(X)) p52: mark#(U52(X)) -> mark#(X) p53: mark#(U61(X)) -> a__U61#(mark(X)) p54: mark#(U61(X)) -> mark#(X) p55: mark#(U71(X1,X2)) -> a__U71#(mark(X1),X2) p56: mark#(U71(X1,X2)) -> mark#(X1) p57: mark#(U72(X)) -> a__U72#(mark(X)) p58: mark#(U72(X)) -> mark#(X) p59: mark#(isPal(X)) -> a__isPal#(X) p60: mark#(U81(X)) -> a__U81#(mark(X)) p61: mark#(U81(X)) -> mark#(X) p62: mark#(isQid(X)) -> a__isQid#(X) p63: mark#(isNePal(X)) -> a__isNePal#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p32, p33, p34, p36, p38, p40, p43, p45, p47, p50, p52, p54, p56, p58, p61} {p9, p11, p13, p17, p18, p19, p22, p23, p24, p25} {p15, p28, p31} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U81(X)) -> mark#(X) p4: mark#(U72(X)) -> mark#(X) p5: mark#(U71(X1,X2)) -> mark#(X1) p6: mark#(U61(X)) -> mark#(X) p7: mark#(U52(X)) -> mark#(X) p8: mark#(U51(X1,X2)) -> mark#(X1) p9: mark#(U42(X)) -> mark#(X) p10: mark#(U41(X1,X2)) -> mark#(X1) p11: mark#(U31(X)) -> mark#(X) p12: mark#(U22(X)) -> mark#(X) p13: mark#(U21(X1,X2)) -> mark#(X1) p14: mark#(U11(X)) -> mark#(X) p15: mark#(__(X1,X2)) -> mark#(X2) p16: mark#(__(X1,X2)) -> mark#(X1) p17: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p18: a____#(X,nil()) -> mark#(X) p19: a____#(__(X,Y),Z) -> mark#(Z) p20: a____#(__(X,Y),Z) -> mark#(Y) p21: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p22: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 14, x2 + 8} ___A(x1,x2) = max{13, x1 + 6, x2} mark_A(x1) = max{7, x1} a_____A(x1,x2) = max{13, x1 + 6, x2} nil_A = 7 mark#_A(x1) = x1 + 8 U81_A(x1) = x1 U72_A(x1) = max{10, x1} U71_A(x1,x2) = max{10, x1} U61_A(x1) = x1 U52_A(x1) = max{3, x1} U51_A(x1,x2) = x1 U42_A(x1) = max{1, x1} U41_A(x1,x2) = x1 U31_A(x1) = max{7, x1} U22_A(x1) = max{7, x1} U21_A(x1,x2) = max{1, x1} U11_A(x1) = max{2, x1} a__U11_A(x1) = max{3, x1} tt_A = 4 a__U21_A(x1,x2) = max{7, x1} a__U22_A(x1) = max{7, x1} a__isList_A(x1) = 7 a__U31_A(x1) = max{7, x1} a__U41_A(x1,x2) = max{7, x1} a__U42_A(x1) = max{7, x1} a__isNeList_A(x1) = 7 a__U51_A(x1,x2) = max{7, x1} a__U52_A(x1) = max{3, x1} a__U61_A(x1) = max{5, x1} a__U71_A(x1,x2) = max{10, x1} a__U72_A(x1) = max{10, x1} a__isPal_A(x1) = 10 a__U81_A(x1) = max{5, x1} a__isQid_A(x1) = 5 a__isNePal_A(x1) = 10 a_A = 8 e_A = 8 i_A = 8 o_A = 8 u_A = 7 isList_A(x1) = 1 isNeList_A(x1) = 7 isPal_A(x1) = 10 isQid_A(x1) = 5 isNePal_A(x1) = 10 precedence: a____# = mark# > mark = a____ > a__isList > a__U11 > U11 = a__isNeList > a__isQid = isNeList > a > a__U61 > U61 > a__isPal > a__U81 > U81 > isQid > __ > isPal > a__U21 > a__U22 > U22 > a__isNePal > a__U31 = o > i > a__U71 > a__U72 > nil = U21 > a__U51 > U51 = a__U41 > U41 > tt = a__U42 = a__U52 = e = u > U71 > U42 > U72 = U52 = U31 = isList = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U81) = [] pi(U72) = [] pi(U71) = [] pi(U61) = [] pi(U52) = [] pi(U51) = [] pi(U42) = [] pi(U41) = [] pi(U31) = [] pi(U22) = [] pi(U21) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 18 ___A(x1,x2) = 37 mark_A(x1) = 37 a_____A(x1,x2) = 37 nil_A = 1 mark#_A(x1) = 18 U81_A(x1) = 1 U72_A(x1) = 1 U71_A(x1,x2) = 3 U61_A(x1) = 30 U52_A(x1) = 11 U51_A(x1,x2) = 3 U42_A(x1) = 17 U41_A(x1,x2) = 19 U31_A(x1) = 17 U22_A(x1) = 8 U21_A(x1,x2) = 2 U11_A(x1) = 1 a__U11_A(x1) = 37 tt_A = 32 a__U21_A(x1,x2) = 37 a__U22_A(x1) = 31 a__isList_A(x1) = 37 a__U31_A(x1) = 17 a__U41_A(x1,x2) = 35 a__U42_A(x1) = 31 a__isNeList_A(x1) = 36 a__U51_A(x1,x2) = 36 a__U52_A(x1) = 33 a__U61_A(x1) = 31 a__U71_A(x1,x2) = 28 a__U72_A(x1) = 27 a__isPal_A(x1) = 37 a__U81_A(x1) = 37 a__isQid_A(x1) = 37 a__isNePal_A(x1) = 28 a_A = 38 e_A = 38 i_A = 38 o_A = 38 u_A = 38 isList_A(x1) = 15 isNeList_A(x1) = 14 isPal_A(x1) = 15 isQid_A(x1) = 15 isNePal_A(x1) = 6 precedence: mark = a____ = nil = a__U31 = a__U41 = a__U42 = a__isNeList = a__U52 > a__isPal > a__U81 > U81 > __ = U72 = U52 = U51 = U31 = a__U51 = a__U72 > U71 > U61 > a__isList > a__U11 > U11 > a__U21 > U41 > a____# = mark# > tt > U42 = U21 = a__U22 > U22 > a__isNePal = isNePal > a__isQid = isQid > a__U71 > a__U61 = a = e = i = o = u = isList = isNeList = isPal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U81) = [] pi(U72) = [] pi(U71) = [] pi(U61) = [] pi(U52) = [] pi(U51) = [] pi(U42) = [] pi(U41) = [] pi(U31) = [] pi(U22) = [] pi(U21) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p18 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U81(X)) -> mark#(X) p4: mark#(U72(X)) -> mark#(X) p5: mark#(U71(X1,X2)) -> mark#(X1) p6: mark#(U61(X)) -> mark#(X) p7: mark#(U52(X)) -> mark#(X) p8: mark#(U51(X1,X2)) -> mark#(X1) p9: mark#(U42(X)) -> mark#(X) p10: mark#(U41(X1,X2)) -> mark#(X1) p11: mark#(U31(X)) -> mark#(X) p12: mark#(U22(X)) -> mark#(X) p13: mark#(U21(X1,X2)) -> mark#(X1) p14: mark#(U11(X)) -> mark#(X) p15: mark#(__(X1,X2)) -> mark#(X2) p16: mark#(__(X1,X2)) -> mark#(X1) p17: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p18: a____#(__(X,Y),Z) -> mark#(Z) p19: a____#(__(X,Y),Z) -> mark#(Y) p20: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p21: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> mark#(X) p3: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p4: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p5: a____#(__(X,Y),Z) -> mark#(Y) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> mark#(X1) p10: mark#(U22(X)) -> mark#(X) p11: mark#(U31(X)) -> mark#(X) p12: mark#(U41(X1,X2)) -> mark#(X1) p13: mark#(U42(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> mark#(X1) p15: mark#(U52(X)) -> mark#(X) p16: mark#(U61(X)) -> mark#(X) p17: mark#(U71(X1,X2)) -> mark#(X1) p18: mark#(U72(X)) -> mark#(X) p19: mark#(U81(X)) -> mark#(X) p20: a____#(__(X,Y),Z) -> mark#(Z) p21: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 72, x2 + 20} ___A(x1,x2) = max{x1 + 52, x2} mark_A(x1) = x1 a_____A(x1,x2) = max{x1 + 52, x2} mark#_A(x1) = x1 + 20 U11_A(x1) = max{52, x1} U21_A(x1,x2) = max{x1 + 21, x2 + 52} U22_A(x1) = x1 U31_A(x1) = x1 + 29 U41_A(x1,x2) = max{x1 + 3, x2 + 52} U42_A(x1) = max{7, x1} U51_A(x1,x2) = max{x1 + 23, x2 + 52} U52_A(x1) = max{4, x1} U61_A(x1) = x1 + 20 U71_A(x1,x2) = max{x1 + 13, x2 + 51} U72_A(x1) = max{10, x1 + 9} U81_A(x1) = x1 + 20 nil_A = 1 a__U11_A(x1) = max{52, x1} tt_A = 3 a__U21_A(x1,x2) = max{x1 + 21, x2 + 52} a__U22_A(x1) = x1 a__isList_A(x1) = x1 + 52 a__U31_A(x1) = x1 + 29 a__U41_A(x1,x2) = max{x1 + 3, x2 + 52} a__U42_A(x1) = max{7, x1} a__isNeList_A(x1) = x1 + 52 a__U51_A(x1,x2) = max{x1 + 23, x2 + 52} a__U52_A(x1) = max{4, x1} a__U61_A(x1) = x1 + 20 a__U71_A(x1,x2) = max{x1 + 13, x2 + 51} a__U72_A(x1) = max{10, x1 + 9} a__isPal_A(x1) = x1 + 41 a__U81_A(x1) = x1 + 20 a__isQid_A(x1) = max{1, x1 - 14} a__isNePal_A(x1) = x1 + 21 a_A = 17 e_A = 18 i_A = 18 o_A = 18 u_A = 18 isList_A(x1) = x1 + 52 isNeList_A(x1) = x1 + 52 isPal_A(x1) = x1 + 41 isQid_A(x1) = max{1, x1 - 14} isNePal_A(x1) = x1 + 21 precedence: mark = a____ > u > a__isNeList = o > a__U51 = e > U51 = nil = a__U52 > __ = a__U41 > a__U31 = a__U42 = a__isPal = isNeList = isPal > a__U72 > a__U81 > a__isList > a > U72 > a__U21 > a__U22 > U42 = a__isQid = a__isNePal > a__U71 > U31 = U41 > isQid > a__U11 > i > U81 > U52 = U71 = a__U61 > isList > isNePal > a____# = mark# = U11 = U21 = U22 = U61 = tt partial status: pi(a____#) = [] pi(__) = [1] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(U11) = [] pi(U21) = [2] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(U42) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [1] pi(U71) = [] pi(U72) = [] pi(U81) = [] pi(nil) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [2] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [1] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [1] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 313 ___A(x1,x2) = 249 mark_A(x1) = 364 a_____A(x1,x2) = 364 mark#_A(x1) = 313 U11_A(x1) = 129 U21_A(x1,x2) = x2 + 365 U22_A(x1) = 314 U31_A(x1) = 110 U41_A(x1,x2) = 0 U42_A(x1) = 240 U51_A(x1,x2) = 351 U52_A(x1) = 75 U61_A(x1) = 1 U71_A(x1,x2) = 74 U72_A(x1) = 312 U81_A(x1) = 342 nil_A = 0 a__U11_A(x1) = 352 tt_A = 351 a__U21_A(x1,x2) = max{600, x2 + 373} a__U22_A(x1) = 350 a__isList_A(x1) = 363 a__U31_A(x1) = 222 a__U41_A(x1,x2) = 248 a__U42_A(x1) = 248 a__isNeList_A(x1) = max{472, x1 + 223} a__U51_A(x1,x2) = 359 a__U52_A(x1) = 347 a__U61_A(x1) = 363 a__U71_A(x1,x2) = 363 a__U72_A(x1) = 364 a__isPal_A(x1) = 364 a__U81_A(x1) = 350 a__isQid_A(x1) = 364 a__isNePal_A(x1) = 363 a_A = 0 e_A = 0 i_A = 0 o_A = 0 u_A = 237 isList_A(x1) = 364 isNeList_A(x1) = 472 isPal_A(x1) = 356 isQid_A(x1) = 356 isNePal_A(x1) = 65 precedence: U21 = U42 > a____# = mark# = U11 = U22 = U31 > U71 = U72 > a__U71 > mark = a____ > a__U11 > a__U22 > U51 > a__U41 > a__isNeList > a__U52 > a__U31 = a__U42 > tt = a__U51 > U52 > a__isNePal > U41 = a__isList > nil > a__U21 > a__isPal = a__U81 > U81 = a__isQid > a__U61 > U61 > __ > a__U72 = a = e = i = o = u = isList = isNeList = isPal = isQid = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(U11) = [] pi(U21) = [2] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(U42) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(U81) = [] pi(nil) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [2] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [1] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p3: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p4: a____#(__(X,Y),Z) -> mark#(Y) p5: mark#(__(X1,X2)) -> mark#(X1) p6: mark#(__(X1,X2)) -> mark#(X2) p7: mark#(U11(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X)) -> mark#(X) p10: mark#(U31(X)) -> mark#(X) p11: mark#(U41(X1,X2)) -> mark#(X1) p12: mark#(U42(X)) -> mark#(X) p13: mark#(U51(X1,X2)) -> mark#(X1) p14: mark#(U52(X)) -> mark#(X) p15: mark#(U61(X)) -> mark#(X) p16: mark#(U71(X1,X2)) -> mark#(X1) p17: mark#(U72(X)) -> mark#(X) p18: mark#(U81(X)) -> mark#(X) p19: a____#(__(X,Y),Z) -> mark#(Z) p20: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U81(X)) -> mark#(X) p4: mark#(U72(X)) -> mark#(X) p5: mark#(U71(X1,X2)) -> mark#(X1) p6: mark#(U61(X)) -> mark#(X) p7: mark#(U52(X)) -> mark#(X) p8: mark#(U51(X1,X2)) -> mark#(X1) p9: mark#(U42(X)) -> mark#(X) p10: mark#(U41(X1,X2)) -> mark#(X1) p11: mark#(U31(X)) -> mark#(X) p12: mark#(U22(X)) -> mark#(X) p13: mark#(U21(X1,X2)) -> mark#(X1) p14: mark#(U11(X)) -> mark#(X) p15: mark#(__(X1,X2)) -> mark#(X2) p16: mark#(__(X1,X2)) -> mark#(X1) p17: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p18: a____#(__(X,Y),Z) -> mark#(Z) p19: a____#(__(X,Y),Z) -> mark#(Y) p20: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{0, x1 - 9, x2 - 9} ___A(x1,x2) = max{17, x1, x2} mark_A(x1) = max{7, x1} a_____A(x1,x2) = max{17, x1, x2} nil_A = 8 mark#_A(x1) = max{0, x1 - 9} U81_A(x1) = max{10, x1} U72_A(x1) = max{12, x1} U71_A(x1,x2) = max{12, x1, x2 + 11} U61_A(x1) = max{10, x1 + 1} U52_A(x1) = max{7, x1} U51_A(x1,x2) = max{x1, x2 + 24} U42_A(x1) = max{41, x1} U41_A(x1,x2) = max{41, x1, x2 + 24} U31_A(x1) = max{23, x1 + 16} U22_A(x1) = x1 U21_A(x1,x2) = max{x1, x2 + 24} U11_A(x1) = max{6, x1} a__U11_A(x1) = max{6, x1} tt_A = 2 a__U21_A(x1,x2) = max{x1, x2 + 24} a__U22_A(x1) = max{1, x1} a__isList_A(x1) = x1 + 24 a__U31_A(x1) = max{23, x1 + 16} a__U41_A(x1,x2) = max{41, x1, x2 + 24} a__U42_A(x1) = max{41, x1} a__isNeList_A(x1) = x1 + 24 a__U51_A(x1,x2) = max{x1, x2 + 24} a__U52_A(x1) = max{7, x1} a__U61_A(x1) = max{10, x1 + 1} a__U71_A(x1,x2) = max{12, x1, x2 + 11} a__U72_A(x1) = max{12, x1} a__isPal_A(x1) = x1 + 11 a__U81_A(x1) = max{10, x1} a__isQid_A(x1) = 3 a__isNePal_A(x1) = x1 + 11 a_A = 8 e_A = 8 i_A = 3 o_A = 8 u_A = 8 isList_A(x1) = x1 + 24 isNeList_A(x1) = x1 + 24 isPal_A(x1) = x1 + 11 isQid_A(x1) = 3 isNePal_A(x1) = x1 + 11 precedence: mark = a____ = nil = a__isQid = isQid > a__isNeList > a__U51 > a__U52 = a = e > a__isList > U21 = a__U21 > a__U22 = a__U61 = a__isNePal = isNePal > U61 > tt > a__U11 > U72 = U71 = U11 = a__U31 = a__U41 = a__U71 = a__U72 = i = o = isNeList > a____# = __ = mark# = U81 = U52 = U51 = U42 = U41 = U31 = U22 = a__U42 = a__isPal = a__U81 = u = isList = isPal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U81) = [] pi(U72) = [] pi(U71) = [] pi(U61) = [] pi(U52) = [] pi(U51) = [] pi(U42) = [] pi(U41) = [] pi(U31) = [] pi(U22) = [] pi(U21) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [2] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [2] pi(a__U72) = [] pi(a__isPal) = [1] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [1] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 0 ___A(x1,x2) = 42 mark_A(x1) = 66 a_____A(x1,x2) = 66 nil_A = 0 mark#_A(x1) = 0 U81_A(x1) = 1 U72_A(x1) = 1 U71_A(x1,x2) = 12 U61_A(x1) = 1 U52_A(x1) = 11 U51_A(x1,x2) = 2 U42_A(x1) = 2 U41_A(x1,x2) = 1 U31_A(x1) = 17 U22_A(x1) = 3 U21_A(x1,x2) = 3 U11_A(x1) = 1 a__U11_A(x1) = 56 tt_A = 55 a__U21_A(x1,x2) = 56 a__U22_A(x1) = 56 a__isList_A(x1) = 57 a__U31_A(x1) = 66 a__U41_A(x1,x2) = 66 a__U42_A(x1) = 51 a__isNeList_A(x1) = 66 a__U51_A(x1,x2) = 66 a__U52_A(x1) = 60 a__U61_A(x1) = 64 a__U71_A(x1,x2) = 62 a__U72_A(x1) = 61 a__isPal_A(x1) = 63 a__U81_A(x1) = 63 a__isQid_A(x1) = 65 a__isNePal_A(x1) = 64 a_A = 67 e_A = 0 i_A = 0 o_A = 0 u_A = 0 isList_A(x1) = 8 isNeList_A(x1) = 17 isPal_A(x1) = 14 isQid_A(x1) = 16 isNePal_A(x1) = 1 precedence: U61 = U41 = U21 > mark = a____ = nil = U52 = e > U42 > a__isPal > U81 = U51 = a__U11 = a__U81 > U11 > U72 > u = isList > a__isNePal > a__U52 > a____# = mark# = tt = a__isQid = isNeList = isPal > U71 > a__U51 > isNePal > a__U72 = isQid > a__isList > a__U21 > a__isNeList > a__U31 > U31 = a__U22 > o > __ > U22 > a__U61 > i > a__U71 > a__U41 > a__U42 = a partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U81) = [] pi(U72) = [] pi(U71) = [] pi(U61) = [] pi(U52) = [] pi(U51) = [] pi(U42) = [] pi(U41) = [] pi(U31) = [] pi(U22) = [] pi(U21) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U81(X)) -> mark#(X) p4: mark#(U72(X)) -> mark#(X) p5: mark#(U71(X1,X2)) -> mark#(X1) p6: mark#(U52(X)) -> mark#(X) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U42(X)) -> mark#(X) p9: mark#(U41(X1,X2)) -> mark#(X1) p10: mark#(U31(X)) -> mark#(X) p11: mark#(U22(X)) -> mark#(X) p12: mark#(U21(X1,X2)) -> mark#(X1) p13: mark#(U11(X)) -> mark#(X) p14: mark#(__(X1,X2)) -> mark#(X2) p15: mark#(__(X1,X2)) -> mark#(X1) p16: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p17: a____#(__(X,Y),Z) -> mark#(Z) p18: a____#(__(X,Y),Z) -> mark#(Y) p19: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: a____#(__(X,Y),Z) -> mark#(Y) p4: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p5: a____#(__(X,Y),Z) -> mark#(Z) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> mark#(X1) p10: mark#(U22(X)) -> mark#(X) p11: mark#(U31(X)) -> mark#(X) p12: mark#(U41(X1,X2)) -> mark#(X1) p13: mark#(U42(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> mark#(X1) p15: mark#(U52(X)) -> mark#(X) p16: mark#(U71(X1,X2)) -> mark#(X1) p17: mark#(U72(X)) -> mark#(X) p18: mark#(U81(X)) -> mark#(X) p19: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 33, x2 - 5} ___A(x1,x2) = max{39, x1 + 38, x2} mark_A(x1) = x1 a_____A(x1,x2) = max{39, x1 + 38, x2} mark#_A(x1) = max{32, x1 - 5} U11_A(x1) = max{35, x1} U21_A(x1,x2) = max{x1, x2 + 68} U22_A(x1) = max{15, x1} U31_A(x1) = max{68, x1 + 31} U41_A(x1,x2) = max{x1 + 33, x2 + 68} U42_A(x1) = max{32, x1} U51_A(x1,x2) = max{x1 + 17, x2 + 68} U52_A(x1) = max{32, x1} U71_A(x1,x2) = max{x1, x2 + 32} U72_A(x1) = max{15, x1 + 6} U81_A(x1) = max{7, x1 + 6} nil_A = 17 a__U11_A(x1) = max{35, x1} tt_A = 16 a__U21_A(x1,x2) = max{x1, x2 + 68} a__U22_A(x1) = max{15, x1} a__isList_A(x1) = x1 + 68 a__U31_A(x1) = max{68, x1 + 31} a__U41_A(x1,x2) = max{x1 + 33, x2 + 68} a__U42_A(x1) = max{32, x1} a__isNeList_A(x1) = x1 + 68 a__U51_A(x1,x2) = max{x1 + 17, x2 + 68} a__U52_A(x1) = max{32, x1} a__U61_A(x1) = 17 a__U71_A(x1,x2) = max{x1, x2 + 32} a__U72_A(x1) = max{15, x1 + 6} a__isPal_A(x1) = x1 + 26 a__U81_A(x1) = max{7, x1 + 6} a__isQid_A(x1) = 37 a__isNePal_A(x1) = max{19, x1 + 18} a_A = 18 e_A = 0 i_A = 18 o_A = 18 u_A = 18 isList_A(x1) = x1 + 68 isNeList_A(x1) = x1 + 68 U61_A(x1) = 17 isPal_A(x1) = x1 + 26 isQid_A(x1) = 37 isNePal_A(x1) = max{19, x1 + 18} precedence: mark = a____ > a__U41 = a__isNeList > U21 = U22 = U31 = U42 = U81 = a__U11 = a__U21 = a__U22 = a__isList = a__U31 = a__U42 = a__U61 = a__isPal = a__U81 = a__isNePal = o = isList = isNeList = U61 = isPal = isNePal > U51 = nil = a__U51 > U52 = a__U52 = a__isQid = e > tt > a____# = __ = mark# = U11 = U41 = U71 = U72 = a__U71 = a__U72 = a = i = u = isQid partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(U42) = [] pi(U51) = [1] pi(U52) = [] pi(U71) = [2] pi(U72) = [] pi(U81) = [] pi(nil) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [1] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [1] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [2] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [] pi(U61) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 75 ___A(x1,x2) = 19 mark_A(x1) = 58 a_____A(x1,x2) = 58 mark#_A(x1) = 75 U11_A(x1) = 74 U21_A(x1,x2) = 0 U22_A(x1) = 58 U31_A(x1) = 6 U41_A(x1,x2) = 58 U42_A(x1) = 1 U51_A(x1,x2) = 0 U52_A(x1) = 27 U71_A(x1,x2) = 0 U72_A(x1) = 6 U81_A(x1) = 76 nil_A = 59 a__U11_A(x1) = 58 tt_A = 56 a__U21_A(x1,x2) = 58 a__U22_A(x1) = 58 a__isList_A(x1) = 58 a__U31_A(x1) = 55 a__U41_A(x1,x2) = 58 a__U42_A(x1) = 55 a__isNeList_A(x1) = 58 a__U51_A(x1,x2) = 58 a__U52_A(x1) = 58 a__U61_A(x1) = 6 a__U71_A(x1,x2) = 58 a__U72_A(x1) = 58 a__isPal_A(x1) = 58 a__U81_A(x1) = 76 a__isQid_A(x1) = 61 a__isNePal_A(x1) = max{59, x1 + 7} a_A = 59 e_A = 59 i_A = 59 o_A = 59 u_A = 59 isList_A(x1) = 58 isNeList_A(x1) = 27 U61_A(x1) = 6 isPal_A(x1) = 1 isQid_A(x1) = 30 isNePal_A(x1) = 1 precedence: U21 > mark = a____ > a__isList > a____# = mark# = U11 = U22 = U31 = U42 = U51 = U52 = U71 = a__U21 = a__U22 = a__U31 > U72 = a__U11 > a__U42 = a__isNeList > a__U71 > a__U72 > tt = a__U41 > nil > a__U51 = a__U52 = a__U81 > U81 > a__U61 = a__isQid > a__isNePal = isNePal > U41 > __ > a__isPal > isNeList = U61 = isPal > a = e = i = o = u = isList = isQid partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(U42) = [] pi(U51) = [] pi(U52) = [] pi(U71) = [] pi(U72) = [] pi(U81) = [] pi(nil) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [] pi(U61) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] 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: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p4: a____#(__(X,Y),Z) -> mark#(Z) p5: mark#(__(X1,X2)) -> mark#(X1) p6: mark#(__(X1,X2)) -> mark#(X2) p7: mark#(U11(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X)) -> mark#(X) p10: mark#(U31(X)) -> mark#(X) p11: mark#(U41(X1,X2)) -> mark#(X1) p12: mark#(U42(X)) -> mark#(X) p13: mark#(U51(X1,X2)) -> mark#(X1) p14: mark#(U52(X)) -> mark#(X) p15: mark#(U71(X1,X2)) -> mark#(X1) p16: mark#(U72(X)) -> mark#(X) p17: mark#(U81(X)) -> mark#(X) p18: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U81(X)) -> mark#(X) p4: mark#(U72(X)) -> mark#(X) p5: mark#(U71(X1,X2)) -> mark#(X1) p6: mark#(U52(X)) -> mark#(X) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U42(X)) -> mark#(X) p9: mark#(U41(X1,X2)) -> mark#(X1) p10: mark#(U31(X)) -> mark#(X) p11: mark#(U22(X)) -> mark#(X) p12: mark#(U21(X1,X2)) -> mark#(X1) p13: mark#(U11(X)) -> mark#(X) p14: mark#(__(X1,X2)) -> mark#(X2) p15: mark#(__(X1,X2)) -> mark#(X1) p16: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p17: a____#(__(X,Y),Z) -> mark#(Z) p18: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{12, x1 + 5, x2 + 5} ___A(x1,x2) = max{3, x1, x2} mark_A(x1) = max{4, x1} a_____A(x1,x2) = max{4, x1, x2} nil_A = 14 mark#_A(x1) = max{12, x1 + 5} U81_A(x1) = max{12, x1} U72_A(x1) = x1 U71_A(x1,x2) = max{x1 + 3, x2 + 15} U52_A(x1) = max{14, x1} U51_A(x1,x2) = max{x1, x2 + 26} U42_A(x1) = max{26, x1} U41_A(x1,x2) = max{x1, x2 + 26} U31_A(x1) = max{17, x1 + 13} U22_A(x1) = x1 U21_A(x1,x2) = max{x1, x2 + 26} U11_A(x1) = x1 a__U11_A(x1) = max{1, x1} tt_A = 13 a__U21_A(x1,x2) = max{x1, x2 + 26} a__U22_A(x1) = x1 a__isList_A(x1) = x1 + 26 a__U31_A(x1) = max{17, x1 + 13} a__U41_A(x1,x2) = max{x1, x2 + 26} a__U42_A(x1) = max{26, x1} a__isNeList_A(x1) = x1 + 26 a__U51_A(x1,x2) = max{x1, x2 + 26} a__U52_A(x1) = max{14, x1} a__U61_A(x1) = max{5, x1 + 1} a__U71_A(x1,x2) = max{x1 + 3, x2 + 15} a__U72_A(x1) = x1 a__isPal_A(x1) = x1 + 15 a__U81_A(x1) = max{12, x1} a__isQid_A(x1) = max{11, x1 + 1} a__isNePal_A(x1) = x1 + 15 a_A = 14 e_A = 12 i_A = 14 o_A = 14 u_A = 14 isList_A(x1) = x1 + 26 isNeList_A(x1) = x1 + 26 U61_A(x1) = max{5, x1 + 1} isPal_A(x1) = x1 + 15 isQid_A(x1) = max{11, x1 + 1} isNePal_A(x1) = x1 + 15 precedence: mark = a____ > nil = a__isPal > a__isQid > a__U81 > a__U61 > a__isList = a__isNePal > a__U11 > a__U71 = a = e > a__U72 = isNePal > U11 > isPal > i = isList > U81 > U71 = tt = a__U21 = a__U22 = o = U61 > U21 = a__isNeList > a__U51 > a__U52 = isNeList > U51 > a__U31 = a__U41 = isQid > a__U42 > U42 > U31 > a____# = __ = mark# = U72 = U52 = U41 = U22 = u partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U81) = [] pi(U72) = [] pi(U71) = [1] pi(U52) = [] pi(U51) = [2] pi(U42) = [] pi(U41) = [2] pi(U31) = [] pi(U22) = [] pi(U21) = [2] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [2] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [2] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [1] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [1] pi(a__U81) = [] pi(a__isQid) = [1] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [] pi(U61) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 17 ___A(x1,x2) = 55 mark_A(x1) = 57 a_____A(x1,x2) = 57 nil_A = 54 mark#_A(x1) = 17 U81_A(x1) = 1 U72_A(x1) = 0 U71_A(x1,x2) = 0 U52_A(x1) = 11 U51_A(x1,x2) = 2 U42_A(x1) = 1 U41_A(x1,x2) = 0 U31_A(x1) = 1 U22_A(x1) = 1 U21_A(x1,x2) = 16 U11_A(x1) = 16 a__U11_A(x1) = 44 tt_A = 11 a__U21_A(x1,x2) = 55 a__U22_A(x1) = 55 a__isList_A(x1) = 56 a__U31_A(x1) = 57 a__U41_A(x1,x2) = 3 a__U42_A(x1) = 2 a__isNeList_A(x1) = 57 a__U51_A(x1,x2) = 12 a__U52_A(x1) = 12 a__U61_A(x1) = x1 + 186 a__U71_A(x1,x2) = 57 a__U72_A(x1) = 10 a__isPal_A(x1) = 57 a__U81_A(x1) = 56 a__isQid_A(x1) = max{81, x1 - 48} a__isNePal_A(x1) = 57 a_A = 60 e_A = 60 i_A = 60 o_A = 59 u_A = 58 isList_A(x1) = 44 isNeList_A(x1) = 1 U61_A(x1) = 0 isPal_A(x1) = 0 isQid_A(x1) = 81 isNePal_A(x1) = 56 precedence: U71 = U11 > mark = a____ = a__isPal > __ > a__isList > U22 = U21 = a__U21 > tt = a__U22 = a__isNeList > a__U41 > U42 = U41 = a__U42 = a__U51 > U51 = a__U11 > a__isNePal = a > a____# = nil = mark# = U72 = U52 = a__U71 > a__U61 = a__U72 = a__U81 > U81 = a__U31 > U31 = a__isQid > a__U52 = e = i = o = u = isList = isNeList = U61 = isPal = isQid = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U81) = [] pi(U72) = [] pi(U71) = [] pi(U52) = [] pi(U51) = [] pi(U42) = [] pi(U41) = [] pi(U31) = [] pi(U22) = [] pi(U21) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(isNeList) = [] pi(U61) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p10 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U81(X)) -> mark#(X) p4: mark#(U72(X)) -> mark#(X) p5: mark#(U71(X1,X2)) -> mark#(X1) p6: mark#(U52(X)) -> mark#(X) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U42(X)) -> mark#(X) p9: mark#(U41(X1,X2)) -> mark#(X1) p10: mark#(U22(X)) -> mark#(X) p11: mark#(U21(X1,X2)) -> mark#(X1) p12: mark#(U11(X)) -> mark#(X) p13: mark#(__(X1,X2)) -> mark#(X2) p14: mark#(__(X1,X2)) -> mark#(X1) p15: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p16: a____#(__(X,Y),Z) -> mark#(Z) p17: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: a____#(__(X,Y),Z) -> mark#(Z) p4: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p5: a____#(nil(),X) -> mark#(X) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> mark#(X1) p10: mark#(U22(X)) -> mark#(X) p11: mark#(U41(X1,X2)) -> mark#(X1) p12: mark#(U42(X)) -> mark#(X) p13: mark#(U51(X1,X2)) -> mark#(X1) p14: mark#(U52(X)) -> mark#(X) p15: mark#(U71(X1,X2)) -> mark#(X1) p16: mark#(U72(X)) -> mark#(X) p17: mark#(U81(X)) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 27, x2 + 6} ___A(x1,x2) = max{x1 + 21, x2} mark_A(x1) = x1 a_____A(x1,x2) = max{x1 + 21, x2} mark#_A(x1) = x1 + 6 nil_A = 8 U11_A(x1) = max{13, x1} U21_A(x1,x2) = max{x1 + 12, x2 + 4} U22_A(x1) = x1 U41_A(x1,x2) = max{22, x1 + 12, x2 + 4} U42_A(x1) = max{25, x1} U51_A(x1,x2) = max{12, x1, x2 + 4} U52_A(x1) = max{3, x1} U71_A(x1,x2) = max{x1, x2 + 43} U72_A(x1) = x1 + 2 U81_A(x1) = max{14, x1} a__U11_A(x1) = max{13, x1} tt_A = 13 a__U21_A(x1,x2) = max{x1 + 12, x2 + 4} a__U22_A(x1) = x1 a__isList_A(x1) = max{13, x1 + 4} a__U31_A(x1) = x1 + 2 a__U41_A(x1,x2) = max{22, x1 + 12, x2 + 4} a__U42_A(x1) = max{25, x1} a__isNeList_A(x1) = max{13, x1 + 4} a__U51_A(x1,x2) = max{12, x1, x2 + 4} a__U52_A(x1) = max{3, x1} a__U61_A(x1) = x1 + 20 a__U71_A(x1,x2) = max{x1, x2 + 43} a__U72_A(x1) = x1 + 2 a__isPal_A(x1) = x1 + 23 a__U81_A(x1) = max{14, x1} a__isQid_A(x1) = max{1, x1} a__isNePal_A(x1) = x1 + 22 a_A = 14 e_A = 14 i_A = 14 o_A = 14 u_A = 14 isList_A(x1) = max{13, x1 + 4} U31_A(x1) = x1 + 2 isNeList_A(x1) = max{13, x1 + 4} U61_A(x1) = x1 + 20 isPal_A(x1) = x1 + 23 isQid_A(x1) = max{1, x1} isNePal_A(x1) = x1 + 22 precedence: mark = a____ = U72 = a__isList = a__isNeList = a__U72 = a = e = u = isNeList > i > a__U51 > isList > a__U21 = a__U71 = a__isQid = a__isNePal = isQid = isNePal > a__U22 = a__U81 > a__U31 = a__isPal = o = isPal > U31 > a__U41 = a__U42 > U42 > a__U52 > U21 > U11 = a__U11 > a__U61 > nil = U71 = tt > U52 > a____# = __ = mark# = U22 = U41 = U51 = U81 = U61 partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(U41) = [] pi(U42) = [] pi(U51) = [] pi(U52) = [] pi(U71) = [] pi(U72) = [] pi(U81) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [1] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [2] pi(a__U72) = [] pi(a__isPal) = [1] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U61) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 17 ___A(x1,x2) = 22 mark_A(x1) = 22 a_____A(x1,x2) = 22 mark#_A(x1) = 17 nil_A = 6 U11_A(x1) = 17 U21_A(x1,x2) = 17 U22_A(x1) = 17 U41_A(x1,x2) = 17 U42_A(x1) = 17 U51_A(x1,x2) = 17 U52_A(x1) = 17 U71_A(x1,x2) = 17 U72_A(x1) = 17 U81_A(x1) = 17 a__U11_A(x1) = 18 tt_A = 19 a__U21_A(x1,x2) = 20 a__U22_A(x1) = 20 a__isList_A(x1) = 21 a__U31_A(x1) = 18 a__U41_A(x1,x2) = 20 a__U42_A(x1) = 18 a__isNeList_A(x1) = 20 a__U51_A(x1,x2) = 19 a__U52_A(x1) = 18 a__U61_A(x1) = 3 a__U71_A(x1,x2) = x2 + 99 a__U72_A(x1) = 18 a__isPal_A(x1) = 2 a__U81_A(x1) = 53 a__isQid_A(x1) = 47 a__isNePal_A(x1) = 3 a_A = 18 e_A = 18 i_A = 18 o_A = 0 u_A = 0 isList_A(x1) = 1 U31_A(x1) = 1 isNeList_A(x1) = 1 U61_A(x1) = 1 isPal_A(x1) = 0 isQid_A(x1) = 1 isNePal_A(x1) = 2 precedence: nil = U11 = U21 = U22 = U41 = U42 = U51 = U52 = U71 = U81 > a__U11 > a__U21 = a__U22 = a__isList > tt = a__U31 = a__U42 = a__U51 = a__U52 = a__U61 = a__U71 = a__U72 = a__isPal = a__isNePal = a = e > a__isNeList > a__U41 = i = o > U72 > isNePal > a____# = mark# = a__isQid = u = U31 = isNeList = U61 = isPal = isQid > isList > mark = a____ > __ = a__U81 partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(U41) = [] pi(U42) = [] pi(U51) = [] pi(U52) = [] pi(U71) = [] pi(U72) = [] pi(U81) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [2] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U61) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] 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: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: a____#(__(X,Y),Z) -> mark#(Z) p4: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p5: a____#(nil(),X) -> mark#(X) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> mark#(X1) p10: mark#(U22(X)) -> mark#(X) p11: mark#(U41(X1,X2)) -> mark#(X1) p12: mark#(U42(X)) -> mark#(X) p13: mark#(U51(X1,X2)) -> mark#(X1) p14: mark#(U52(X)) -> mark#(X) p15: mark#(U71(X1,X2)) -> mark#(X1) p16: mark#(U81(X)) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U81(X)) -> mark#(X) p4: mark#(U71(X1,X2)) -> mark#(X1) p5: mark#(U52(X)) -> mark#(X) p6: mark#(U51(X1,X2)) -> mark#(X1) p7: mark#(U42(X)) -> mark#(X) p8: mark#(U41(X1,X2)) -> mark#(X1) p9: mark#(U22(X)) -> mark#(X) p10: mark#(U21(X1,X2)) -> mark#(X1) p11: mark#(U11(X)) -> mark#(X) p12: mark#(__(X1,X2)) -> mark#(X2) p13: mark#(__(X1,X2)) -> mark#(X1) p14: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p15: a____#(__(X,Y),Z) -> mark#(Z) p16: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 13, x2 - 1} ___A(x1,x2) = max{25, x1 + 14, x2} mark_A(x1) = max{11, x1} a_____A(x1,x2) = max{25, x1 + 14, x2} nil_A = 12 mark#_A(x1) = max{0, x1 - 1} U81_A(x1) = max{23, x1 + 12} U71_A(x1,x2) = max{26, x1 + 13} U52_A(x1) = max{15, x1} U51_A(x1,x2) = max{x1 + 14, x2 + 31} U42_A(x1) = max{18, x1} U41_A(x1,x2) = max{x1 + 9, x2 + 31} U22_A(x1) = max{31, x1} U21_A(x1,x2) = max{x1 + 1, x2 + 31} U11_A(x1) = max{12, x1} a__U11_A(x1) = max{12, x1} tt_A = 10 a__U21_A(x1,x2) = max{x1 + 1, x2 + 31} a__U22_A(x1) = max{31, x1} a__isList_A(x1) = x1 + 31 a__U31_A(x1) = max{31, x1 + 4} a__U41_A(x1,x2) = max{x1 + 9, x2 + 31} a__U42_A(x1) = max{18, x1} a__isNeList_A(x1) = x1 + 31 a__U51_A(x1,x2) = max{x1 + 14, x2 + 31} a__U52_A(x1) = max{15, x1} a__U61_A(x1) = max{12, x1 - 1} a__U71_A(x1,x2) = max{26, x1 + 13} a__U72_A(x1) = max{22, x1 - 19} a__isPal_A(x1) = 41 a__U81_A(x1) = max{23, x1 + 12} a__isQid_A(x1) = 11 a__isNePal_A(x1) = 26 a_A = 25 e_A = 25 i_A = 12 o_A = 12 u_A = 25 isList_A(x1) = x1 + 31 U31_A(x1) = max{31, x1 + 4} isNeList_A(x1) = x1 + 31 U61_A(x1) = max{12, x1 - 1} U72_A(x1) = max{22, x1 - 19} isPal_A(x1) = 41 isQid_A(x1) = 0 isNePal_A(x1) = 26 precedence: mark = a____ > nil = U81 = a__U61 = a__isPal = a__U81 = U61 = isPal > a__isList > U51 = a__isNeList = a__U51 > tt = a__U52 = a__isQid > U52 > U71 = a__U71 = a__isNePal = isNePal > isNeList = isQid > a__U21 = a__U22 = a__U31 = a = e = o = isList > U31 > a__U41 > U42 = U22 = a__U11 = a__U42 > __ = a__U72 = i = U72 > U41 > U21 = U11 = u > a____# = mark# partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U81) = [] pi(U71) = [] pi(U52) = [] pi(U51) = [] pi(U42) = [] pi(U41) = [] pi(U22) = [] pi(U21) = [2] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [1] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [1] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U61) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 9 ___A(x1,x2) = 8 mark_A(x1) = 53 a_____A(x1,x2) = 53 nil_A = 0 mark#_A(x1) = 9 U81_A(x1) = 1 U71_A(x1,x2) = 0 U52_A(x1) = 1 U51_A(x1,x2) = 53 U42_A(x1) = 2 U41_A(x1,x2) = 4 U22_A(x1) = 1 U21_A(x1,x2) = 53 U11_A(x1) = 1 a__U11_A(x1) = 53 tt_A = 3 a__U21_A(x1,x2) = 53 a__U22_A(x1) = 2 a__isList_A(x1) = 53 a__U31_A(x1) = 53 a__U41_A(x1,x2) = 7 a__U42_A(x1) = 7 a__isNeList_A(x1) = max{55, x1 + 2} a__U51_A(x1,x2) = 53 a__U52_A(x1) = 4 a__U61_A(x1) = 2 a__U71_A(x1,x2) = 9 a__U72_A(x1) = 52 a__isPal_A(x1) = 10 a__U81_A(x1) = 10 a__isQid_A(x1) = 56 a__isNePal_A(x1) = 52 a_A = 54 e_A = 54 i_A = 52 o_A = 54 u_A = 54 isList_A(x1) = 52 U31_A(x1) = 52 isNeList_A(x1) = 55 U61_A(x1) = 1 U72_A(x1) = 51 isPal_A(x1) = 0 isQid_A(x1) = 1 isNePal_A(x1) = 51 precedence: a__isPal > a__isNeList = U31 > o = isList > a__U41 = isQid > mark = a____ = nil = U22 = tt = a__U21 = a__U22 = a__isList = a__U31 = a__U42 = a__U52 = isNePal > a__U51 = a__isQid = isNeList > a__U11 > a____# = __ = mark# = U81 = U71 = U52 = U51 = U42 = U41 = U11 = a__U61 = a__U81 = a = e = i = U61 = U72 = isPal > U21 = u > a__U71 = a__isNePal > a__U72 partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U81) = [] pi(U71) = [] pi(U52) = [] pi(U51) = [] pi(U42) = [] pi(U41) = [] pi(U22) = [] pi(U21) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [1] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U61) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U81(X)) -> mark#(X) p4: mark#(U52(X)) -> mark#(X) p5: mark#(U51(X1,X2)) -> mark#(X1) p6: mark#(U42(X)) -> mark#(X) p7: mark#(U41(X1,X2)) -> mark#(X1) p8: mark#(U22(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> mark#(X1) p10: mark#(U11(X)) -> mark#(X) p11: mark#(__(X1,X2)) -> mark#(X2) p12: mark#(__(X1,X2)) -> mark#(X1) p13: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p14: a____#(__(X,Y),Z) -> mark#(Z) p15: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: a____#(__(X,Y),Z) -> mark#(Z) p4: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p5: a____#(nil(),X) -> mark#(X) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> mark#(X1) p10: mark#(U22(X)) -> mark#(X) p11: mark#(U41(X1,X2)) -> mark#(X1) p12: mark#(U42(X)) -> mark#(X) p13: mark#(U51(X1,X2)) -> mark#(X1) p14: mark#(U52(X)) -> mark#(X) p15: mark#(U81(X)) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 86, x2 + 55} ___A(x1,x2) = max{53, x1 + 31, x2} mark_A(x1) = max{8, x1} a_____A(x1,x2) = max{53, x1 + 31, x2} mark#_A(x1) = x1 + 55 nil_A = 7 U11_A(x1) = x1 U21_A(x1,x2) = max{18, x1 + 9, x2 - 3} U22_A(x1) = x1 U41_A(x1,x2) = max{50, x1 + 31, x2 - 3} U42_A(x1) = max{29, x1} U51_A(x1,x2) = max{29, x1 + 21, x2 - 3} U52_A(x1) = max{9, x1} U81_A(x1) = max{9, x1 + 1} a__U11_A(x1) = x1 tt_A = 3 a__U21_A(x1,x2) = max{18, x1 + 9, x2 - 3} a__U22_A(x1) = x1 a__isList_A(x1) = max{18, x1 - 3} a__U31_A(x1) = 4 a__U41_A(x1,x2) = max{50, x1 + 31, x2 - 3} a__U42_A(x1) = max{29, x1} a__isNeList_A(x1) = max{5, x1 - 3} a__U51_A(x1,x2) = max{29, x1 + 21, x2 - 3} a__U52_A(x1) = max{9, x1} a__U61_A(x1) = max{1, x1} a__U71_A(x1,x2) = 50 a__U72_A(x1) = 46 a__isPal_A(x1) = x1 + 55 a__U81_A(x1) = max{9, x1 + 1} a__isQid_A(x1) = 3 a__isNePal_A(x1) = x1 + 53 a_A = 4 e_A = 7 i_A = 54 o_A = 7 u_A = 54 isList_A(x1) = max{18, x1 - 3} U31_A(x1) = 3 isNeList_A(x1) = max{4, x1 - 3} U61_A(x1) = x1 U71_A(x1,x2) = 50 U72_A(x1) = 46 isPal_A(x1) = x1 + 55 isQid_A(x1) = 2 isNePal_A(x1) = x1 + 53 precedence: a > U31 > a__U31 > mark = a____ = nil = a__isNePal > a__isNeList > a__U41 = isNePal > __ = a__isPal > a__U81 > e > a__isList > U41 = a__U51 > i > a__U11 = a__U52 > U51 > isList > U11 = U81 > a__U61 > isNeList > a____# = mark# = a__U21 > isQid > a__U72 = a__isQid > U72 > U22 = a__U22 = isPal > tt > a__U71 > o > u > U21 = U52 > U42 = a__U42 > U61 = U71 partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [1] pi(U22) = [] pi(U41) = [] pi(U42) = [] pi(U51) = [] pi(U52) = [] pi(U81) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 20 ___A(x1,x2) = 27 mark_A(x1) = 27 a_____A(x1,x2) = 27 mark#_A(x1) = 20 nil_A = 2 U11_A(x1) = 19 U21_A(x1,x2) = 27 U22_A(x1) = 26 U41_A(x1,x2) = 19 U42_A(x1) = 6 U51_A(x1,x2) = 15 U52_A(x1) = 19 U81_A(x1) = 14 a__U11_A(x1) = 27 tt_A = 14 a__U21_A(x1,x2) = 27 a__U22_A(x1) = 27 a__isList_A(x1) = 27 a__U31_A(x1) = 27 a__U41_A(x1,x2) = 27 a__U42_A(x1) = 27 a__isNeList_A(x1) = 28 a__U51_A(x1,x2) = 27 a__U52_A(x1) = 27 a__U61_A(x1) = 27 a__U71_A(x1,x2) = 26 a__U72_A(x1) = 13 a__isPal_A(x1) = 15 a__U81_A(x1) = 15 a__isQid_A(x1) = 27 a__isNePal_A(x1) = 27 a_A = 28 e_A = 11 i_A = 28 o_A = 28 u_A = 28 isList_A(x1) = 1 U31_A(x1) = 7 isNeList_A(x1) = 1 U61_A(x1) = 6 U71_A(x1,x2) = 25 U72_A(x1) = 4 isPal_A(x1) = 0 isQid_A(x1) = 1 isNePal_A(x1) = 1 precedence: mark = a____ > __ = U22 = U81 = a__U11 = a__U21 = a__U22 = a__isList = a__U31 = a__U41 > U11 = U41 = U42 = a__U42 = a__isNeList = a__U51 > U51 = a__U52 > U52 > a__U72 > a____# = mark# > a__isPal = a__isQid > a__U81 > tt > nil = a__U61 = a__U71 = a__isNePal = a = e = i = o = u = isList = U31 = isNeList = U61 = U71 > U21 = U72 = isPal = isQid = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(U41) = [] pi(U42) = [] pi(U51) = [] pi(U52) = [] pi(U81) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p15 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: a____#(__(X,Y),Z) -> mark#(Z) p4: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p5: a____#(nil(),X) -> mark#(X) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> mark#(X1) p10: mark#(U22(X)) -> mark#(X) p11: mark#(U41(X1,X2)) -> mark#(X1) p12: mark#(U42(X)) -> mark#(X) p13: mark#(U51(X1,X2)) -> mark#(X1) p14: mark#(U52(X)) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U52(X)) -> mark#(X) p4: mark#(U51(X1,X2)) -> mark#(X1) p5: mark#(U42(X)) -> mark#(X) p6: mark#(U41(X1,X2)) -> mark#(X1) p7: mark#(U22(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U11(X)) -> mark#(X) p10: mark#(__(X1,X2)) -> mark#(X2) p11: mark#(__(X1,X2)) -> mark#(X1) p12: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p13: a____#(__(X,Y),Z) -> mark#(Z) p14: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 29, x2} ___A(x1,x2) = max{30, x1 + 29, x2} mark_A(x1) = x1 a_____A(x1,x2) = max{30, x1 + 29, x2} nil_A = 8 mark#_A(x1) = x1 U52_A(x1) = max{26, x1} U51_A(x1,x2) = max{23, x1 + 22, x2 + 16} U42_A(x1) = x1 U41_A(x1,x2) = max{x1 + 14, x2 + 16} U22_A(x1) = max{26, x1} U21_A(x1,x2) = max{x1 + 1, x2 + 16} U11_A(x1) = x1 a__U11_A(x1) = x1 tt_A = 25 a__U21_A(x1,x2) = max{x1 + 1, x2 + 16} a__U22_A(x1) = max{26, x1} a__isList_A(x1) = max{25, x1 + 16} a__U31_A(x1) = max{2, x1 + 1} a__U41_A(x1,x2) = max{x1 + 14, x2 + 16} a__U42_A(x1) = x1 a__isNeList_A(x1) = max{24, x1 + 16} a__U51_A(x1,x2) = max{23, x1 + 22, x2 + 16} a__U52_A(x1) = max{26, x1} a__U61_A(x1) = max{26, x1 - 13} a__U71_A(x1,x2) = x2 + 54 a__U72_A(x1) = x1 + 27 a__isPal_A(x1) = 27 a__U81_A(x1) = 26 a__isQid_A(x1) = x1 + 14 a__isNePal_A(x1) = x1 + 31 a_A = 26 e_A = 26 i_A = 26 o_A = 26 u_A = 26 isList_A(x1) = max{25, x1 + 16} U31_A(x1) = max{2, x1 + 1} isNeList_A(x1) = max{24, x1 + 16} U61_A(x1) = max{26, x1 - 13} U71_A(x1,x2) = x2 + 54 U72_A(x1) = x1 + 27 isPal_A(x1) = 27 U81_A(x1) = 26 isQid_A(x1) = x1 + 14 isNePal_A(x1) = x1 + 31 precedence: mark = a____ > i > a__U71 = a__isNePal > a__U31 = a__U41 = a__isNeList > a__U42 > U42 = a__U72 = a__isQid = U72 > a__U61 = U71 = isQid > a__U51 > u > nil = U52 = U51 = a__U52 > __ > a__isPal = a__U81 = isPal = U81 > U11 = a__U11 = tt = a__isList = e = o = U31 > U21 = a__U21 = a__U22 = isNePal > a____# = mark# = U41 = U22 = a = isList = isNeList = U61 partial status: pi(a____#) = [] pi(__) = [1] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U52) = [] pi(U51) = [] pi(U42) = [] pi(U41) = [] pi(U22) = [] pi(U21) = [1] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [1, 2] pi(a__U22) = [] pi(a__isList) = [1] pi(a__U31) = [] pi(a__U41) = [1] pi(a__U42) = [] pi(a__isNeList) = [1] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [2] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 44 ___A(x1,x2) = 43 mark_A(x1) = 80 a_____A(x1,x2) = 80 nil_A = 3 mark#_A(x1) = 44 U52_A(x1) = 21 U51_A(x1,x2) = 21 U42_A(x1) = 1 U41_A(x1,x2) = 0 U22_A(x1) = 2 U21_A(x1,x2) = 0 U11_A(x1) = 1 a__U11_A(x1) = 33 tt_A = 32 a__U21_A(x1,x2) = 3 a__U22_A(x1) = 3 a__isList_A(x1) = max{69, x1 + 28} a__U31_A(x1) = 33 a__U41_A(x1,x2) = 4 a__U42_A(x1) = 3 a__isNeList_A(x1) = 69 a__U51_A(x1,x2) = 42 a__U52_A(x1) = 31 a__U61_A(x1) = 33 a__U71_A(x1,x2) = 42 a__U72_A(x1) = 42 a__isPal_A(x1) = 80 a__U81_A(x1) = 31 a__isQid_A(x1) = 80 a__isNePal_A(x1) = 81 a_A = 81 e_A = 81 i_A = 79 o_A = 81 u_A = 81 isList_A(x1) = 68 U31_A(x1) = 32 isNeList_A(x1) = 1 U61_A(x1) = 1 U71_A(x1,x2) = 1 U72_A(x1) = 1 isPal_A(x1) = 31 U81_A(x1) = 1 isQid_A(x1) = 41 isNePal_A(x1) = 1 precedence: mark = a____ > __ = U11 > a__U52 > a__isNePal > a__U61 = a__U71 = a__U81 > a__U72 > a____# = mark# = i > a__U11 > a__isNeList = isNeList > a__U31 > U52 = U42 = U41 = U22 = tt = a__U41 = a__isPal = a__isQid = a = e = o = U31 > a__U51 > U51 = a__U42 > nil = u = U61 = U71 = isPal > U72 = U81 = isNePal > a__isList > U21 = a__U21 > a__U22 > isList = isQid partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U52) = [] pi(U51) = [] pi(U42) = [] pi(U41) = [] pi(U22) = [] pi(U21) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U52(X)) -> mark#(X) p4: mark#(U42(X)) -> mark#(X) p5: mark#(U41(X1,X2)) -> mark#(X1) p6: mark#(U22(X)) -> mark#(X) p7: mark#(U21(X1,X2)) -> mark#(X1) p8: mark#(U11(X)) -> mark#(X) p9: mark#(__(X1,X2)) -> mark#(X2) p10: mark#(__(X1,X2)) -> mark#(X1) p11: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p12: a____#(__(X,Y),Z) -> mark#(Z) p13: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: a____#(__(X,Y),Z) -> mark#(Z) p4: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p5: a____#(nil(),X) -> mark#(X) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U21(X1,X2)) -> mark#(X1) p10: mark#(U22(X)) -> mark#(X) p11: mark#(U41(X1,X2)) -> mark#(X1) p12: mark#(U42(X)) -> mark#(X) p13: mark#(U52(X)) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 50, x2 + 38} ___A(x1,x2) = max{23, x1 + 12, x2} mark_A(x1) = max{10, x1} a_____A(x1,x2) = max{23, x1 + 12, x2} mark#_A(x1) = x1 + 38 nil_A = 11 U11_A(x1) = max{9, x1} U21_A(x1,x2) = max{38, x1 + 12, x2 + 28} U22_A(x1) = max{38, x1} U41_A(x1,x2) = max{x1 + 11, x2 + 28} U42_A(x1) = x1 U52_A(x1) = max{36, x1} a__U11_A(x1) = max{10, x1} tt_A = 3 a__U21_A(x1,x2) = max{38, x1 + 12, x2 + 28} a__U22_A(x1) = max{38, x1} a__isList_A(x1) = max{38, x1 + 28} a__U31_A(x1) = 4 a__U41_A(x1,x2) = max{x1 + 11, x2 + 28} a__U42_A(x1) = max{9, x1} a__isNeList_A(x1) = x1 + 28 a__U51_A(x1,x2) = max{41, x1 - 15, x2 + 28} a__U52_A(x1) = max{36, x1} a__U61_A(x1) = 11 a__U71_A(x1,x2) = max{x1, x2 + 9} a__U72_A(x1) = 9 a__isPal_A(x1) = max{11, x1 + 6} a__U81_A(x1) = max{11, x1 - 12} a__isQid_A(x1) = max{4, x1 + 2} a__isNePal_A(x1) = x1 + 12 a_A = 11 e_A = 4 i_A = 11 o_A = 4 u_A = 0 isList_A(x1) = max{38, x1 + 28} U31_A(x1) = 0 isNeList_A(x1) = x1 + 28 U51_A(x1,x2) = max{41, x1 - 15, x2 + 28} U61_A(x1) = 11 U71_A(x1,x2) = max{x1, x2 + 9} U72_A(x1) = 1 isPal_A(x1) = max{11, x1 + 6} U81_A(x1) = max{11, x1 - 12} isQid_A(x1) = max{3, x1 + 2} isNePal_A(x1) = x1 + 12 precedence: u > a__U31 > mark = a____ > o > a__isList = a__isPal > a__U11 > U11 > a__isNeList > a__U41 = a__U81 > U81 > a__U42 > a__U21 = a__U71 = a__U72 > U72 > U42 > U41 > a__U61 = U61 > a__isQid = isQid > tt > e > a__U51 = a__isNePal > a__U52 > U21 > a__U22 > U71 > i = isNePal > U22 > U31 > isPal > isNeList > U52 > nil = a = isList = U51 > a____# = __ = mark# partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(U41) = [] pi(U42) = [] pi(U52) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [1] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [1] pi(a__U81) = [] pi(a__isQid) = [1] pi(a__isNePal) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [1] pi(U51) = [2] pi(U61) = [] pi(U71) = [2] pi(U72) = [] pi(isPal) = [1] pi(U81) = [] pi(isQid) = [1] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 0 ___A(x1,x2) = 63 mark_A(x1) = 62 a_____A(x1,x2) = 62 mark#_A(x1) = 0 nil_A = 63 U11_A(x1) = 30 U21_A(x1,x2) = 57 U22_A(x1) = 62 U41_A(x1,x2) = 0 U42_A(x1) = 38 U52_A(x1) = 62 a__U11_A(x1) = 35 tt_A = 46 a__U21_A(x1,x2) = 62 a__U22_A(x1) = 62 a__isList_A(x1) = 62 a__U31_A(x1) = 62 a__U41_A(x1,x2) = 61 a__U42_A(x1) = 45 a__isNeList_A(x1) = 62 a__U51_A(x1,x2) = 62 a__U52_A(x1) = 62 a__U61_A(x1) = 62 a__U71_A(x1,x2) = 60 a__U72_A(x1) = 56 a__isPal_A(x1) = 61 a__U81_A(x1) = 61 a__isQid_A(x1) = 62 a__isNePal_A(x1) = 62 a_A = 63 e_A = 63 i_A = 63 o_A = 63 u_A = 65 isList_A(x1) = 1 U31_A(x1) = 62 isNeList_A(x1) = 1 U51_A(x1,x2) = 62 U61_A(x1) = 62 U71_A(x1,x2) = 7 U72_A(x1) = 56 isPal_A(x1) = 1 U81_A(x1) = 52 isQid_A(x1) = 55 isNePal_A(x1) = 5 precedence: a__isPal = a__U81 > a__U11 > U11 > U42 > mark = a____ = a__U41 > a__U42 > nil > a__isNeList > a > e > a__U72 = i > __ = a__U51 = a__U52 = o > u = isList > U21 = U41 = tt = a__isList = a__U31 = a__U61 = a__U71 = a__isQid = a__isNePal = U31 = isNeList = U51 = U61 = U71 = U72 = isPal = U81 = isQid = isNePal > a__U21 > U52 = a__U22 > a____# = mark# = U22 partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(U41) = [] pi(U42) = [] pi(U52) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U51) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p9 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: a____#(__(X,Y),Z) -> mark#(Z) p4: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p5: a____#(nil(),X) -> mark#(X) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U22(X)) -> mark#(X) p10: mark#(U41(X1,X2)) -> mark#(X1) p11: mark#(U42(X)) -> mark#(X) p12: mark#(U52(X)) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U52(X)) -> mark#(X) p4: mark#(U42(X)) -> mark#(X) p5: mark#(U41(X1,X2)) -> mark#(X1) p6: mark#(U22(X)) -> mark#(X) p7: mark#(U11(X)) -> mark#(X) p8: mark#(__(X1,X2)) -> mark#(X2) p9: mark#(__(X1,X2)) -> mark#(X1) p10: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p11: a____#(__(X,Y),Z) -> mark#(Z) p12: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 29, x2 + 14} ___A(x1,x2) = max{32, x1 + 15, x2} mark_A(x1) = max{16, x1} a_____A(x1,x2) = max{32, x1 + 15, x2} nil_A = 13 mark#_A(x1) = x1 + 14 U52_A(x1) = max{28, x1} U42_A(x1) = max{23, x1} U41_A(x1,x2) = max{x1 + 12, x2 + 28} U22_A(x1) = max{33, x1} U11_A(x1) = max{23, x1} a__U11_A(x1) = max{23, x1} tt_A = 22 a__U21_A(x1,x2) = max{x1 + 11, x2 + 28} a__U22_A(x1) = max{33, x1} a__isList_A(x1) = x1 + 28 a__U31_A(x1) = x1 a__U41_A(x1,x2) = max{x1 + 12, x2 + 28} a__U42_A(x1) = max{23, x1} a__isNeList_A(x1) = x1 + 28 a__U51_A(x1,x2) = x2 + 28 a__U52_A(x1) = max{28, x1} a__U61_A(x1) = max{1, x1} a__U71_A(x1,x2) = max{x1 - 5, x2 + 13} a__U72_A(x1) = max{17, x1 + 1} a__isPal_A(x1) = max{11, x1 + 10} a__U81_A(x1) = max{11, x1} a__isQid_A(x1) = max{8, x1 - 2} a__isNePal_A(x1) = max{9, x1 - 1} a_A = 25 e_A = 25 i_A = 25 o_A = 25 u_A = 25 U21_A(x1,x2) = max{x1 + 11, x2 + 28} isList_A(x1) = x1 + 28 U31_A(x1) = x1 isNeList_A(x1) = x1 + 28 U51_A(x1,x2) = x2 + 28 U61_A(x1) = max{1, x1} U71_A(x1,x2) = max{x1 - 5, x2 + 13} U72_A(x1) = max{17, x1 + 1} isPal_A(x1) = max{11, x1 + 10} U81_A(x1) = max{11, x1} isQid_A(x1) = max{7, x1 - 2} isNePal_A(x1) = max{0, x1 - 1} precedence: a____# = mark# > __ = mark = a____ = tt = a__U31 = a__isNeList = a__U51 = a__U61 = a__isPal = a__U81 = isNeList = U61 = isPal > a__isNePal > a__U71 = a__U72 = U71 = U72 > a__isList = a__U41 = a__U42 = a__isQid = i > e = isQid > nil = a = U51 > a__U21 > a__U11 = u = U81 > U11 > a__U52 > a__U22 > U42 > U22 > U52 = U21 = isList > o > U41 = U31 = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U52) = [] pi(U42) = [] pi(U41) = [1] pi(U22) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [1] pi(a__U22) = [] pi(a__isList) = [1] pi(a__U31) = [] pi(a__U41) = [2] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [2] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U21) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U51) = [2] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 29 ___A(x1,x2) = 91 mark_A(x1) = 91 a_____A(x1,x2) = 91 nil_A = 68 mark#_A(x1) = 29 U52_A(x1) = 1 U42_A(x1) = 2 U41_A(x1,x2) = 28 U22_A(x1) = 28 U11_A(x1) = 28 a__U11_A(x1) = 89 tt_A = 85 a__U21_A(x1,x2) = max{90, x1 - 18} a__U22_A(x1) = 66 a__isList_A(x1) = 90 a__U31_A(x1) = 87 a__U41_A(x1,x2) = 88 a__U42_A(x1) = 88 a__isNeList_A(x1) = 88 a__U51_A(x1,x2) = 87 a__U52_A(x1) = 86 a__U61_A(x1) = 86 a__U71_A(x1,x2) = 90 a__U72_A(x1) = 86 a__isPal_A(x1) = 91 a__U81_A(x1) = 91 a__isQid_A(x1) = 87 a__isNePal_A(x1) = 91 a_A = 90 e_A = 90 i_A = 90 o_A = 90 u_A = 92 U21_A(x1,x2) = 74 isList_A(x1) = 69 U31_A(x1) = 0 isNeList_A(x1) = 43 U51_A(x1,x2) = 28 U61_A(x1) = 10 U71_A(x1,x2) = 47 U72_A(x1) = 65 isPal_A(x1) = 1 U81_A(x1) = 30 isQid_A(x1) = 1 isNePal_A(x1) = 70 precedence: mark = a____ = nil = a__U72 = a__isPal = a__U81 = a__isNePal = e = U72 = isPal = U81 = isNePal > a__U51 > a__U52 > a__isList > a__U11 = tt > a__U31 = a__isNeList = a__isQid > a__U41 > a__U42 > a____# = mark# = U22 = i = u > isQid > __ = U42 = a__U21 = a__U61 = a__U71 = isList = U71 > U52 = U41 = a__U22 > U11 = a = o = U21 = U31 = isNeList = U51 = U61 partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U52) = [] pi(U42) = [] pi(U41) = [] pi(U22) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U21) = [] pi(isList) = [] pi(U31) = [] pi(isNeList) = [] pi(U51) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p5 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U52(X)) -> mark#(X) p4: mark#(U42(X)) -> mark#(X) p5: mark#(U22(X)) -> mark#(X) p6: mark#(U11(X)) -> mark#(X) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(__(X1,X2)) -> mark#(X1) p9: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p10: a____#(__(X,Y),Z) -> mark#(Z) p11: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: a____#(__(X,Y),Z) -> mark#(Z) p4: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p5: a____#(nil(),X) -> mark#(X) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(U11(X)) -> mark#(X) p9: mark#(U22(X)) -> mark#(X) p10: mark#(U42(X)) -> mark#(X) p11: mark#(U52(X)) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{x1 + 10, x2 - 4} ___A(x1,x2) = max{18, x1 + 14, x2} mark_A(x1) = max{3, x1} a_____A(x1,x2) = max{18, x1 + 14, x2} mark#_A(x1) = max{0, x1 - 4} nil_A = 4 U11_A(x1) = max{1, x1} U22_A(x1) = max{3, x1} U42_A(x1) = max{14, x1} U52_A(x1) = max{5, x1} a__U11_A(x1) = max{1, x1} tt_A = 0 a__U21_A(x1,x2) = max{x1 - 11, x2 + 14} a__U22_A(x1) = max{3, x1} a__isList_A(x1) = x1 + 14 a__U31_A(x1) = max{8, x1 + 4} a__U41_A(x1,x2) = max{x1, x2 + 14} a__U42_A(x1) = max{14, x1} a__isNeList_A(x1) = x1 + 14 a__U51_A(x1,x2) = max{x1 + 4, x2 + 14} a__U52_A(x1) = max{5, x1} a__U61_A(x1) = max{7, x1 + 4} a__U71_A(x1,x2) = x2 + 13 a__U72_A(x1) = max{0, x1 - 7} a__isPal_A(x1) = x1 + 5 a__U81_A(x1) = max{0, x1 - 3} a__isQid_A(x1) = 3 a__isNePal_A(x1) = max{7, x1} a_A = 2 e_A = 4 i_A = 2 o_A = 2 u_A = 4 U21_A(x1,x2) = max{x1 - 11, x2 + 14} isList_A(x1) = x1 + 14 U31_A(x1) = max{8, x1 + 4} U41_A(x1,x2) = max{x1, x2 + 14} isNeList_A(x1) = x1 + 14 U51_A(x1,x2) = max{x1 + 4, x2 + 14} U61_A(x1) = max{7, x1 + 4} U71_A(x1,x2) = x2 + 13 U72_A(x1) = max{0, x1 - 7} isPal_A(x1) = x1 + 5 U81_A(x1) = max{0, x1 - 3} isQid_A(x1) = 2 isNePal_A(x1) = max{7, x1} precedence: mark = a____ = nil = a__U31 = a__U72 = a__isPal = a__U81 = a__isNePal = U31 = isPal = isNePal > __ = a__isNeList = U81 > a__U41 > a__U42 > U41 > U42 = a__U51 > U72 > U51 > isNeList > tt = a__isQid = e > a__U71 = o = U71 = isQid > U11 = U22 = U52 = a__U11 = a__U21 = a__U22 = a__isList = a__U52 = a = i = u = U21 > isList > a____# = mark# = a__U61 = U61 partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(nil) = [] pi(U11) = [] pi(U22) = [] pi(U42) = [] pi(U52) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [1] pi(a__U71) = [2] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U21) = [] pi(isList) = [1] pi(U31) = [] pi(U41) = [] pi(isNeList) = [] pi(U51) = [2] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 6 ___A(x1,x2) = 23 mark_A(x1) = 23 a_____A(x1,x2) = 23 mark#_A(x1) = 6 nil_A = 0 U11_A(x1) = 1 U22_A(x1) = 6 U42_A(x1) = 6 U52_A(x1) = 6 a__U11_A(x1) = 23 tt_A = 21 a__U21_A(x1,x2) = 23 a__U22_A(x1) = 23 a__isList_A(x1) = 23 a__U31_A(x1) = 23 a__U41_A(x1,x2) = 23 a__U42_A(x1) = 23 a__isNeList_A(x1) = 23 a__U51_A(x1,x2) = 20 a__U52_A(x1) = 21 a__U61_A(x1) = 23 a__U71_A(x1,x2) = 23 a__U72_A(x1) = 23 a__isPal_A(x1) = 23 a__U81_A(x1) = 23 a__isQid_A(x1) = 23 a__isNePal_A(x1) = 23 a_A = 0 e_A = 0 i_A = 20 o_A = 0 u_A = 22 U21_A(x1,x2) = 22 isList_A(x1) = 23 U31_A(x1) = 22 U41_A(x1,x2) = 4 isNeList_A(x1) = 23 U51_A(x1,x2) = 1 U61_A(x1) = 22 U71_A(x1,x2) = 22 U72_A(x1) = 22 isPal_A(x1) = 23 U81_A(x1) = 22 isQid_A(x1) = 1 isNePal_A(x1) = 22 precedence: U22 > mark = a____ > nil = U11 = a__U31 = a__isNeList > a__U61 > __ = U42 = a__U21 = a__isList = a__U41 = a__U42 = a__U71 = a__U72 = a__isPal = a__isQid = a__isNePal = i = o = U21 = isList > a__U81 > a__U11 = tt = a__U22 = a__U51 = a__U52 = a = e = u = U31 = U41 = isNeList = U51 = U61 = U71 = U72 = isQid = isNePal > isPal > a____# = mark# = U52 = U81 partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(nil) = [] pi(U11) = [] pi(U22) = [] pi(U42) = [] pi(U52) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U21) = [] pi(isList) = [] pi(U31) = [] pi(U41) = [] pi(isNeList) = [] pi(U51) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p3: a____#(__(X,Y),Z) -> mark#(Z) p4: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p5: a____#(nil(),X) -> mark#(X) p6: mark#(__(X1,X2)) -> mark#(X2) p7: mark#(U11(X)) -> mark#(X) p8: mark#(U22(X)) -> mark#(X) p9: mark#(U42(X)) -> mark#(X) p10: mark#(U52(X)) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(U52(X)) -> mark#(X) p4: mark#(U42(X)) -> mark#(X) p5: mark#(U22(X)) -> mark#(X) p6: mark#(U11(X)) -> mark#(X) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p9: a____#(__(X,Y),Z) -> mark#(Z) p10: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (10,0) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (9,11) mark_A(x1) = ((0,1),(0,1)) x1 + (33,0) a_____A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (22,11) nil_A() = (1,11) mark#_A(x1) = ((0,1),(0,0)) x1 U52_A(x1) = ((0,0),(0,1)) x1 + (1,1) U42_A(x1) = ((0,0),(0,1)) x1 + (1,1) U22_A(x1) = ((0,0),(0,1)) x1 + (1,1) U11_A(x1) = ((0,0),(0,1)) x1 + (1,1) a__U11_A(x1) = ((0,0),(0,1)) x1 + (4,1) tt_A() = (0,0) a__U21_A(x1,x2) = ((0,0),(0,1)) x2 + (3,12) a__U22_A(x1) = ((0,0),(0,1)) x1 + (2,1) a__isList_A(x1) = ((0,0),(0,1)) x1 + (4,2) a__U31_A(x1) = (2,1) a__U41_A(x1,x2) = x1 + ((0,0),(0,1)) x2 + (3,10) a__U42_A(x1) = ((0,0),(0,1)) x1 + (2,1) a__isNeList_A(x1) = ((0,0),(0,1)) x1 + (8,1) a__U51_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (5,11) a__U52_A(x1) = ((0,0),(0,1)) x1 + (2,1) a__U61_A(x1) = (8,1) a__U71_A(x1,x2) = ((0,0),(0,1)) x1 + (3,1) a__U72_A(x1) = (2,1) a__isPal_A(x1) = ((1,0),(1,0)) x1 + (8,1) a__U81_A(x1) = (7,1) a__isQid_A(x1) = (8,1) a__isNePal_A(x1) = (9,2) a_A() = (1,1) e_A() = (1,1) i_A() = (1,1) o_A() = (1,1) u_A() = (1,1) U21_A(x1,x2) = ((0,0),(0,1)) x2 + (0,12) isList_A(x1) = ((0,0),(0,1)) x1 + (0,2) U31_A(x1) = (1,1) U41_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (0,10) isNeList_A(x1) = ((0,0),(0,1)) x1 + (1,1) U51_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (1,11) U61_A(x1) = (1,1) U71_A(x1,x2) = ((0,0),(0,1)) x1 + (1,1) U72_A(x1) = (1,1) isPal_A(x1) = ((0,0),(1,0)) x1 + (1,1) U81_A(x1) = (1,1) isQid_A(x1) = (8,1) isNePal_A(x1) = (1,2) precedence: a__U31 > a__isNeList > mark = a____ = a__U21 = a__isNePal = isNePal > a__isList > isList = isNeList > U21 > i > __ > a__U22 > U22 > a__U71 > a__U72 = U72 > a__U51 > U51 > a__U61 > U61 > U71 > a__U81 > a__U41 = a__isPal > a__U11 = tt = isPal > u > U41 > U11 > a__U42 > U42 = U31 > o > a__U52 > U52 = U81 > a____# > a > nil > mark# = a__isQid = e = isQid partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U52) = [] pi(U42) = [] pi(U22) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U21) = [] pi(isList) = [] pi(U31) = [] pi(U41) = [] pi(isNeList) = [] pi(U51) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = (8,2) ___A(x1,x2) = (5,1) mark_A(x1) = (7,1) a_____A(x1,x2) = (7,1) nil_A() = (6,1) mark#_A(x1) = (0,0) U52_A(x1) = (0,0) U42_A(x1) = (0,0) U22_A(x1) = (4,0) U11_A(x1) = (1,0) a__U11_A(x1) = (8,1) tt_A() = (2,0) a__U21_A(x1,x2) = (4,0) a__U22_A(x1) = (3,0) a__isList_A(x1) = (9,1) a__U31_A(x1) = (5,1) a__U41_A(x1,x2) = (4,1) a__U42_A(x1) = (1,1) a__isNeList_A(x1) = (4,1) a__U51_A(x1,x2) = (3,1) a__U52_A(x1) = (0,0) a__U61_A(x1) = (0,0) a__U71_A(x1,x2) = (2,1) a__U72_A(x1) = (0,0) a__isPal_A(x1) = (0,0) a__U81_A(x1) = (6,1) a__isQid_A(x1) = (5,0) a__isNePal_A(x1) = (6,1) a_A() = (3,0) e_A() = (3,0) i_A() = (3,0) o_A() = (3,0) u_A() = (1,0) U21_A(x1,x2) = (0,0) isList_A(x1) = (9,0) U31_A(x1) = (1,0) U41_A(x1,x2) = (0,0) isNeList_A(x1) = (0,0) U51_A(x1,x2) = (2,1) U61_A(x1) = (0,0) U71_A(x1,x2) = (1,0) U72_A(x1) = (0,0) isPal_A(x1) = (0,0) U81_A(x1) = (1,0) isQid_A(x1) = (1,0) isNePal_A(x1) = (1,0) precedence: i > a__U52 > a__isNeList = a > isNeList > isNePal > U52 > mark = a____ = U11 = a__U51 > U42 = a__U42 > U41 > u > a__U22 = a__U61 = a__isNePal > U51 > o > tt = a__isQid = e > a__isPal = a__U81 > U61 = U81 > a__isList > a____# > __ = nil = mark# = U22 = a__U11 = a__U21 = a__U31 = a__U41 = a__U71 = a__U72 = U21 = isList = U31 = U71 = U72 = isPal = isQid partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(U52) = [] pi(U42) = [] pi(U22) = [] pi(U11) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U21) = [] pi(isList) = [] pi(U31) = [] pi(U41) = [] pi(isNeList) = [] pi(U51) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p2, p8, p9 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: mark#(U52(X)) -> mark#(X) p3: mark#(U42(X)) -> mark#(X) p4: mark#(U22(X)) -> mark#(X) p5: mark#(U11(X)) -> mark#(X) p6: mark#(__(X1,X2)) -> mark#(X2) p7: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1, p7} {p2, p3, p4, p5, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = max{1, x1 - 16} ___A(x1,x2) = max{x1 + 19, x2} mark_A(x1) = x1 a_____A(x1,x2) = max{x1 + 19, x2} a__U11_A(x1) = 11 tt_A = 10 a__U21_A(x1,x2) = max{x1 + 2, x2 + 1} a__U22_A(x1) = 11 a__isList_A(x1) = max{16, x1 + 1} a__U31_A(x1) = x1 + 3 a__U41_A(x1,x2) = x2 + 15 a__U42_A(x1) = max{11, x1 - 1} a__isNeList_A(x1) = x1 + 16 a__U51_A(x1,x2) = max{x1 + 8, x2 + 4} a__U52_A(x1) = x1 + 2 a__U61_A(x1) = 11 a__U71_A(x1,x2) = max{x1 + 3, x2 + 31} a__U72_A(x1) = x1 + 17 a__isPal_A(x1) = x1 + 13 a__U81_A(x1) = x1 nil_A = 0 a__isQid_A(x1) = 12 a__isNePal_A(x1) = x1 + 12 a_A = 15 e_A = 15 i_A = 15 o_A = 15 u_A = 15 U11_A(x1) = 11 U21_A(x1,x2) = max{x1 + 2, x2 + 1} U22_A(x1) = 11 isList_A(x1) = max{16, x1 + 1} U31_A(x1) = x1 + 3 U41_A(x1,x2) = x2 + 15 U42_A(x1) = max{11, x1 - 1} isNeList_A(x1) = x1 + 16 U51_A(x1,x2) = max{x1 + 8, x2 + 4} U52_A(x1) = x1 + 2 U61_A(x1) = 11 U71_A(x1,x2) = max{x1 + 3, x2 + 31} U72_A(x1) = x1 + 17 isPal_A(x1) = x1 + 13 U81_A(x1) = x1 isQid_A(x1) = 12 isNePal_A(x1) = x1 + 12 precedence: mark = a____ > a__U31 > a__U51 = a__U52 > __ > a__U61 = U51 = U52 > a__isNeList > a__U81 > a__U41 = a__U42 > i = U81 > a__isList > a__U21 = U21 > a > a__isNePal > a__U71 = U41 > e > a__U11 > isList > u = U42 = U61 > a__U22 = U11 > a__U72 > a__isPal = isPal > a____# = nil = a__isQid = o = U71 > isNeList > U31 = U72 > tt = U22 = isNePal > isQid partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [2] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [1] pi(a__U41) = [2] pi(a__U42) = [] pi(a__isNeList) = [1] pi(a__U51) = [1] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [1] pi(a__U81) = [] pi(nil) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(isList) = [] pi(U31) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [1] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a____#_A(x1,x2) = 3 ___A(x1,x2) = 15 mark_A(x1) = 13 a_____A(x1,x2) = 13 a__U11_A(x1) = 13 tt_A = 1 a__U21_A(x1,x2) = max{13, x2 + 5} a__U22_A(x1) = 22 a__isList_A(x1) = 13 a__U31_A(x1) = 13 a__U41_A(x1,x2) = 11 a__U42_A(x1) = 10 a__isNeList_A(x1) = max{14, x1 - 3} a__U51_A(x1,x2) = 13 a__U52_A(x1) = 13 a__U61_A(x1) = 13 a__U71_A(x1,x2) = 14 a__U72_A(x1) = 13 a__isPal_A(x1) = max{13, x1 + 2} a__U81_A(x1) = 14 nil_A = 0 a__isQid_A(x1) = 13 a__isNePal_A(x1) = 15 a_A = 14 e_A = 14 i_A = 14 o_A = 14 u_A = 14 U11_A(x1) = 12 U21_A(x1,x2) = 4 U22_A(x1) = 12 isList_A(x1) = 12 U31_A(x1) = 12 U41_A(x1,x2) = 9 U42_A(x1) = 9 isNeList_A(x1) = 1 U51_A(x1,x2) = 3 U52_A(x1) = 12 U61_A(x1) = 12 U71_A(x1,x2) = 6 U72_A(x1) = 9 isPal_A(x1) = 12 U81_A(x1) = 12 isQid_A(x1) = 12 isNePal_A(x1) = 14 precedence: a____# = __ > mark = a____ = a__U21 = a__isList = isNePal > a__U31 = a__U41 = a__isNeList > a__U11 = tt = a__U22 = a__U42 = a__U51 = a__U52 = a__U61 = a__U72 = a__isPal = a__U81 = nil = a__isQid = a__isNePal = a = e = i = o = u = U11 = U21 = U22 = isList = U31 = U41 = U42 = U51 = U52 = isPal = U81 > a__U71 = isNeList = U61 = U71 = U72 = isQid partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [1] pi(a__U81) = [] pi(nil) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(isList) = [] pi(U31) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (7,19) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (6,18) mark_A(x1) = ((0,1),(0,1)) x1 a_____A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (7,18) nil_A() = (0,0) a__U11_A(x1) = (2,13) tt_A() = (2,13) a__U21_A(x1,x2) = ((0,1),(0,1)) x1 a__U22_A(x1) = (3,13) a__isList_A(x1) = ((0,1),(0,1)) x1 + (5,14) a__U31_A(x1) = ((0,1),(0,1)) x1 a__U41_A(x1,x2) = ((0,0),(0,1)) x2 + (15,16) a__U42_A(x1) = (14,14) a__isNeList_A(x1) = ((0,1),(0,1)) x1 a__U51_A(x1,x2) = ((0,0),(0,1)) x2 + (4,18) a__U52_A(x1) = ((0,0),(0,1)) x1 + (3,4) a__U61_A(x1) = ((0,0),(0,1)) x1 + (3,3) a__U71_A(x1,x2) = ((0,0),(0,1)) x2 + (7,14) a__U72_A(x1) = (6,14) a__isPal_A(x1) = ((1,1),(1,1)) x1 + (12,13) a__U81_A(x1) = ((0,1),(0,1)) x1 + (2,3) a__isQid_A(x1) = ((0,1),(0,1)) x1 a__isNePal_A(x1) = ((0,0),(1,1)) x1 + (8,9) a_A() = (1,13) e_A() = (3,13) i_A() = (3,13) o_A() = (3,13) u_A() = (2,13) U11_A(x1) = (2,13) U21_A(x1,x2) = ((0,1),(0,1)) x1 U22_A(x1) = (2,13) isList_A(x1) = ((0,1),(0,1)) x1 + (5,14) U31_A(x1) = ((0,0),(0,1)) x1 U41_A(x1,x2) = ((0,0),(0,1)) x2 + (14,16) U42_A(x1) = (1,14) isNeList_A(x1) = ((0,1),(0,1)) x1 U51_A(x1,x2) = ((0,0),(0,1)) x2 + (1,18) U52_A(x1) = ((0,0),(0,1)) x1 + (3,4) U61_A(x1) = ((0,0),(0,1)) x1 + (3,3) U71_A(x1,x2) = ((0,0),(0,1)) x2 + (1,14) U72_A(x1) = (1,14) isPal_A(x1) = ((0,0),(1,1)) x1 + (1,13) U81_A(x1) = ((0,0),(0,1)) x1 + (1,3) isQid_A(x1) = ((0,0),(0,1)) x1 isNePal_A(x1) = ((0,0),(1,1)) x1 + (8,9) precedence: mark = a____ > a__isNeList > isNeList > a__isNePal > a__U61 > U61 > a__isList > a__U31 > U31 > a__U41 > U41 > a__U21 > a__U51 = a__U52 > U52 > U51 > a__U22 > a__U11 > a__U42 = a__isPal > a__U81 > U22 > u > a__U71 > __ > a__U72 = a__isQid > tt > U42 > isList > nil > e > i > U11 > U72 > a____# = a = o = U21 = U71 = isPal = U81 = isQid = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(isList) = [] pi(U31) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = (0,0) ___A(x1,x2) = (6,0) mark_A(x1) = (6,1) a_____A(x1,x2) = (6,1) nil_A() = (0,1) a__U11_A(x1) = (0,0) tt_A() = (0,0) a__U21_A(x1,x2) = (2,0) a__U22_A(x1) = (1,0) a__isList_A(x1) = (5,0) a__U31_A(x1) = (3,0) a__U41_A(x1,x2) = (3,0) a__U42_A(x1) = (2,0) a__isNeList_A(x1) = (4,0) a__U51_A(x1,x2) = (0,0) a__U52_A(x1) = (0,0) a__U61_A(x1) = (1,1) a__U71_A(x1,x2) = (2,0) a__U72_A(x1) = (1,0) a__isPal_A(x1) = (5,1) a__U81_A(x1) = (4,1) a__isQid_A(x1) = (0,0) a__isNePal_A(x1) = (3,1) a_A() = (0,1) e_A() = (0,1) i_A() = (0,1) o_A() = (0,1) u_A() = (0,1) U11_A(x1) = (0,0) U21_A(x1,x2) = (0,0) U22_A(x1) = (0,0) isList_A(x1) = (5,0) U31_A(x1) = (2,0) U41_A(x1,x2) = (3,0) U42_A(x1) = (1,0) isNeList_A(x1) = (4,0) U51_A(x1,x2) = (0,0) U52_A(x1) = (0,0) U61_A(x1) = (7,1) U71_A(x1,x2) = (1,0) U72_A(x1) = (0,0) isPal_A(x1) = (1,0) U81_A(x1) = (3,0) isQid_A(x1) = (0,0) isNePal_A(x1) = (0,1) precedence: a__U22 = U22 > e > a__U11 = a__U71 = U11 > nil > a__isList > a__isNeList = isNeList > a__U51 = a__U52 > __ = mark = a____ = a__U21 = a__U41 = a__U42 = a__isQid = isList = U31 = U42 = U51 = U52 = U71 > a__U61 > U61 > isQid > tt = a__U81 = a = i = o = u = U81 > a____# = a__U31 = a__U72 = a__isPal = a__isNePal = U21 = U41 = U72 = isPal = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(a__U11) = [] pi(tt) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__isList) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U42) = [] pi(a__isNeList) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U71) = [] pi(a__U72) = [] pi(a__isPal) = [] pi(a__U81) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U11) = [] pi(U21) = [] pi(U22) = [] pi(isList) = [] pi(U31) = [] pi(U41) = [] pi(U42) = [] pi(isNeList) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U71) = [] pi(U72) = [] pi(isPal) = [] pi(U81) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U52(X)) -> mark#(X) p2: mark#(__(X1,X2)) -> mark#(X2) p3: mark#(U11(X)) -> mark#(X) p4: mark#(U22(X)) -> mark#(X) p5: mark#(U42(X)) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = max{5, x1 + 2} U52_A(x1) = max{1, x1} ___A(x1,x2) = x2 + 3 U11_A(x1) = max{1, x1} U22_A(x1) = max{1, x1} U42_A(x1) = max{3, x1} precedence: mark# = U52 = __ = U11 = U22 = U42 partial status: pi(mark#) = [1] pi(U52) = [1] pi(__) = [2] pi(U11) = [1] pi(U22) = [1] pi(U42) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 2 U52_A(x1) = x1 ___A(x1,x2) = x2 U11_A(x1) = x1 U22_A(x1) = x1 U42_A(x1) = x1 precedence: mark# = U52 = __ = U11 = U22 = U42 partial status: pi(mark#) = [1] pi(U52) = [1] pi(__) = [2] pi(U11) = [1] pi(U22) = [1] pi(U42) = [1] The next rules are strictly ordered: p1, p2, p3, p4, p5 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U21#(tt(),V2) -> a__isList#(V2) p2: a__isList#(__(V1,V2)) -> a__isList#(V1) p3: a__isList#(__(V1,V2)) -> a__U21#(a__isList(V1),V2) p4: a__isList#(V) -> a__isNeList#(V) p5: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p6: a__isNeList#(__(V1,V2)) -> a__U51#(a__isNeList(V1),V2) p7: a__U51#(tt(),V2) -> a__isList#(V2) p8: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p9: a__isNeList#(__(V1,V2)) -> a__U41#(a__isList(V1),V2) p10: a__U41#(tt(),V2) -> a__isNeList#(V2) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The set of usable rules consists of r4, r5, r6, r7, r8, r9, r10, r11, r16, r17, r18, r19, r20, r21, r26, r27, r28, r29, r30, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r72 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a__U21#_A(x1,x2) = max{x1 + 21, x2 + 26} tt_A = 3 a__isList#_A(x1) = max{25, x1 + 19} ___A(x1,x2) = max{x1 + 19, x2 + 9} a__isList_A(x1) = x1 + 14 a__isNeList#_A(x1) = x1 + 15 a__U51#_A(x1,x2) = max{x1 + 22, x2 + 23} a__isNeList_A(x1) = max{10, x1 + 7} a__U41#_A(x1,x2) = max{34, x1 + 11, x2 + 24} a__U22_A(x1) = x1 + 9 a__U42_A(x1) = max{20, x1 + 1} a__U52_A(x1) = max{2, x1 + 1} U22_A(x1) = max{8, x1 - 1} U42_A(x1) = max{2, x1 - 1} U52_A(x1) = 0 a__U11_A(x1) = max{9, x1 + 3} a__U21_A(x1,x2) = max{33, x1 + 12, x2 + 23} a__U31_A(x1) = max{5, x1 + 4} a__U41_A(x1,x2) = max{20, x1 + 9, x2 + 15} a__U51_A(x1,x2) = max{26, x1 + 13, x2 + 16} a__isQid_A(x1) = max{2, x1 + 1} a_A = 4 e_A = 4 i_A = 4 o_A = 4 u_A = 4 U11_A(x1) = max{2, x1 + 1} U21_A(x1,x2) = x2 + 1 U31_A(x1) = x1 U41_A(x1,x2) = max{x1 + 1, x2 + 1} U51_A(x1,x2) = max{x1 + 13, x2 + 16} isQid_A(x1) = x1 + 1 nil_A = 0 isList_A(x1) = 7 isNeList_A(x1) = max{10, x1 + 1} precedence: a__U21# = a__isNeList# > a__U52 > a__isNeList > tt = a__isList# = __ = a__isList = a__U51# = a__U41# = U52 = a__U11 = a__U31 = a = i = u = isList > U22 = a__U21 = U21 > a__U22 = U42 = a__U51 = a__isQid = e = U41 = nil > o = U31 = isQid > a__U41 = isNeList > a__U42 > U11 = U51 partial status: pi(a__U21#) = [1, 2] pi(tt) = [] pi(a__isList#) = [] pi(__) = [1, 2] pi(a__isList) = [] pi(a__isNeList#) = [1] pi(a__U51#) = [] pi(a__isNeList) = [1] pi(a__U41#) = [2] pi(a__U22) = [] pi(a__U42) = [1] pi(a__U52) = [] pi(U22) = [] pi(U42) = [] pi(U52) = [] pi(a__U11) = [1] pi(a__U21) = [] pi(a__U31) = [] pi(a__U41) = [1, 2] pi(a__U51) = [] pi(a__isQid) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U11) = [1] pi(U21) = [] pi(U31) = [1] pi(U41) = [] pi(U51) = [1, 2] pi(isQid) = [] pi(nil) = [] pi(isList) = [] pi(isNeList) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: a__U21#_A(x1,x2) = max{x1 - 1, x2 + 21} tt_A = 34 a__isList#_A(x1) = 20 ___A(x1,x2) = max{x1 + 7, x2 + 3} a__isList_A(x1) = 31 a__isNeList#_A(x1) = x1 + 9 a__U51#_A(x1,x2) = 21 a__isNeList_A(x1) = x1 + 21 a__U41#_A(x1,x2) = x2 + 9 a__U22_A(x1) = 33 a__U42_A(x1) = max{33, x1 + 16} a__U52_A(x1) = 29 U22_A(x1) = 34 U42_A(x1) = 34 U52_A(x1) = 30 a__U11_A(x1) = max{33, x1 + 15} a__U21_A(x1,x2) = 32 a__U31_A(x1) = 35 a__U41_A(x1,x2) = max{29, x1 - 2, x2 + 25} a__U51_A(x1,x2) = 29 a__isQid_A(x1) = x1 + 24 a_A = 0 e_A = 0 i_A = 0 o_A = 10 u_A = 0 U11_A(x1) = max{34, x1 + 16} U21_A(x1,x2) = 33 U31_A(x1) = max{36, x1 - 1} U41_A(x1,x2) = 30 U51_A(x1,x2) = max{30, x1 - 14, x2 - 8} isQid_A(x1) = 23 nil_A = 33 isList_A(x1) = 31 isNeList_A(x1) = 22 precedence: a__U21# = tt = a__isList# = __ = a__isList = a__isNeList > a__isNeList# = a__U51# = a__U41# = a__U22 = a__U42 = a__U52 = U22 = U42 = U52 = a__U11 = a__U21 = a__U31 = a__U41 = a__U51 = a__isQid = a = e = i = o = u = U11 = U21 = U31 = U41 = U51 = isQid = nil = isList = isNeList partial status: pi(a__U21#) = [] pi(tt) = [] pi(a__isList#) = [] pi(__) = [2] pi(a__isList) = [] pi(a__isNeList#) = [] pi(a__U51#) = [] pi(a__isNeList) = [1] pi(a__U41#) = [2] pi(a__U22) = [] pi(a__U42) = [1] pi(a__U52) = [] pi(U22) = [] pi(U42) = [] pi(U52) = [] pi(a__U11) = [1] pi(a__U21) = [] pi(a__U31) = [] pi(a__U41) = [] pi(a__U51) = [] pi(a__isQid) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(U51) = [] pi(isQid) = [] pi(nil) = [] pi(isList) = [] pi(isNeList) = [] The next rules are strictly ordered: p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U71#(tt(),P) -> a__isPal#(P) p2: a__isPal#(V) -> a__isNePal#(V) p3: a__isNePal#(__(I,__(P,I))) -> a__U71#(a__isQid(I),P) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__U11(tt()) -> tt() r5: a__U21(tt(),V2) -> a__U22(a__isList(V2)) r6: a__U22(tt()) -> tt() r7: a__U31(tt()) -> tt() r8: a__U41(tt(),V2) -> a__U42(a__isNeList(V2)) r9: a__U42(tt()) -> tt() r10: a__U51(tt(),V2) -> a__U52(a__isList(V2)) r11: a__U52(tt()) -> tt() r12: a__U61(tt()) -> tt() r13: a__U71(tt(),P) -> a__U72(a__isPal(P)) r14: a__U72(tt()) -> tt() r15: a__U81(tt()) -> tt() r16: a__isList(V) -> a__U11(a__isNeList(V)) r17: a__isList(nil()) -> tt() r18: a__isList(__(V1,V2)) -> a__U21(a__isList(V1),V2) r19: a__isNeList(V) -> a__U31(a__isQid(V)) r20: a__isNeList(__(V1,V2)) -> a__U41(a__isList(V1),V2) r21: a__isNeList(__(V1,V2)) -> a__U51(a__isNeList(V1),V2) r22: a__isNePal(V) -> a__U61(a__isQid(V)) r23: a__isNePal(__(I,__(P,I))) -> a__U71(a__isQid(I),P) r24: a__isPal(V) -> a__U81(a__isNePal(V)) r25: a__isPal(nil()) -> tt() r26: a__isQid(a()) -> tt() r27: a__isQid(e()) -> tt() r28: a__isQid(i()) -> tt() r29: a__isQid(o()) -> tt() r30: a__isQid(u()) -> tt() r31: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r32: mark(U11(X)) -> a__U11(mark(X)) r33: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r34: mark(U22(X)) -> a__U22(mark(X)) r35: mark(isList(X)) -> a__isList(X) r36: mark(U31(X)) -> a__U31(mark(X)) r37: mark(U41(X1,X2)) -> a__U41(mark(X1),X2) r38: mark(U42(X)) -> a__U42(mark(X)) r39: mark(isNeList(X)) -> a__isNeList(X) r40: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r41: mark(U52(X)) -> a__U52(mark(X)) r42: mark(U61(X)) -> a__U61(mark(X)) r43: mark(U71(X1,X2)) -> a__U71(mark(X1),X2) r44: mark(U72(X)) -> a__U72(mark(X)) r45: mark(isPal(X)) -> a__isPal(X) r46: mark(U81(X)) -> a__U81(mark(X)) r47: mark(isQid(X)) -> a__isQid(X) r48: mark(isNePal(X)) -> a__isNePal(X) r49: mark(nil()) -> nil() r50: mark(tt()) -> tt() r51: mark(a()) -> a() r52: mark(e()) -> e() r53: mark(i()) -> i() r54: mark(o()) -> o() r55: mark(u()) -> u() r56: a____(X1,X2) -> __(X1,X2) r57: a__U11(X) -> U11(X) r58: a__U21(X1,X2) -> U21(X1,X2) r59: a__U22(X) -> U22(X) r60: a__isList(X) -> isList(X) r61: a__U31(X) -> U31(X) r62: a__U41(X1,X2) -> U41(X1,X2) r63: a__U42(X) -> U42(X) r64: a__isNeList(X) -> isNeList(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X) -> U52(X) r67: a__U61(X) -> U61(X) r68: a__U71(X1,X2) -> U71(X1,X2) r69: a__U72(X) -> U72(X) r70: a__isPal(X) -> isPal(X) r71: a__U81(X) -> U81(X) r72: a__isQid(X) -> isQid(X) r73: a__isNePal(X) -> isNePal(X) The set of usable rules consists of r26, r27, r28, r29, r30, r72 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: a__U71#_A(x1,x2) = max{11, x1 + 4, x2 + 7} tt_A = 8 a__isPal#_A(x1) = x1 + 6 a__isNePal#_A(x1) = x1 + 6 ___A(x1,x2) = max{x1 + 10, x2 + 10} a__isQid_A(x1) = x1 + 9 a_A = 0 e_A = 0 i_A = 0 o_A = 9 u_A = 7 isQid_A(x1) = max{8, x1 + 7} precedence: a__U71# = tt = a__isPal# = a__isNePal# = __ = a__isQid = e = i = o = u = isQid > a partial status: pi(a__U71#) = [1, 2] pi(tt) = [] pi(a__isPal#) = [1] pi(a__isNePal#) = [1] pi(__) = [1, 2] pi(a__isQid) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isQid) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: a__U71#_A(x1,x2) = max{x1 - 3, x2 + 9} tt_A = 11 a__isPal#_A(x1) = x1 + 7 a__isNePal#_A(x1) = x1 + 6 ___A(x1,x2) = max{x1 + 2, x2 + 1} a__isQid_A(x1) = x1 + 11 a_A = 1 e_A = 1 i_A = 1 o_A = 1 u_A = 1 isQid_A(x1) = x1 + 12 precedence: a__U71# = tt = a__isPal# = a__isNePal# = __ > a__isQid = a = e = i = o = u = isQid partial status: pi(a__U71#) = [] pi(tt) = [] pi(a__isPal#) = [1] pi(a__isNePal#) = [1] pi(__) = [2] pi(a__isQid) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isQid) = [] The next rules are strictly ordered: p1, p2, p3 We remove them from the problem. Then no dependency pair remains.