YES We show the termination of the TRS R: __(__(X,Y),Z) -> __(X,__(Y,Z)) __(X,nil()) -> X __(nil(),X) -> X U11(tt(),V) -> U12(isNeList(activate(V))) U12(tt()) -> tt() U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) U22(tt(),V2) -> U23(isList(activate(V2))) U23(tt()) -> tt() U31(tt(),V) -> U32(isQid(activate(V))) U32(tt()) -> tt() U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) U42(tt(),V2) -> U43(isNeList(activate(V2))) U43(tt()) -> tt() U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) U52(tt(),V2) -> U53(isList(activate(V2))) U53(tt()) -> tt() U61(tt(),V) -> U62(isQid(activate(V))) U62(tt()) -> tt() U71(tt(),V) -> U72(isNePal(activate(V))) U72(tt()) -> tt() and(tt(),X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)),activate(V)) isList(n__nil()) -> tt() isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) isPal(n__nil()) -> tt() isPalListKind(n__a()) -> tt() isPalListKind(n__e()) -> tt() isPalListKind(n__i()) -> tt() isPalListKind(n__nil()) -> tt() isPalListKind(n__o()) -> tt() isPalListKind(n__u()) -> tt() isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) isQid(n__a()) -> tt() isQid(n__e()) -> tt() isQid(n__i()) -> tt() isQid(n__o()) -> tt() isQid(n__u()) -> tt() nil() -> n__nil() __(X1,X2) -> n____(X1,X2) isPalListKind(X) -> n__isPalListKind(X) and(X1,X2) -> n__and(X1,X2) isPal(X) -> n__isPal(X) a() -> n__a() e() -> n__e() i() -> n__i() o() -> n__o() u() -> n__u() activate(n__nil()) -> nil() activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) activate(n__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isPal(X)) -> isPal(X) activate(n__a()) -> a() activate(n__e()) -> e() activate(n__i()) -> i() activate(n__o()) -> o() activate(n__u()) -> u() activate(X) -> X -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: __#(__(X,Y),Z) -> __#(X,__(Y,Z)) p2: __#(__(X,Y),Z) -> __#(Y,Z) p3: U11#(tt(),V) -> U12#(isNeList(activate(V))) p4: U11#(tt(),V) -> isNeList#(activate(V)) p5: U11#(tt(),V) -> activate#(V) p6: U21#(tt(),V1,V2) -> U22#(isList(activate(V1)),activate(V2)) p7: U21#(tt(),V1,V2) -> isList#(activate(V1)) p8: U21#(tt(),V1,V2) -> activate#(V1) p9: U21#(tt(),V1,V2) -> activate#(V2) p10: U22#(tt(),V2) -> U23#(isList(activate(V2))) p11: U22#(tt(),V2) -> isList#(activate(V2)) p12: U22#(tt(),V2) -> activate#(V2) p13: U31#(tt(),V) -> U32#(isQid(activate(V))) p14: U31#(tt(),V) -> isQid#(activate(V)) p15: U31#(tt(),V) -> activate#(V) p16: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p17: U41#(tt(),V1,V2) -> isList#(activate(V1)) p18: U41#(tt(),V1,V2) -> activate#(V1) p19: U41#(tt(),V1,V2) -> activate#(V2) p20: U42#(tt(),V2) -> U43#(isNeList(activate(V2))) p21: U42#(tt(),V2) -> isNeList#(activate(V2)) p22: U42#(tt(),V2) -> activate#(V2) p23: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p24: U51#(tt(),V1,V2) -> isNeList#(activate(V1)) p25: U51#(tt(),V1,V2) -> activate#(V1) p26: U51#(tt(),V1,V2) -> activate#(V2) p27: U52#(tt(),V2) -> U53#(isList(activate(V2))) p28: U52#(tt(),V2) -> isList#(activate(V2)) p29: U52#(tt(),V2) -> activate#(V2) p30: U61#(tt(),V) -> U62#(isQid(activate(V))) p31: U61#(tt(),V) -> isQid#(activate(V)) p32: U61#(tt(),V) -> activate#(V) p33: U71#(tt(),V) -> U72#(isNePal(activate(V))) p34: U71#(tt(),V) -> isNePal#(activate(V)) p35: U71#(tt(),V) -> activate#(V) p36: and#(tt(),X) -> activate#(X) p37: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p38: isList#(V) -> isPalListKind#(activate(V)) p39: isList#(V) -> activate#(V) p40: isList#(n____(V1,V2)) -> U21#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p41: isList#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p42: isList#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p43: isList#(n____(V1,V2)) -> activate#(V1) p44: isList#(n____(V1,V2)) -> activate#(V2) p45: isNeList#(V) -> U31#(isPalListKind(activate(V)),activate(V)) p46: isNeList#(V) -> isPalListKind#(activate(V)) p47: isNeList#(V) -> activate#(V) p48: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p49: isNeList#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p50: isNeList#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p51: isNeList#(n____(V1,V2)) -> activate#(V1) p52: isNeList#(n____(V1,V2)) -> activate#(V2) p53: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p54: isNeList#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p55: isNeList#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p56: isNeList#(n____(V1,V2)) -> activate#(V1) p57: isNeList#(n____(V1,V2)) -> activate#(V2) p58: isNePal#(V) -> U61#(isPalListKind(activate(V)),activate(V)) p59: isNePal#(V) -> isPalListKind#(activate(V)) p60: isNePal#(V) -> activate#(V) p61: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p62: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p63: isNePal#(n____(I,n____(P,I))) -> isQid#(activate(I)) p64: isNePal#(n____(I,n____(P,I))) -> activate#(I) p65: isNePal#(n____(I,n____(P,I))) -> activate#(P) p66: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p67: isPal#(V) -> isPalListKind#(activate(V)) p68: isPal#(V) -> activate#(V) p69: isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p70: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p71: isPalListKind#(n____(V1,V2)) -> activate#(V1) p72: isPalListKind#(n____(V1,V2)) -> activate#(V2) p73: activate#(n__nil()) -> nil#() p74: activate#(n____(X1,X2)) -> __#(activate(X1),activate(X2)) p75: activate#(n____(X1,X2)) -> activate#(X1) p76: activate#(n____(X1,X2)) -> activate#(X2) p77: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p78: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p79: activate#(n__and(X1,X2)) -> activate#(X1) p80: activate#(n__isPal(X)) -> isPal#(X) p81: activate#(n__a()) -> a#() p82: activate#(n__e()) -> e#() p83: activate#(n__i()) -> i#() p84: activate#(n__o()) -> o#() p85: activate#(n__u()) -> u#() and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p4, p6, p7, p11, p16, p17, p21, p23, p24, p28, p37, p40, p48, p53} {p32, p34, p35, p36, p58, p59, p60, p61, p62, p64, p65, p66, p67, p68, p69, p70, p71, p72, p75, p76, p77, p78, p79, p80} {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(n____(V1,V2)) -> U21#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p3: U21#(tt(),V1,V2) -> isList#(activate(V1)) p4: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p5: U11#(tt(),V) -> isNeList#(activate(V)) p6: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p7: U51#(tt(),V1,V2) -> isNeList#(activate(V1)) p8: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p9: U41#(tt(),V1,V2) -> isList#(activate(V1)) p10: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p11: U42#(tt(),V2) -> isNeList#(activate(V2)) p12: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p13: U21#(tt(),V1,V2) -> U22#(isList(activate(V1)),activate(V2)) p14: U22#(tt(),V2) -> isList#(activate(V2)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: U52#_A(x1,x2) = ((1,0),(0,0)) x2 + (9,17) tt_A() = (10,0) isList#_A(x1) = ((1,0),(0,0)) x1 + (1,17) activate_A(x1) = x1 n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (32,14) U21#_A(x1,x2,x3) = ((1,1),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,17) and_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (1,0) isPalListKind_A(x1) = ((1,1),(1,1)) x1 + (2,15) n__isPalListKind_A(x1) = ((1,1),(1,1)) x1 + (2,15) U11#_A(x1,x2) = ((1,0),(0,0)) x2 + (1,17) isNeList#_A(x1) = ((1,0),(0,0)) x1 + (0,17) U51#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,17) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (32,17) U42#_A(x1,x2) = ((1,0),(0,0)) x2 + (31,17) isList_A(x1) = ((1,1),(0,1)) x1 + (7,17) isNeList_A(x1) = ((1,1),(0,0)) x1 + (3,1) U22#_A(x1,x2) = ((1,0),(0,0)) x2 + (5,17) U62_A(x1) = (10,1) U61_A(x1,x2) = ((1,0),(0,0)) x1 + (1,1) isQid_A(x1) = ((1,1),(1,0)) x1 + (0,2) U23_A(x1) = (11,1) U43_A(x1) = ((0,1),(0,0)) x1 + (11,1) U53_A(x1) = (11,1) U72_A(x1) = (11,1) isNePal_A(x1) = ((1,1),(0,1)) x1 + (13,3) n__and_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (1,0) n__isPal_A(x1) = (13,15) U12_A(x1) = ((1,1),(0,1)) x1 + (1,0) U22_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,1),(0,0)) x2 + (2,1) U32_A(x1) = ((1,0),(0,0)) x1 + (1,1) U42_A(x1,x2) = (13,1) U52_A(x1,x2) = (12,1) U71_A(x1,x2) = (12,1) n__a_A() = (11,1) n__e_A() = (1,10) n__i_A() = (11,0) n__o_A() = (11,0) n__u_A() = (10,1) ___A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (32,14) nil_A() = (11,1) U11_A(x1,x2) = ((1,1),(0,0)) x2 + (6,17) U21_A(x1,x2,x3) = ((1,1),(0,0)) x2 + ((1,1),(0,0)) x3 + (33,17) U31_A(x1,x2) = ((1,1),(0,0)) x2 + (2,1) U41_A(x1,x2,x3) = ((0,1),(0,0)) x1 + (14,1) U51_A(x1,x2,x3) = (33,1) isPal_A(x1) = (13,15) n__nil_A() = (11,1) a_A() = (11,1) e_A() = (1,10) i_A() = (11,0) o_A() = (11,0) u_A() = (10,1) precedence: isList > U72 > activate = nil = e > o > n__o > isPalListKind > U21 > U23 = U53 = U22 = U52 > tt = U62 = isQid > __ > U11 > U43 > n____ = U12 > and > U61 > isNePal > U41 > U22# > U52# = isList# = U21# = U11# = isNeList# = U51# = U41# = U42# > n__and > isNeList = U32 = U31 = U51 > n__u = u > n__e = n__nil > n__i = i > n__a = a > U71 = isPal > n__isPalListKind > n__isPal > U42 partial status: pi(U52#) = [] pi(tt) = [] pi(isList#) = [] pi(activate) = [1] pi(n____) = [] pi(U21#) = [] pi(and) = [] pi(isPalListKind) = [] pi(n__isPalListKind) = [] pi(U11#) = [] pi(isNeList#) = [] pi(U51#) = [] pi(U41#) = [] pi(U42#) = [] pi(isList) = [] pi(isNeList) = [] pi(U22#) = [] pi(U62) = [] pi(U61) = [] pi(isQid) = [] pi(U23) = [] pi(U43) = [] pi(U53) = [] pi(U72) = [] pi(isNePal) = [1] pi(n__and) = [] pi(n__isPal) = [] pi(U12) = [1] pi(U22) = [] pi(U32) = [] pi(U42) = [] pi(U52) = [] pi(U71) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(__) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(U51) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p13 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(n____(V1,V2)) -> U21#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p3: U21#(tt(),V1,V2) -> isList#(activate(V1)) p4: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p5: U11#(tt(),V) -> isNeList#(activate(V)) p6: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p7: U51#(tt(),V1,V2) -> isNeList#(activate(V1)) p8: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p9: U41#(tt(),V1,V2) -> isList#(activate(V1)) p10: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p11: U42#(tt(),V2) -> isNeList#(activate(V2)) p12: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p13: U22#(tt(),V2) -> isList#(activate(V2)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p3: U11#(tt(),V) -> isNeList#(activate(V)) p4: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p5: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p6: U42#(tt(),V2) -> isNeList#(activate(V2)) p7: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p8: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p9: U51#(tt(),V1,V2) -> isNeList#(activate(V1)) p10: U41#(tt(),V1,V2) -> isList#(activate(V1)) p11: isList#(n____(V1,V2)) -> U21#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p12: U21#(tt(),V1,V2) -> isList#(activate(V1)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: U52#_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (51,3) tt_A() = (6,2) isList#_A(x1) = x1 + (56,1) activate_A(x1) = x1 U11#_A(x1,x2) = x2 + (55,0) isPalListKind_A(x1) = ((1,1),(1,1)) x1 + (12,13) isNeList#_A(x1) = x1 + (43,0) n_____A(x1,x2) = x1 + x2 + (13,30) U41#_A(x1,x2,x3) = x2 + x3 + (56,3) and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (43,0) n__isPalListKind_A(x1) = ((1,1),(1,1)) x1 + (12,13) U42#_A(x1,x2) = x2 + (44,3) isList_A(x1) = ((1,1),(0,0)) x1 + (11,4) U51#_A(x1,x2,x3) = x2 + x3 + (56,3) isNeList_A(x1) = ((1,0),(1,1)) x1 + (5,12) U21#_A(x1,x2,x3) = x2 + (57,1) U62_A(x1) = (7,3) U61_A(x1,x2) = ((1,0),(0,0)) x1 + (2,3) isQid_A(x1) = x1 + (2,31) U23_A(x1) = ((0,1),(0,0)) x1 + (5,3) U43_A(x1) = x1 + (2,0) U53_A(x1) = (7,3) U72_A(x1) = (6,3) isNePal_A(x1) = ((1,1),(1,1)) x1 + (15,13) n__and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (43,0) n__isPal_A(x1) = ((0,1),(0,0)) x1 + (27,3) U12_A(x1) = (7,4) U22_A(x1,x2) = (10,3) U32_A(x1) = ((1,0),(0,0)) x1 + (1,2) U42_A(x1,x2) = ((1,0),(1,1)) x2 + (8,12) U52_A(x1,x2) = (8,3) U71_A(x1,x2) = (7,3) n__a_A() = (5,0) n__e_A() = (7,2) n__i_A() = (6,1) n__o_A() = (7,2) n__u_A() = (6,0) ___A(x1,x2) = x1 + x2 + (13,30) nil_A() = (0,2) U11_A(x1,x2) = ((0,1),(0,0)) x2 + (8,4) U21_A(x1,x2,x3) = (14,3) U31_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (4,0) U41_A(x1,x2,x3) = ((1,0),(1,1)) x3 + (12,12) U51_A(x1,x2,x3) = ((0,0),(0,1)) x2 + x3 + (9,3) isPal_A(x1) = ((0,1),(0,0)) x1 + (27,3) n__nil_A() = (0,2) a_A() = (5,0) e_A() = (7,2) i_A() = (6,1) o_A() = (7,2) u_A() = (6,0) precedence: isList# = activate = U11# = isPalListKind = isNeList# = n____ = U41# = and = n__isPalListKind = U42# = U21# = U61 = U53 = U72 = isNePal = n__isPal = U32 = U71 = __ = U31 = isPal = i > n__a = a > isList = U22 = U21 > U23 > U11 > U12 > isNeList = U41 = U51 > isQid > U43 = U42 > tt > n__u = u > U51# > U52# > n__i > o > e > n__e > nil > n__nil > U52 > n__and > n__o > U62 partial status: pi(U52#) = [] pi(tt) = [] pi(isList#) = [] pi(activate) = [] pi(U11#) = [] pi(isPalListKind) = [] pi(isNeList#) = [] pi(n____) = [] pi(U41#) = [] pi(and) = [] pi(n__isPalListKind) = [] pi(U42#) = [] pi(isList) = [] pi(U51#) = [] pi(isNeList) = [] pi(U21#) = [] pi(U62) = [] pi(U61) = [] pi(isQid) = [] pi(U23) = [] pi(U43) = [] pi(U53) = [] pi(U72) = [] pi(isNePal) = [] pi(n__and) = [] pi(n__isPal) = [] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U42) = [] pi(U52) = [] pi(U71) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(__) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(U51) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 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: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p3: U11#(tt(),V) -> isNeList#(activate(V)) p4: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p5: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p6: U42#(tt(),V2) -> isNeList#(activate(V2)) p7: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p8: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p9: U41#(tt(),V1,V2) -> isList#(activate(V1)) p10: isList#(n____(V1,V2)) -> U21#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p11: U21#(tt(),V1,V2) -> isList#(activate(V1)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(n____(V1,V2)) -> U21#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p3: U21#(tt(),V1,V2) -> isList#(activate(V1)) p4: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p5: U11#(tt(),V) -> isNeList#(activate(V)) p6: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p7: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p8: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p9: U41#(tt(),V1,V2) -> isList#(activate(V1)) p10: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p11: U42#(tt(),V2) -> isNeList#(activate(V2)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: U52#_A(x1,x2) = ((0,1),(0,0)) x2 + (6,0) tt_A() = (4,4) isList#_A(x1) = ((0,1),(0,0)) x1 + (6,0) activate_A(x1) = ((1,1),(0,1)) x1 n_____A(x1,x2) = x1 + x2 + (7,0) U21#_A(x1,x2,x3) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (3,0) and_A(x1,x2) = ((1,1),(0,1)) x2 isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (7,0) n__isPalListKind_A(x1) = ((0,0),(0,1)) x1 + (7,0) U11#_A(x1,x2) = ((0,1),(0,0)) x2 + (6,0) isNeList#_A(x1) = ((0,1),(0,0)) x1 + (6,0) U51#_A(x1,x2,x3) = ((0,1),(0,0)) x2 + ((0,1),(0,0)) x3 + (6,0) isNeList_A(x1) = ((0,1),(0,1)) x1 U41#_A(x1,x2,x3) = ((0,1),(0,0)) x2 + ((0,1),(0,0)) x3 + (6,0) U42#_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,1),(0,0)) x2 + (3,0) isList_A(x1) = ((0,1),(0,1)) x1 + (2,0) U62_A(x1) = ((0,1),(0,0)) x1 + (1,5) U61_A(x1,x2) = ((0,1),(0,0)) x2 + (8,5) isQid_A(x1) = ((0,1),(0,1)) x1 + (0,6) U23_A(x1) = ((0,1),(0,1)) x1 + (1,0) U43_A(x1) = ((0,1),(1,0)) x1 U53_A(x1) = ((0,1),(0,0)) x1 + (0,5) U72_A(x1) = (4,4) isNePal_A(x1) = ((1,1),(0,1)) x1 + (9,6) n__and_A(x1,x2) = x2 n__isPal_A(x1) = ((0,0),(0,1)) x1 + (15,7) U12_A(x1) = ((0,1),(0,1)) x1 + (2,0) U22_A(x1,x2) = ((0,1),(0,1)) x2 + (2,0) U32_A(x1) = ((1,0),(0,0)) x1 + (0,4) U42_A(x1,x2) = ((0,1),(0,1)) x2 U52_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,1),(0,0)) x2 + (0,1) U71_A(x1,x2) = ((0,0),(1,0)) x1 + (5,0) n__a_A() = (5,5) n__e_A() = (0,5) n__i_A() = (1,5) n__o_A() = (4,5) n__u_A() = (1,5) ___A(x1,x2) = x1 + x2 + (7,0) nil_A() = (0,4) U11_A(x1,x2) = ((0,1),(0,1)) x2 + (2,0) U21_A(x1,x2,x3) = ((0,1),(0,1)) x3 + (2,0) U31_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,1),(0,0)) x2 U41_A(x1,x2,x3) = ((0,1),(0,1)) x3 U51_A(x1,x2,x3) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + ((0,1),(0,0)) x3 isPal_A(x1) = ((0,1),(0,1)) x1 + (16,7) n__nil_A() = (0,4) a_A() = (6,5) e_A() = (5,5) i_A() = (2,5) o_A() = (5,5) u_A() = (1,5) precedence: U52# = tt = isList# = activate = n____ = U21# = and = isPalListKind = n__isPalListKind = U11# = isNeList# = U51# = isNeList = U41# = U42# = isList = U62 = U61 = isQid = U23 = U43 = U53 = U72 = isNePal = n__and = n__isPal = U12 = U22 = U32 = U42 = U52 = U71 = n__a = n__e = n__i = n__o = n__u = __ = nil = U11 = U21 = U31 = U41 = U51 = isPal = n__nil = a = e = i = o = u partial status: pi(U52#) = [] pi(tt) = [] pi(isList#) = [] pi(activate) = [] pi(n____) = [] pi(U21#) = [] pi(and) = [] pi(isPalListKind) = [] pi(n__isPalListKind) = [] pi(U11#) = [] pi(isNeList#) = [] pi(U51#) = [] pi(isNeList) = [] pi(U41#) = [] pi(U42#) = [] pi(isList) = [] pi(U62) = [] pi(U61) = [] pi(isQid) = [] pi(U23) = [] pi(U43) = [] pi(U53) = [] pi(U72) = [] pi(isNePal) = [] pi(n__and) = [] pi(n__isPal) = [] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U42) = [] pi(U52) = [] pi(U71) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(__) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(U51) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 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: U52#(tt(),V2) -> isList#(activate(V2)) p2: U21#(tt(),V1,V2) -> isList#(activate(V1)) p3: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p4: U11#(tt(),V) -> isNeList#(activate(V)) p5: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p6: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p7: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p8: U41#(tt(),V1,V2) -> isList#(activate(V1)) p9: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p10: U42#(tt(),V2) -> isNeList#(activate(V2)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p3, p4, p5, p6, p7, p8, p9, p10} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p3: U11#(tt(),V) -> isNeList#(activate(V)) p4: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p5: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p6: U42#(tt(),V2) -> isNeList#(activate(V2)) p7: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p8: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p9: U41#(tt(),V1,V2) -> isList#(activate(V1)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: U52#_A(x1,x2) = ((1,1),(1,0)) x2 + (9,5) tt_A() = (5,4) isList#_A(x1) = ((1,1),(1,0)) x1 + (8,5) activate_A(x1) = x1 U11#_A(x1,x2) = ((1,1),(1,0)) x2 + (7,5) isPalListKind_A(x1) = ((0,0),(1,0)) x1 + (5,0) isNeList#_A(x1) = ((1,1),(1,0)) x1 + (6,5) n_____A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (9,1) U41#_A(x1,x2,x3) = ((1,1),(1,0)) x2 + ((1,1),(1,0)) x3 + (14,5) and_A(x1,x2) = x2 + (0,3) n__isPalListKind_A(x1) = ((0,0),(1,0)) x1 + (5,0) U42#_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,1),(1,0)) x2 + (2,5) isList_A(x1) = ((1,0),(1,1)) x1 + (11,6) U51#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,1),(1,0)) x3 + (10,5) isNeList_A(x1) = ((1,0),(1,1)) x1 + (4,6) U62_A(x1) = (6,4) U61_A(x1,x2) = (7,4) isQid_A(x1) = ((0,0),(0,1)) x1 + (21,7) U23_A(x1) = (6,4) U43_A(x1) = (6,5) U53_A(x1) = (6,5) U72_A(x1) = (6,5) isNePal_A(x1) = ((0,1),(0,1)) x1 + (18,4) n__and_A(x1,x2) = x2 + (0,3) n__isPal_A(x1) = ((1,1),(1,0)) x1 + (19,7) U12_A(x1) = (6,4) U22_A(x1,x2) = (7,5) U32_A(x1) = (6,4) U42_A(x1,x2) = (7,5) U52_A(x1,x2) = (7,5) U71_A(x1,x2) = ((1,0),(0,0)) x2 + (7,5) n__a_A() = (4,1) n__e_A() = (6,4) n__i_A() = (4,1) n__o_A() = (4,1) n__u_A() = (4,4) ___A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (9,1) nil_A() = (6,4) U11_A(x1,x2) = (7,4) U21_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (10,5) U31_A(x1,x2) = ((0,1),(0,0)) x1 + (3,4) U41_A(x1,x2,x3) = (8,5) U51_A(x1,x2,x3) = ((0,0),(1,0)) x2 + (10,5) isPal_A(x1) = ((1,1),(1,0)) x1 + (19,7) n__nil_A() = (6,4) a_A() = (4,1) e_A() = (6,4) i_A() = (4,1) o_A() = (4,1) u_A() = (4,4) precedence: U52# = tt = isList# = activate = U11# = isPalListKind = isNeList# = n____ = U41# = and = n__isPalListKind = U42# = isList = U51# = isNeList = U62 = U61 = isQid = U23 = U43 = U53 = U72 = isNePal = n__and = n__isPal = U12 = U22 = U32 = U42 = U52 = U71 = n__a = n__e = n__i = n__o = n__u = __ = nil = U11 = U21 = U31 = U41 = U51 = isPal = n__nil = a = e = i = o = u partial status: pi(U52#) = [] pi(tt) = [] pi(isList#) = [] pi(activate) = [] pi(U11#) = [] pi(isPalListKind) = [] pi(isNeList#) = [] pi(n____) = [] pi(U41#) = [] pi(and) = [] pi(n__isPalListKind) = [] pi(U42#) = [] pi(isList) = [] pi(U51#) = [] pi(isNeList) = [] pi(U62) = [] pi(U61) = [] pi(isQid) = [] pi(U23) = [] pi(U43) = [] pi(U53) = [] pi(U72) = [] pi(isNePal) = [] pi(n__and) = [] pi(n__isPal) = [] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U42) = [] pi(U52) = [] pi(U71) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(__) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(U51) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 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: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p3: U11#(tt(),V) -> isNeList#(activate(V)) p4: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p5: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p6: U42#(tt(),V2) -> isNeList#(activate(V2)) p7: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p8: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p3: U11#(tt(),V) -> isNeList#(activate(V)) p4: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p5: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p6: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p7: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p8: U42#(tt(),V2) -> isNeList#(activate(V2)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: U52#_A(x1,x2) = ((0,1),(0,1)) x2 + (6,3) tt_A() = (2,2) isList#_A(x1) = ((0,1),(0,1)) x1 + (5,2) activate_A(x1) = ((1,1),(0,1)) x1 + (16,0) U11#_A(x1,x2) = ((0,1),(0,1)) x2 + (4,0) isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (2,2) isNeList#_A(x1) = ((0,1),(0,1)) x1 + (3,0) n_____A(x1,x2) = x1 + x2 + (0,20) U51#_A(x1,x2,x3) = ((0,0),(0,1)) x2 + ((0,1),(0,1)) x3 + (7,3) and_A(x1,x2) = ((1,1),(0,1)) x2 + (17,20) n__isPalListKind_A(x1) = ((0,0),(0,1)) x1 + (1,2) isNeList_A(x1) = ((0,0),(0,1)) x1 + (8,4) U41#_A(x1,x2,x3) = ((0,0),(0,1)) x2 + ((0,1),(0,1)) x3 + (23,0) U42#_A(x1,x2) = ((0,1),(0,1)) x2 + (17,0) isList_A(x1) = ((0,1),(0,1)) x1 + (15,22) U62_A(x1) = (3,2) U61_A(x1,x2) = ((0,0),(0,1)) x1 + ((1,0),(0,0)) x2 + (17,1) isQid_A(x1) = (3,3) U23_A(x1) = (3,3) U43_A(x1) = (3,3) U53_A(x1) = (2,2) U72_A(x1) = (3,3) isNePal_A(x1) = ((1,1),(1,1)) x1 + (34,3) n__and_A(x1,x2) = x2 + (1,20) n__isPal_A(x1) = ((1,1),(0,0)) x1 + (68,41) U12_A(x1) = ((1,1),(0,0)) x1 + (1,3) U22_A(x1,x2) = (13,3) U32_A(x1) = (7,3) U42_A(x1,x2) = (4,3) U52_A(x1,x2) = (2,2) U71_A(x1,x2) = ((1,0),(0,0)) x2 + (51,3) n__a_A() = (3,2) n__e_A() = (0,0) n__i_A() = (3,1) n__o_A() = (3,0) n__u_A() = (1,0) ___A(x1,x2) = x1 + x2 + (1,20) nil_A() = (3,2) U11_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,1),(0,0)) x2 + (14,2) U21_A(x1,x2,x3) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (12,1) U31_A(x1,x2) = ((0,0),(0,1)) x2 + (8,4) U41_A(x1,x2,x3) = (7,21) U51_A(x1,x2,x3) = ((0,0),(1,0)) x1 + (7,0) isPal_A(x1) = ((1,1),(0,0)) x1 + (68,41) n__nil_A() = (3,2) a_A() = (3,2) e_A() = (16,0) i_A() = (19,1) o_A() = (4,0) u_A() = (2,0) precedence: isNePal > activate = and = U23 = isPal = i > isPalListKind > o > n__isPal > u > e > nil > U52# = isList# = U11# = isNeList# = U51# = U41# = U42# > isQid > U61 > n__isPalListKind = n__o > tt = isList = U53 = U52 = __ = U21 > n__nil > n__a = a > isNeList > U51 > U22 > n____ > n__u > U71 > n__i > U12 = U11 > U41 > n__e > U62 > U72 > U32 = U31 > U42 > U43 > n__and partial status: pi(U52#) = [] pi(tt) = [] pi(isList#) = [] pi(activate) = [1] pi(U11#) = [] pi(isPalListKind) = [] pi(isNeList#) = [] pi(n____) = [] pi(U51#) = [] pi(and) = [2] pi(n__isPalListKind) = [] pi(isNeList) = [] pi(U41#) = [] pi(U42#) = [] pi(isList) = [] pi(U62) = [] pi(U61) = [] pi(isQid) = [] pi(U23) = [] pi(U43) = [] pi(U53) = [] pi(U72) = [] pi(isNePal) = [1] pi(n__and) = [] pi(n__isPal) = [] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U42) = [] pi(U52) = [] pi(U71) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(__) = [] pi(nil) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(U51) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p7 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p3: U11#(tt(),V) -> isNeList#(activate(V)) p4: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p5: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) p6: isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p7: U42#(tt(),V2) -> isNeList#(activate(V2)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U52#(tt(),V2) -> isList#(activate(V2)) p2: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p3: U11#(tt(),V) -> isNeList#(activate(V)) p4: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p5: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: U52#_A(x1,x2) = ((0,1),(1,0)) x1 + ((0,1),(0,1)) x2 + (2,1) tt_A() = (5,5) isList#_A(x1) = ((0,1),(0,1)) x1 + (6,6) activate_A(x1) = x1 U11#_A(x1,x2) = ((0,1),(0,1)) x2 + (4,6) isPalListKind_A(x1) = ((1,1),(1,1)) x1 + (7,50) isNeList#_A(x1) = ((0,1),(0,1)) x1 + (4,1) n_____A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (40,10) U51#_A(x1,x2,x3) = ((0,0),(0,1)) x2 + ((0,1),(0,1)) x3 + (9,11) and_A(x1,x2) = ((0,1),(0,0)) x1 + x2 + (0,1) n__isPalListKind_A(x1) = ((1,1),(1,1)) x1 + (7,50) isNeList_A(x1) = (10,6) U23_A(x1) = ((0,0),(0,1)) x1 + (6,0) U62_A(x1) = ((0,1),(0,0)) x1 + (1,5) U12_A(x1) = (6,6) U22_A(x1,x2) = ((0,0),(0,1)) x2 + (7,50) isList_A(x1) = ((1,1),(0,1)) x1 + (57,50) U61_A(x1,x2) = ((1,1),(0,0)) x2 + (3,5) isQid_A(x1) = ((1,1),(1,1)) x1 + (4,1) U11_A(x1,x2) = ((0,1),(0,0)) x1 + (6,6) U21_A(x1,x2,x3) = x2 + ((0,1),(0,1)) x3 + (40,50) U43_A(x1) = ((0,1),(0,0)) x1 + (1,5) U53_A(x1) = (6,6) U72_A(x1) = (6,6) isNePal_A(x1) = ((1,1),(1,1)) x1 + (6,50) n__and_A(x1,x2) = ((0,1),(0,0)) x1 + x2 + (0,1) n__isPal_A(x1) = ((1,1),(0,0)) x1 + (81,21) U32_A(x1) = (6,5) U42_A(x1,x2) = (8,6) U52_A(x1,x2) = (7,6) U71_A(x1,x2) = (7,6) n__nil_A() = (1,5) n__a_A() = (1,5) n__e_A() = (4,0) n__i_A() = (0,5) n__o_A() = (1,5) n__u_A() = (4,0) ___A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (40,10) nil_A() = (1,5) U31_A(x1,x2) = (7,5) U41_A(x1,x2,x3) = (9,6) U51_A(x1,x2,x3) = (9,6) isPal_A(x1) = ((1,1),(0,0)) x1 + (81,21) a_A() = (1,5) e_A() = (4,0) i_A() = (0,5) o_A() = (1,5) u_A() = (4,0) precedence: activate = isPalListKind = and = n__isPalListKind = isQid = U11 = n__and = n__e = nil = a = e > n__nil = n__u = u > isList > U21 > U22 > U51 > tt = U23 > U43 > n__isPal = isPal > U72 = U71 > __ > n__a > n__i = i > U62 = U61 = isNePal > U52 > U12 > U42 > U53 > U52# = isList# = U11# = isNeList# = n____ = U51# > isNeList > U31 > U32 > U41 > n__o = o partial status: pi(U52#) = [] pi(tt) = [] pi(isList#) = [] pi(activate) = [] pi(U11#) = [] pi(isPalListKind) = [] pi(isNeList#) = [] pi(n____) = [] pi(U51#) = [] pi(and) = [] pi(n__isPalListKind) = [] pi(isNeList) = [] pi(U23) = [] pi(U62) = [] pi(U12) = [] pi(U22) = [] pi(isList) = [] pi(U61) = [] pi(isQid) = [] pi(U11) = [] pi(U21) = [2] pi(U43) = [] pi(U53) = [] pi(U72) = [] pi(isNePal) = [] pi(n__and) = [] pi(n__isPal) = [] pi(U32) = [] pi(U42) = [] pi(U52) = [] pi(U71) = [] pi(n__nil) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(__) = [] pi(nil) = [] pi(U31) = [] pi(U41) = [] pi(U51) = [] pi(isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 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: isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) p2: U11#(tt(),V) -> isNeList#(activate(V)) p3: isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) p4: U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: (no SCCs) -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPal#(V) -> isPalListKind#(activate(V)) p4: isPalListKind#(n____(V1,V2)) -> activate#(V2) p5: activate#(n__and(X1,X2)) -> activate#(X1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p9: isPalListKind#(n____(V1,V2)) -> activate#(V1) p10: activate#(n____(X1,X2)) -> activate#(X2) p11: activate#(n____(X1,X2)) -> activate#(X1) p12: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p13: isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p14: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p15: U71#(tt(),V) -> activate#(V) p16: U71#(tt(),V) -> isNePal#(activate(V)) p17: isNePal#(n____(I,n____(P,I))) -> activate#(P) p18: isNePal#(n____(I,n____(P,I))) -> activate#(I) p19: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p20: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p21: isNePal#(V) -> activate#(V) p22: isNePal#(V) -> isPalListKind#(activate(V)) p23: isNePal#(V) -> U61#(isPalListKind(activate(V)),activate(V)) p24: U61#(tt(),V) -> activate#(V) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((1,1),(1,1)) x1 + (18,7) activate#_A(x1) = ((0,1),(0,1)) x1 + (18,7) n__isPal_A(x1) = ((1,1),(1,1)) x1 + (125,5) isPalListKind#_A(x1) = ((1,1),(1,1)) x1 + (1,1) activate_A(x1) = x1 n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (36,17) n__and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (17,4) and#_A(x1,x2) = ((0,1),(0,1)) x2 + (21,11) tt_A() = (2,3) n__isPalListKind_A(x1) = ((0,1),(1,1)) x1 + (18,6) isPalListKind_A(x1) = ((0,1),(1,1)) x1 + (18,6) U71#_A(x1,x2) = ((1,1),(1,1)) x2 + (18,7) isNePal#_A(x1) = ((1,1),(1,1)) x1 + (18,7) isQid_A(x1) = ((1,1),(0,1)) x1 + (1,5) and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (17,4) U61#_A(x1,x2) = ((0,1),(0,1)) x2 + (18,7) U62_A(x1) = (3,4) U61_A(x1,x2) = (4,4) U72_A(x1) = (3,4) isNePal_A(x1) = ((1,0),(1,1)) x1 + (19,5) U71_A(x1,x2) = ((0,1),(0,0)) x2 + (4,4) ___A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (36,17) nil_A() = (0,1) isPal_A(x1) = ((1,1),(1,1)) x1 + (125,5) n__nil_A() = (0,1) a_A() = (0,2) n__a_A() = (0,2) e_A() = (0,3) n__e_A() = (0,3) i_A() = (3,3) n__i_A() = (3,3) o_A() = (3,3) n__o_A() = (3,3) u_A() = (3,1) n__u_A() = (3,1) precedence: activate = isQid = U72 = U71 = nil = e = u > isPal# = U71# = isNePal > n__isPal = isPalListKind# = and# = tt = n__isPalListKind = isPalListKind = isNePal# = and = U61# = U62 = isPal = n__e > i = n__i = o > n__o > U61 > n__nil > a > activate# = n__a > n__and > __ > n____ > n__u partial status: pi(isPal#) = [1] pi(activate#) = [] pi(n__isPal) = [] pi(isPalListKind#) = [1] pi(activate) = [] pi(n____) = [1] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__isPalListKind) = [] pi(isPalListKind) = [] pi(U71#) = [] pi(isNePal#) = [1] pi(isQid) = [] pi(and) = [] pi(U61#) = [] pi(U62) = [] pi(U61) = [] pi(U72) = [] pi(isNePal) = [] pi(U71) = [] pi(__) = [] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(n__a) = [] pi(e) = [] pi(n__e) = [] pi(i) = [] pi(n__i) = [] pi(o) = [] pi(n__o) = [] pi(u) = [] pi(n__u) = [] The next rules are strictly ordered: p23 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPal#(V) -> isPalListKind#(activate(V)) p4: isPalListKind#(n____(V1,V2)) -> activate#(V2) p5: activate#(n__and(X1,X2)) -> activate#(X1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p9: isPalListKind#(n____(V1,V2)) -> activate#(V1) p10: activate#(n____(X1,X2)) -> activate#(X2) p11: activate#(n____(X1,X2)) -> activate#(X1) p12: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p13: isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p14: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p15: U71#(tt(),V) -> activate#(V) p16: U71#(tt(),V) -> isNePal#(activate(V)) p17: isNePal#(n____(I,n____(P,I))) -> activate#(P) p18: isNePal#(n____(I,n____(P,I))) -> activate#(I) p19: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p20: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p21: isNePal#(V) -> activate#(V) p22: isNePal#(V) -> isPalListKind#(activate(V)) p23: U61#(tt(),V) -> activate#(V) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n____(X1,X2)) -> activate#(X2) p4: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p5: isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p6: and#(tt(),X) -> activate#(X) p7: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p8: activate#(n__and(X1,X2)) -> activate#(X1) p9: activate#(n__isPal(X)) -> isPal#(X) p10: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p11: U71#(tt(),V) -> isNePal#(activate(V)) p12: isNePal#(V) -> isPalListKind#(activate(V)) p13: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p14: isPalListKind#(n____(V1,V2)) -> activate#(V1) p15: isPalListKind#(n____(V1,V2)) -> activate#(V2) p16: isNePal#(V) -> activate#(V) p17: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p18: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p19: isNePal#(n____(I,n____(P,I))) -> activate#(I) p20: isNePal#(n____(I,n____(P,I))) -> activate#(P) p21: U71#(tt(),V) -> activate#(V) p22: isPal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((1,1),(1,1)) x1 + (20,7) activate#_A(x1) = ((0,1),(0,1)) x1 + (1,7) n_____A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (22,20) n__isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (17,7) isPalListKind#_A(x1) = ((0,1),(0,1)) x1 + (1,1) and#_A(x1,x2) = ((0,1),(0,1)) x2 + (3,14) isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (17,7) activate_A(x1) = x1 tt_A() = (2,2) n__and_A(x1,x2) = ((0,1),(0,1)) x1 + x2 + (2,7) n__isPal_A(x1) = ((1,1),(1,1)) x1 + (20,26) U71#_A(x1,x2) = ((1,1),(1,1)) x2 + (4,7) isNePal#_A(x1) = ((1,1),(1,1)) x1 + (3,7) and_A(x1,x2) = ((0,1),(0,1)) x1 + x2 + (2,7) isQid_A(x1) = ((0,0),(0,1)) x1 + (2,2) U62_A(x1) = (3,3) U61_A(x1,x2) = (4,3) U72_A(x1) = (3,3) isNePal_A(x1) = ((1,1),(1,1)) x1 + (18,4) U71_A(x1,x2) = (19,3) ___A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (22,20) nil_A() = (1,1) isPal_A(x1) = ((1,1),(1,1)) x1 + (20,26) n__nil_A() = (1,1) a_A() = (1,0) n__a_A() = (1,0) e_A() = (3,2) n__e_A() = (3,2) i_A() = (1,2) n__i_A() = (1,2) o_A() = (3,2) n__o_A() = (3,2) u_A() = (1,2) n__u_A() = (1,2) precedence: n____ = activate = __ = isPal = a = n__a = e = i = n__i = u = n__u > o > isPal# = n__isPalListKind = isPalListKind = n__isPal = U71# > activate# > isQid > isPalListKind# = and# = isNePal# > nil = n__nil > U61 = U72 = isNePal = U71 = n__e > U62 > tt = n__and = and = n__o partial status: pi(isPal#) = [1] pi(activate#) = [] pi(n____) = [] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(and#) = [] pi(isPalListKind) = [] pi(activate) = [] pi(tt) = [] pi(n__and) = [] pi(n__isPal) = [1] pi(U71#) = [] pi(isNePal#) = [1] pi(and) = [2] pi(isQid) = [] pi(U62) = [] pi(U61) = [] pi(U72) = [] pi(isNePal) = [] pi(U71) = [] pi(__) = [] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(n__a) = [] pi(e) = [] pi(n__e) = [] pi(i) = [] pi(n__i) = [] pi(o) = [] pi(n__o) = [] pi(u) = [] pi(n__u) = [] The next rules are strictly ordered: p20 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n____(X1,X2)) -> activate#(X2) p4: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p5: isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p6: and#(tt(),X) -> activate#(X) p7: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p8: activate#(n__and(X1,X2)) -> activate#(X1) p9: activate#(n__isPal(X)) -> isPal#(X) p10: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p11: U71#(tt(),V) -> isNePal#(activate(V)) p12: isNePal#(V) -> isPalListKind#(activate(V)) p13: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p14: isPalListKind#(n____(V1,V2)) -> activate#(V1) p15: isPalListKind#(n____(V1,V2)) -> activate#(V2) p16: isNePal#(V) -> activate#(V) p17: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p18: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p19: isNePal#(n____(I,n____(P,I))) -> activate#(I) p20: U71#(tt(),V) -> activate#(V) p21: isPal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPal#(V) -> isPalListKind#(activate(V)) p4: isPalListKind#(n____(V1,V2)) -> activate#(V2) p5: activate#(n__and(X1,X2)) -> activate#(X1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p9: isPalListKind#(n____(V1,V2)) -> activate#(V1) p10: activate#(n____(X1,X2)) -> activate#(X2) p11: activate#(n____(X1,X2)) -> activate#(X1) p12: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p13: isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p14: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p15: U71#(tt(),V) -> activate#(V) p16: U71#(tt(),V) -> isNePal#(activate(V)) p17: isNePal#(n____(I,n____(P,I))) -> activate#(I) p18: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p19: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p20: isNePal#(V) -> activate#(V) p21: isNePal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((1,1),(0,0)) x1 + (34,2) activate#_A(x1) = ((1,0),(0,0)) x1 + (29,2) n__isPal_A(x1) = ((1,1),(1,1)) x1 + (6,3) isPalListKind#_A(x1) = ((1,0),(0,0)) x1 + (31,2) activate_A(x1) = x1 n_____A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (30,25) n__and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (2,1) and#_A(x1,x2) = ((1,0),(0,0)) x2 + (30,2) tt_A() = (2,2) n__isPalListKind_A(x1) = ((1,0),(1,0)) x1 + (6,4) isPalListKind_A(x1) = ((1,0),(1,0)) x1 + (6,4) U71#_A(x1,x2) = ((1,1),(0,0)) x2 + (33,2) isNePal#_A(x1) = ((1,1),(0,0)) x1 + (32,2) isQid_A(x1) = ((1,0),(1,0)) x1 + (5,26) and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (2,1) U62_A(x1) = (3,3) U61_A(x1,x2) = (4,3) U72_A(x1) = ((0,0),(0,1)) x1 + (3,0) isNePal_A(x1) = ((1,1),(1,1)) x1 + (5,3) U71_A(x1,x2) = ((0,1),(1,1)) x2 + (4,3) ___A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (30,25) nil_A() = (0,2) isPal_A(x1) = ((1,1),(1,1)) x1 + (6,3) n__nil_A() = (0,2) a_A() = (1,2) n__a_A() = (1,2) e_A() = (1,1) n__e_A() = (1,1) i_A() = (0,0) n__i_A() = (0,0) o_A() = (1,1) n__o_A() = (1,1) u_A() = (0,2) n__u_A() = (0,2) precedence: n__isPal = activate = n__isPalListKind = isPalListKind = and = isNePal = nil = isPal = n__nil = a = n__a = i = n__i = o = u = n__u > __ > isPal# = activate# = isPalListKind# = and# = tt = U71# = isNePal# = isQid = U72 = U71 = e = n__o > U62 > n____ > n__e > n__and = U61 partial status: pi(isPal#) = [] pi(activate#) = [] pi(n__isPal) = [] pi(isPalListKind#) = [] pi(activate) = [] pi(n____) = [2] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__isPalListKind) = [] pi(isPalListKind) = [] pi(U71#) = [] pi(isNePal#) = [] pi(isQid) = [] pi(and) = [] pi(U62) = [] pi(U61) = [] pi(U72) = [] pi(isNePal) = [] pi(U71) = [] pi(__) = [] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(n__a) = [] pi(e) = [] pi(n__e) = [] pi(i) = [] pi(n__i) = [] pi(o) = [] pi(n__o) = [] pi(u) = [] pi(n__u) = [] 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: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPal#(V) -> isPalListKind#(activate(V)) p4: isPalListKind#(n____(V1,V2)) -> activate#(V2) p5: activate#(n__and(X1,X2)) -> activate#(X1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p9: isPalListKind#(n____(V1,V2)) -> activate#(V1) p10: activate#(n____(X1,X2)) -> activate#(X1) p11: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p12: isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p13: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p14: U71#(tt(),V) -> activate#(V) p15: U71#(tt(),V) -> isNePal#(activate(V)) p16: isNePal#(n____(I,n____(P,I))) -> activate#(I) p17: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p18: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p19: isNePal#(V) -> activate#(V) p20: isNePal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p4: isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p5: and#(tt(),X) -> activate#(X) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: activate#(n__and(X1,X2)) -> activate#(X1) p8: activate#(n__isPal(X)) -> isPal#(X) p9: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p10: U71#(tt(),V) -> isNePal#(activate(V)) p11: isNePal#(V) -> isPalListKind#(activate(V)) p12: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p13: isPalListKind#(n____(V1,V2)) -> activate#(V1) p14: isPalListKind#(n____(V1,V2)) -> activate#(V2) p15: isNePal#(V) -> activate#(V) p16: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p17: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p18: isNePal#(n____(I,n____(P,I))) -> activate#(I) p19: U71#(tt(),V) -> activate#(V) p20: isPal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((1,1),(0,0)) x1 + (5,0) activate#_A(x1) = ((1,0),(0,0)) x1 + (2,0) n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (0,9) n__isPalListKind_A(x1) = ((1,1),(0,1)) x1 isPalListKind#_A(x1) = ((1,1),(0,0)) x1 + (1,0) and#_A(x1,x2) = ((0,1),(0,0)) x1 + ((1,0),(0,0)) x2 + (1,0) isPalListKind_A(x1) = ((1,1),(0,1)) x1 activate_A(x1) = x1 tt_A() = (4,2) n__and_A(x1,x2) = ((1,1),(0,1)) x1 + x2 n__isPal_A(x1) = ((1,1),(0,0)) x1 + (6,10) U71#_A(x1,x2) = ((1,1),(0,0)) x2 + (4,0) isNePal#_A(x1) = ((1,1),(0,0)) x1 + (3,0) and_A(x1,x2) = ((1,1),(0,1)) x1 + x2 isQid_A(x1) = (17,3) U62_A(x1) = (5,3) U61_A(x1,x2) = (6,3) U72_A(x1) = (5,10) isNePal_A(x1) = ((1,1),(1,0)) x1 + (22,13) U71_A(x1,x2) = (5,10) ___A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (0,9) nil_A() = (0,5) isPal_A(x1) = ((1,1),(0,0)) x1 + (6,10) n__nil_A() = (0,5) a_A() = (0,5) n__a_A() = (0,5) e_A() = (0,5) n__e_A() = (0,5) i_A() = (0,5) n__i_A() = (0,5) o_A() = (0,5) n__o_A() = (0,5) u_A() = (0,5) n__u_A() = (0,5) precedence: n__isPalListKind = isPalListKind = activate = tt = isNePal = __ = a > and > isPal > isPal# = isPalListKind# = n__isPal > and# > activate# = U71# > isNePal# > U71 > isQid > U72 > n__and > n____ > o > U62 > u > U61 > nil = n__nil = n__a = e = n__e = i > n__i = n__o = n__u partial status: pi(isPal#) = [] pi(activate#) = [] pi(n____) = [] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(and#) = [] pi(isPalListKind) = [] pi(activate) = [] pi(tt) = [] pi(n__and) = [] pi(n__isPal) = [] pi(U71#) = [] pi(isNePal#) = [] pi(and) = [] pi(isQid) = [] pi(U62) = [] pi(U61) = [] pi(U72) = [] pi(isNePal) = [] pi(U71) = [] pi(__) = [] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(n__a) = [] pi(e) = [] pi(n__e) = [] pi(i) = [] pi(n__i) = [] pi(o) = [] pi(n__o) = [] pi(u) = [] pi(n__u) = [] 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: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p4: and#(tt(),X) -> activate#(X) p5: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p6: activate#(n__and(X1,X2)) -> activate#(X1) p7: activate#(n__isPal(X)) -> isPal#(X) p8: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p9: U71#(tt(),V) -> isNePal#(activate(V)) p10: isNePal#(V) -> isPalListKind#(activate(V)) p11: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p12: isPalListKind#(n____(V1,V2)) -> activate#(V1) p13: isPalListKind#(n____(V1,V2)) -> activate#(V2) p14: isNePal#(V) -> activate#(V) p15: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p16: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p17: isNePal#(n____(I,n____(P,I))) -> activate#(I) p18: U71#(tt(),V) -> activate#(V) p19: isPal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPal#(V) -> isPalListKind#(activate(V)) p4: isPalListKind#(n____(V1,V2)) -> activate#(V2) p5: activate#(n__and(X1,X2)) -> activate#(X1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p9: isPalListKind#(n____(V1,V2)) -> activate#(V1) p10: activate#(n____(X1,X2)) -> activate#(X1) p11: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p12: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p13: U71#(tt(),V) -> activate#(V) p14: U71#(tt(),V) -> isNePal#(activate(V)) p15: isNePal#(n____(I,n____(P,I))) -> activate#(I) p16: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p17: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p18: isNePal#(V) -> activate#(V) p19: isNePal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((1,1),(1,1)) x1 + (9,11) activate#_A(x1) = ((0,1),(0,1)) x1 + (1,1) n__isPal_A(x1) = ((1,1),(1,1)) x1 + (10,11) isPalListKind#_A(x1) = ((0,1),(0,1)) x1 + (3,0) activate_A(x1) = x1 n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (11,27) n__and_A(x1,x2) = ((0,1),(0,1)) x1 + x2 + (0,2) and#_A(x1,x2) = ((0,1),(0,1)) x2 + (2,3) tt_A() = (5,2) n__isPalListKind_A(x1) = ((1,0),(1,1)) x1 + (2,11) U71#_A(x1,x2) = ((1,1),(1,1)) x2 + (5,3) isPalListKind_A(x1) = ((1,0),(1,1)) x1 + (2,11) isNePal#_A(x1) = ((1,1),(1,1)) x1 + (4,3) isQid_A(x1) = ((0,1),(0,0)) x1 + (81,55) and_A(x1,x2) = ((0,1),(0,1)) x1 + x2 + (0,2) U62_A(x1) = (6,3) U61_A(x1,x2) = ((0,0),(0,1)) x2 + (7,3) U72_A(x1) = (6,3) isNePal_A(x1) = ((1,1),(1,1)) x1 + (8,18) U71_A(x1,x2) = ((0,1),(0,1)) x2 + (9,3) ___A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (11,27) nil_A() = (4,1) isPal_A(x1) = ((1,1),(1,1)) x1 + (10,11) n__nil_A() = (4,1) a_A() = (4,1) n__a_A() = (4,1) e_A() = (4,0) n__e_A() = (4,0) i_A() = (6,2) n__i_A() = (6,2) o_A() = (4,0) n__o_A() = (4,0) u_A() = (6,2) n__u_A() = (6,2) precedence: activate = isNePal > isPal > U71 > U61 > __ > n____ > U71# = nil > isPal# = activate# = isNePal# = n__nil > isPalListKind# > and# = n__isPalListKind = isPalListKind = and > n__and > U72 > i = n__i > a = n__a > n__isPal > e > n__e > U62 > o = n__o > tt = isQid > u = n__u partial status: pi(isPal#) = [] pi(activate#) = [] pi(n__isPal) = [1] pi(isPalListKind#) = [] pi(activate) = [] pi(n____) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__isPalListKind) = [] pi(U71#) = [] pi(isPalListKind) = [1] pi(isNePal#) = [1] pi(isQid) = [] pi(and) = [] pi(U62) = [] pi(U61) = [] pi(U72) = [] pi(isNePal) = [] pi(U71) = [] pi(__) = [1, 2] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(n__a) = [] pi(e) = [] pi(n__e) = [] pi(i) = [] pi(n__i) = [] pi(o) = [] pi(n__o) = [] pi(u) = [] pi(n__u) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPalListKind#(n____(V1,V2)) -> activate#(V2) p4: activate#(n__and(X1,X2)) -> activate#(X1) p5: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p6: and#(tt(),X) -> activate#(X) p7: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p8: isPalListKind#(n____(V1,V2)) -> activate#(V1) p9: activate#(n____(X1,X2)) -> activate#(X1) p10: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p11: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p12: U71#(tt(),V) -> activate#(V) p13: U71#(tt(),V) -> isNePal#(activate(V)) p14: isNePal#(n____(I,n____(P,I))) -> activate#(I) p15: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p16: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p17: isNePal#(V) -> activate#(V) p18: isNePal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p4: isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) p5: isPalListKind#(n____(V1,V2)) -> activate#(V1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__and(X1,X2)) -> activate#(X1) p9: activate#(n__isPal(X)) -> isPal#(X) p10: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p11: U71#(tt(),V) -> isNePal#(activate(V)) p12: isNePal#(V) -> isPalListKind#(activate(V)) p13: isPalListKind#(n____(V1,V2)) -> activate#(V2) p14: isNePal#(V) -> activate#(V) p15: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p16: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p17: isNePal#(n____(I,n____(P,I))) -> activate#(I) p18: U71#(tt(),V) -> activate#(V) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((1,1),(0,0)) x1 + (6,2) activate#_A(x1) = ((0,1),(0,0)) x1 + (3,2) n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (9,2) n__isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (27,0) isPalListKind#_A(x1) = ((0,1),(0,0)) x1 + (2,2) activate_A(x1) = x1 n__and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 and#_A(x1,x2) = ((0,1),(0,0)) x2 + (3,2) tt_A() = (2,1) n__isPal_A(x1) = ((1,1),(1,1)) x1 + (5,5) U71#_A(x1,x2) = ((1,1),(0,0)) x2 + (5,2) isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (27,0) isNePal#_A(x1) = ((1,1),(0,0)) x1 + (4,2) and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 isQid_A(x1) = ((0,1),(0,0)) x1 + (29,5) U62_A(x1) = (3,2) U61_A(x1,x2) = (4,2) U72_A(x1) = (3,2) isNePal_A(x1) = ((1,0),(1,1)) x1 + (10,3) U71_A(x1,x2) = ((0,1),(0,0)) x1 + (3,2) ___A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (9,2) nil_A() = (3,1) isPal_A(x1) = ((1,1),(1,1)) x1 + (5,5) n__nil_A() = (3,1) a_A() = (1,1) n__a_A() = (1,1) e_A() = (0,1) n__e_A() = (0,1) i_A() = (1,1) n__i_A() = (1,1) o_A() = (1,1) n__o_A() = (1,1) u_A() = (3,1) n__u_A() = (3,1) precedence: activate = isPalListKind = and = U61 = isNePal = u = n__u > isPal > U71 > n__isPalListKind = i = n__i > U72 > isPal# = activate# = isPalListKind# = and# = tt = U71# = isNePal# = isQid = U62 > n__isPal > n____ = __ = a > nil = n__a = e = n__e > n__nil = o > n__o > n__and partial status: pi(isPal#) = [] pi(activate#) = [] pi(n____) = [] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(activate) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__isPal) = [1] pi(U71#) = [] pi(isPalListKind) = [] pi(isNePal#) = [] pi(and) = [] pi(isQid) = [] pi(U62) = [] pi(U61) = [] pi(U72) = [] pi(isNePal) = [] pi(U71) = [] pi(__) = [1, 2] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(n__a) = [] pi(e) = [] pi(n__e) = [] pi(i) = [] pi(n__i) = [] pi(o) = [] pi(n__o) = [] pi(u) = [] pi(n__u) = [] 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: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p4: isPalListKind#(n____(V1,V2)) -> activate#(V1) p5: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p6: and#(tt(),X) -> activate#(X) p7: activate#(n__and(X1,X2)) -> activate#(X1) p8: activate#(n__isPal(X)) -> isPal#(X) p9: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p10: U71#(tt(),V) -> isNePal#(activate(V)) p11: isNePal#(V) -> isPalListKind#(activate(V)) p12: isPalListKind#(n____(V1,V2)) -> activate#(V2) p13: isNePal#(V) -> activate#(V) p14: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p15: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p16: isNePal#(n____(I,n____(P,I))) -> activate#(I) p17: U71#(tt(),V) -> activate#(V) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p4: U71#(tt(),V) -> activate#(V) p5: activate#(n__and(X1,X2)) -> activate#(X1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p9: isPalListKind#(n____(V1,V2)) -> activate#(V2) p10: activate#(n____(X1,X2)) -> activate#(X1) p11: isPalListKind#(n____(V1,V2)) -> activate#(V1) p12: U71#(tt(),V) -> isNePal#(activate(V)) p13: isNePal#(n____(I,n____(P,I))) -> activate#(I) p14: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p15: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p16: isNePal#(V) -> activate#(V) p17: isNePal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((1,1),(0,0)) x1 + (6,0) activate#_A(x1) = ((0,1),(0,0)) x1 n__isPal_A(x1) = ((0,1),(1,1)) x1 + (5,7) U71#_A(x1,x2) = ((1,1),(0,0)) x2 + (2,0) isPalListKind_A(x1) = ((1,1),(0,1)) x1 + (22,0) activate_A(x1) = x1 tt_A() = (2,1) n__and_A(x1,x2) = x1 + x2 + (0,1) and#_A(x1,x2) = ((0,1),(0,0)) x2 n__isPalListKind_A(x1) = ((1,1),(0,1)) x1 + (22,0) isPalListKind#_A(x1) = ((0,1),(0,0)) x1 n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (14,8) isNePal#_A(x1) = ((1,1),(0,0)) x1 + (1,0) isQid_A(x1) = (46,7) and_A(x1,x2) = x1 + x2 + (0,1) U62_A(x1) = (3,2) U61_A(x1,x2) = (4,2) U72_A(x1) = (3,2) isNePal_A(x1) = ((1,1),(1,1)) x1 + (52,3) U71_A(x1,x2) = (4,2) ___A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (14,8) nil_A() = (1,1) isPal_A(x1) = ((0,1),(1,1)) x1 + (5,7) n__nil_A() = (1,1) a_A() = (0,1) n__a_A() = (0,1) e_A() = (1,1) n__e_A() = (1,1) i_A() = (3,1) n__i_A() = (3,1) o_A() = (1,1) n__o_A() = (1,1) u_A() = (0,1) n__u_A() = (0,1) precedence: isPal# = activate# = n__isPal = U71# = isPalListKind = activate = tt = n__and = and# = n__isPalListKind = isPalListKind# = n____ = isNePal# = isQid = and = U62 = U61 = U72 = isNePal = U71 = __ = nil = isPal = n__nil = a = n__a = e = n__e = i = n__i = o = n__o = u = n__u partial status: pi(isPal#) = [] pi(activate#) = [] pi(n__isPal) = [] pi(U71#) = [] pi(isPalListKind) = [] pi(activate) = [] pi(tt) = [] pi(n__and) = [] pi(and#) = [] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(n____) = [] pi(isNePal#) = [] pi(isQid) = [] pi(and) = [] pi(U62) = [] pi(U61) = [] pi(U72) = [] pi(isNePal) = [] pi(U71) = [] pi(__) = [] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(n__a) = [] pi(e) = [] pi(n__e) = [] pi(i) = [] pi(n__i) = [] pi(o) = [] pi(n__o) = [] pi(u) = [] pi(n__u) = [] The next rules are strictly ordered: p13 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p4: U71#(tt(),V) -> activate#(V) p5: activate#(n__and(X1,X2)) -> activate#(X1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p9: isPalListKind#(n____(V1,V2)) -> activate#(V2) p10: activate#(n____(X1,X2)) -> activate#(X1) p11: isPalListKind#(n____(V1,V2)) -> activate#(V1) p12: U71#(tt(),V) -> isNePal#(activate(V)) p13: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p14: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p15: isNePal#(V) -> activate#(V) p16: isNePal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p4: isPalListKind#(n____(V1,V2)) -> activate#(V1) p5: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p6: and#(tt(),X) -> activate#(X) p7: activate#(n__and(X1,X2)) -> activate#(X1) p8: activate#(n__isPal(X)) -> isPal#(X) p9: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p10: U71#(tt(),V) -> isNePal#(activate(V)) p11: isNePal#(V) -> isPalListKind#(activate(V)) p12: isPalListKind#(n____(V1,V2)) -> activate#(V2) p13: isNePal#(V) -> activate#(V) p14: isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) p15: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p16: U71#(tt(),V) -> activate#(V) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((1,1),(1,1)) x1 + (5,14) activate#_A(x1) = ((0,1),(0,1)) x1 + (2,14) n_____A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (26,9) n__isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (24,5) isPalListKind#_A(x1) = ((0,1),(0,1)) x1 + (3,5) n__and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (8,0) and#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,1)) x2 + (2,14) activate_A(x1) = x1 tt_A() = (2,4) n__isPal_A(x1) = ((0,0),(1,1)) x1 + (25,4) U71#_A(x1,x2) = ((1,1),(1,1)) x2 + (4,14) isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (24,5) isNePal#_A(x1) = ((1,1),(1,1)) x1 + (3,14) and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (8,0) isQid_A(x1) = (3,9) U62_A(x1) = ((0,0),(1,0)) x1 + (2,5) U61_A(x1,x2) = (22,8) U72_A(x1) = (3,4) isNePal_A(x1) = ((1,0),(1,1)) x1 + (23,8) U71_A(x1,x2) = ((0,0),(0,1)) x2 + (4,4) ___A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (26,9) nil_A() = (1,0) isPal_A(x1) = ((0,0),(1,1)) x1 + (25,4) n__nil_A() = (1,0) a_A() = (3,4) n__a_A() = (3,4) e_A() = (3,4) n__e_A() = (3,4) i_A() = (3,4) n__i_A() = (3,4) o_A() = (3,4) n__o_A() = (3,4) u_A() = (3,4) n__u_A() = (3,4) precedence: e = n__e > isPal# = activate# = isPalListKind# = U71# = isNePal# > and# > n__isPalListKind = activate = isPalListKind = and = isQid = isNePal = U71 = isPal = a = n__a > U62 = U61 > n____ = __ > tt = U72 > n__and = i > nil > n__isPal = n__nil > n__i > u > n__u > o = n__o partial status: pi(isPal#) = [] pi(activate#) = [] pi(n____) = [] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(n__and) = [] pi(and#) = [] pi(activate) = [1] pi(tt) = [] pi(n__isPal) = [] pi(U71#) = [] pi(isPalListKind) = [] pi(isNePal#) = [] pi(and) = [] pi(isQid) = [] pi(U62) = [] pi(U61) = [] pi(U72) = [] pi(isNePal) = [] pi(U71) = [] pi(__) = [1, 2] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(n__a) = [] pi(e) = [] pi(n__e) = [] pi(i) = [] pi(n__i) = [] pi(o) = [] pi(n__o) = [] pi(u) = [] pi(n__u) = [] The next rules are strictly ordered: p14 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p4: isPalListKind#(n____(V1,V2)) -> activate#(V1) p5: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p6: and#(tt(),X) -> activate#(X) p7: activate#(n__and(X1,X2)) -> activate#(X1) p8: activate#(n__isPal(X)) -> isPal#(X) p9: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p10: U71#(tt(),V) -> isNePal#(activate(V)) p11: isNePal#(V) -> isPalListKind#(activate(V)) p12: isPalListKind#(n____(V1,V2)) -> activate#(V2) p13: isNePal#(V) -> activate#(V) p14: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p15: U71#(tt(),V) -> activate#(V) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p4: U71#(tt(),V) -> activate#(V) p5: activate#(n__and(X1,X2)) -> activate#(X1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p9: isPalListKind#(n____(V1,V2)) -> activate#(V2) p10: activate#(n____(X1,X2)) -> activate#(X1) p11: isPalListKind#(n____(V1,V2)) -> activate#(V1) p12: U71#(tt(),V) -> isNePal#(activate(V)) p13: isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPalListKind(activate(I))) p14: isNePal#(V) -> activate#(V) p15: isNePal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((0,1),(0,0)) x1 + (6,7) activate#_A(x1) = ((0,1),(0,0)) x1 + (4,7) n__isPal_A(x1) = ((0,1),(0,1)) x1 + (14,4) U71#_A(x1,x2) = ((0,1),(0,0)) x2 + (5,7) isPalListKind_A(x1) = ((0,0),(0,1)) x1 + (0,1) activate_A(x1) = x1 tt_A() = (0,0) n__and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (0,1) and#_A(x1,x2) = ((0,1),(0,0)) x2 + (5,7) n__isPalListKind_A(x1) = ((0,0),(0,1)) x1 + (0,1) isPalListKind#_A(x1) = ((0,1),(0,0)) x1 + (1,7) n_____A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (15,3) isNePal#_A(x1) = ((0,1),(0,0)) x1 + (5,7) isQid_A(x1) = ((1,1),(1,0)) x1 + (12,7) U62_A(x1) = (1,1) U61_A(x1,x2) = (13,1) U72_A(x1) = (1,1) isNePal_A(x1) = ((0,0),(1,1)) x1 + (14,2) and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (0,1) U71_A(x1,x2) = ((0,1),(0,0)) x2 + (14,1) ___A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (15,3) nil_A() = (1,1) isPal_A(x1) = ((0,1),(0,1)) x1 + (14,4) n__nil_A() = (1,1) a_A() = (1,1) n__a_A() = (1,1) e_A() = (1,0) n__e_A() = (1,0) i_A() = (1,1) n__i_A() = (1,1) o_A() = (1,1) n__o_A() = (1,1) u_A() = (1,1) n__u_A() = (1,1) precedence: n__isPal = isPalListKind = activate = n__and = n__isPalListKind = isNePal = and = __ = isPal = a = i = n__i = o > isPal# > activate# = U71# = isPalListKind# > isQid > isNePal# > and# > n____ > U62 = U61 = U72 = U71 > tt = n__a = e = n__e = n__o > nil = n__nil > u = n__u partial status: pi(isPal#) = [] pi(activate#) = [] pi(n__isPal) = [] pi(U71#) = [] pi(isPalListKind) = [] pi(activate) = [] pi(tt) = [] pi(n__and) = [] pi(and#) = [] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(n____) = [] pi(isNePal#) = [] pi(isQid) = [] pi(U62) = [] pi(U61) = [] pi(U72) = [] pi(isNePal) = [] pi(and) = [] pi(U71) = [] pi(__) = [] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(n__a) = [] pi(e) = [] pi(n__e) = [] pi(i) = [] pi(n__i) = [] pi(o) = [] pi(n__o) = [] pi(u) = [] pi(n__u) = [] The next rules are strictly ordered: p13 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(V) -> activate#(V) p2: activate#(n__isPal(X)) -> isPal#(X) p3: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p4: U71#(tt(),V) -> activate#(V) p5: activate#(n__and(X1,X2)) -> activate#(X1) p6: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p7: and#(tt(),X) -> activate#(X) p8: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p9: isPalListKind#(n____(V1,V2)) -> activate#(V2) p10: activate#(n____(X1,X2)) -> activate#(X1) p11: isPalListKind#(n____(V1,V2)) -> activate#(V1) p12: U71#(tt(),V) -> isNePal#(activate(V)) p13: isNePal#(V) -> activate#(V) p14: isNePal#(V) -> isPalListKind#(activate(V)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> 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: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p4: isPalListKind#(n____(V1,V2)) -> activate#(V1) p5: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p6: and#(tt(),X) -> activate#(X) p7: activate#(n__and(X1,X2)) -> activate#(X1) p8: activate#(n__isPal(X)) -> isPal#(X) p9: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p10: U71#(tt(),V) -> isNePal#(activate(V)) p11: isNePal#(V) -> isPalListKind#(activate(V)) p12: isPalListKind#(n____(V1,V2)) -> activate#(V2) p13: isNePal#(V) -> activate#(V) p14: U71#(tt(),V) -> activate#(V) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((0,1),(0,0)) x1 + (24,12) activate#_A(x1) = ((0,1),(0,0)) x1 + (13,12) n_____A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (12,38) n__isPalListKind_A(x1) = ((0,0),(0,1)) x1 + (11,14) isPalListKind#_A(x1) = ((0,1),(0,0)) x1 + (14,12) n__and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (0,11) and#_A(x1,x2) = ((0,1),(0,0)) x2 + (13,12) activate_A(x1) = ((1,1),(0,1)) x1 + (23,0) tt_A() = (15,12) n__isPal_A(x1) = ((0,1),(0,1)) x1 + (1,38) U71#_A(x1,x2) = ((0,1),(0,0)) x2 + (24,12) isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (19,14) isNePal#_A(x1) = ((0,1),(0,0)) x1 + (14,12) U62_A(x1) = (16,13) U61_A(x1,x2) = (17,13) isQid_A(x1) = ((1,1),(0,0)) x1 + (96,13) n__a_A() = (14,12) n__e_A() = (0,1) n__i_A() = (1,0) n__o_A() = (1,12) n__u_A() = (1,12) U72_A(x1) = (16,35) isNePal_A(x1) = ((1,1),(1,1)) x1 + (18,13) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((1,1),(0,1)) x2 + (31,11) U71_A(x1,x2) = ((1,0),(0,0)) x1 + (2,35) ___A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (13,38) nil_A() = (0,12) isPal_A(x1) = ((0,1),(0,1)) x1 + (22,38) n__nil_A() = (0,12) a_A() = (49,12) e_A() = (23,1) i_A() = (24,0) o_A() = (2,12) u_A() = (2,12) precedence: activate# = and# = n__o > isPal# = n__isPalListKind = isPalListKind# = n__and = activate = n__isPal = U71# = isPalListKind = isNePal# = n__a = isNePal = and = U71 = isPal = a = o > tt > isQid > __ > n____ > U61 > nil > U62 > n__e = U72 > n__nil = e > n__i > n__u = i = u partial status: pi(isPal#) = [] pi(activate#) = [] pi(n____) = [2] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(n__and) = [] pi(and#) = [] pi(activate) = [] pi(tt) = [] pi(n__isPal) = [] pi(U71#) = [] pi(isPalListKind) = [] pi(isNePal#) = [] pi(U62) = [] pi(U61) = [] pi(isQid) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(U72) = [] pi(isNePal) = [] pi(and) = [] pi(U71) = [] pi(__) = [1, 2] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p8 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(V) -> activate#(V) p2: activate#(n____(X1,X2)) -> activate#(X1) p3: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p4: isPalListKind#(n____(V1,V2)) -> activate#(V1) p5: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p6: and#(tt(),X) -> activate#(X) p7: activate#(n__and(X1,X2)) -> activate#(X1) p8: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p9: U71#(tt(),V) -> isNePal#(activate(V)) p10: isNePal#(V) -> isPalListKind#(activate(V)) p11: isPalListKind#(n____(V1,V2)) -> activate#(V2) p12: isNePal#(V) -> activate#(V) p13: U71#(tt(),V) -> activate#(V) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p2, p3, p4, p5, p6, p7, p11} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n____(X1,X2)) -> activate#(X1) p2: activate#(n__and(X1,X2)) -> activate#(X1) p3: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p4: and#(tt(),X) -> activate#(X) p5: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p6: isPalListKind#(n____(V1,V2)) -> activate#(V2) p7: isPalListKind#(n____(V1,V2)) -> activate#(V1) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: activate#_A(x1) = ((1,1),(0,1)) x1 + (3,0) n_____A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,8) n__and_A(x1,x2) = ((0,0),(1,1)) x1 + x2 + (1,1) and#_A(x1,x2) = ((0,1),(0,0)) x1 + ((1,1),(0,1)) x2 + (2,1) activate_A(x1) = x1 tt_A() = (0,7) n__isPalListKind_A(x1) = ((1,0),(1,1)) x1 + (5,1) isPalListKind#_A(x1) = ((1,1),(0,1)) x1 + (6,0) U62_A(x1) = (2,8) U61_A(x1,x2) = ((1,1),(0,0)) x2 + (3,8) isQid_A(x1) = ((0,0),(1,0)) x1 + (8,7) n__a_A() = (1,5) n__e_A() = (0,6) n__i_A() = (1,5) n__o_A() = (1,7) n__u_A() = (1,5) U72_A(x1) = (1,8) isNePal_A(x1) = ((1,1),(1,1)) x1 + (4,21) isPalListKind_A(x1) = ((1,0),(1,1)) x1 + (5,1) and_A(x1,x2) = ((0,0),(1,1)) x1 + x2 + (1,1) n__isPal_A(x1) = (7,8) U71_A(x1,x2) = (2,8) ___A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,8) nil_A() = (6,0) isPal_A(x1) = (7,8) n__nil_A() = (6,0) a_A() = (1,5) e_A() = (0,6) i_A() = (1,5) o_A() = (1,7) u_A() = (1,5) precedence: isNePal > activate# = n__isPalListKind = isPalListKind# = isPalListKind = nil = n__nil > n__and = and > n__e = e > n____ = activate = n__a = n__o = n__u = __ = a = o = u > U61 > isQid > n__i = i > and# > tt = U62 = n__isPal = isPal > U72 = U71 partial status: pi(activate#) = [1] pi(n____) = [] pi(n__and) = [] pi(and#) = [] pi(activate) = [1] pi(tt) = [] pi(n__isPalListKind) = [] pi(isPalListKind#) = [1] pi(U62) = [] pi(U61) = [] pi(isQid) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(U72) = [] pi(isNePal) = [1] pi(isPalListKind) = [] pi(and) = [] pi(n__isPal) = [] pi(U71) = [] pi(__) = [] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p7 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n____(X1,X2)) -> activate#(X1) p2: activate#(n__and(X1,X2)) -> activate#(X1) p3: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p4: and#(tt(),X) -> activate#(X) p5: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p6: isPalListKind#(n____(V1,V2)) -> activate#(V2) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n____(X1,X2)) -> activate#(X1) p2: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p3: isPalListKind#(n____(V1,V2)) -> activate#(V2) p4: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p5: and#(tt(),X) -> activate#(X) p6: activate#(n__and(X1,X2)) -> activate#(X1) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: activate#_A(x1) = ((0,1),(0,1)) x1 n_____A(x1,x2) = x1 + x2 + (28,15) n__isPalListKind_A(x1) = ((0,0),(0,1)) x1 + (0,5) isPalListKind#_A(x1) = ((0,1),(0,1)) x1 + (0,1) n__and_A(x1,x2) = x1 + ((0,0),(1,1)) x2 + (3,5) and#_A(x1,x2) = ((1,1),(1,1)) x2 + (4,1) activate_A(x1) = ((1,1),(0,1)) x1 + (2,0) tt_A() = (0,2) U62_A(x1) = (1,3) U61_A(x1,x2) = ((1,0),(0,0)) x2 + (3,4) isQid_A(x1) = ((1,0),(1,0)) x1 + (2,2) n__a_A() = (0,0) n__e_A() = (0,1) n__i_A() = (1,0) n__o_A() = (0,0) n__u_A() = (0,2) U72_A(x1) = (1,3) isNePal_A(x1) = ((1,1),(1,1)) x1 + (28,4) isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (6,5) and_A(x1,x2) = x1 + ((1,1),(1,1)) x2 + (3,5) n__isPal_A(x1) = (24,3) U71_A(x1,x2) = (29,3) ___A(x1,x2) = x1 + x2 + (41,15) nil_A() = (0,0) isPal_A(x1) = (29,3) n__nil_A() = (0,0) a_A() = (0,0) e_A() = (0,1) i_A() = (2,0) o_A() = (0,0) u_A() = (0,2) precedence: n__i = i > n__o = o > n__a = a > n__e = e > n__u = u > isQid > isNePal > n__isPalListKind = n__and = activate = isPalListKind = and = n__isPal = isPal > nil > U72 = U71 = n__nil > n____ = __ > U62 = U61 > activate# = isPalListKind# = and# > tt partial status: pi(activate#) = [] pi(n____) = [1, 2] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(n__and) = [] pi(and#) = [] pi(activate) = [1] pi(tt) = [] pi(U62) = [] pi(U61) = [] pi(isQid) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(U72) = [] pi(isNePal) = [] pi(isPalListKind) = [] pi(and) = [] pi(n__isPal) = [] pi(U71) = [] pi(__) = [1, 2] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 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: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p2: isPalListKind#(n____(V1,V2)) -> activate#(V2) p3: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p4: and#(tt(),X) -> activate#(X) p5: activate#(n__and(X1,X2)) -> activate#(X1) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p2: isPalListKind#(n____(V1,V2)) -> activate#(V2) p3: activate#(n__and(X1,X2)) -> activate#(X1) p4: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p5: and#(tt(),X) -> activate#(X) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r17, r18, r19, r20, r21, 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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: activate#_A(x1) = ((1,1),(1,1)) x1 + (8,2) n__isPalListKind_A(x1) = x1 + (0,1) isPalListKind#_A(x1) = ((1,1),(1,1)) x1 + (8,0) n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (7,0) n__and_A(x1,x2) = ((0,1),(1,0)) x1 + x2 + (1,0) and#_A(x1,x2) = ((0,1),(0,0)) x1 + ((1,1),(1,1)) x2 + (8,2) activate_A(x1) = x1 tt_A() = (2,1) U62_A(x1) = (3,1) U61_A(x1,x2) = ((0,0),(0,1)) x2 + (4,1) isQid_A(x1) = (3,1) n__a_A() = (2,1) n__e_A() = (2,1) n__i_A() = (2,1) n__o_A() = (2,1) n__u_A() = (3,1) U72_A(x1) = (3,2) isNePal_A(x1) = ((1,1),(1,1)) x1 + (5,4) isPalListKind_A(x1) = x1 + (0,1) and_A(x1,x2) = ((0,1),(1,0)) x1 + x2 + (1,0) n__isPal_A(x1) = ((0,0),(1,0)) x1 + (15,0) U71_A(x1,x2) = ((0,0),(1,0)) x1 + (4,0) ___A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (7,0) nil_A() = (2,0) isPal_A(x1) = ((0,0),(1,0)) x1 + (15,0) n__nil_A() = (2,0) a_A() = (2,1) e_A() = (2,1) i_A() = (2,1) o_A() = (2,1) u_A() = (3,1) precedence: n__isPalListKind = n__u = isPalListKind = nil = n__nil = u > activate# = n__and = isNePal = and > activate > n____ = n__o = __ = o > n__e = e > n__i = i > isQid > a > n__a > isPalListKind# = tt = U62 = U61 = U72 = n__isPal = U71 = isPal > and# partial status: pi(activate#) = [] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(n____) = [] pi(n__and) = [] pi(and#) = [] pi(activate) = [1] pi(tt) = [] pi(U62) = [] pi(U61) = [] pi(isQid) = [] pi(n__a) = [] pi(n__e) = [] pi(n__i) = [] pi(n__o) = [] pi(n__u) = [] pi(U72) = [] pi(isNePal) = [1] pi(isPalListKind) = [] pi(and) = [] pi(n__isPal) = [] pi(U71) = [] pi(__) = [1, 2] pi(nil) = [] pi(isPal) = [] pi(n__nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] 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: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p2: isPalListKind#(n____(V1,V2)) -> activate#(V2) p3: activate#(n__and(X1,X2)) -> activate#(X1) p4: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p2: isPalListKind#(n____(V1,V2)) -> activate#(V2) p3: activate#(n__and(X1,X2)) -> activate#(X1) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: activate#_A(x1) = ((0,1),(0,1)) x1 + (2,2) n__isPalListKind_A(x1) = x1 + (3,1) isPalListKind#_A(x1) = ((0,1),(0,1)) x1 + (2,2) n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (1,1) n__and_A(x1,x2) = ((0,0),(0,1)) x1 + ((1,1),(1,1)) x2 + (1,1) precedence: n__isPalListKind > activate# > isPalListKind# = n____ > n__and partial status: pi(activate#) = [] pi(n__isPalListKind) = [] pi(isPalListKind#) = [] pi(n____) = [2] pi(n__and) = [] 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: activate#(n__isPalListKind(X)) -> isPalListKind#(X) p2: activate#(n__and(X1,X2)) -> activate#(X1) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__and(X1,X2)) -> activate#(X1) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: activate#_A(x1) = x1 + (1,1) n__and_A(x1,x2) = x1 + ((1,1),(1,1)) x2 + (2,1) precedence: n__and > activate# partial status: pi(activate#) = [1] pi(n__and) = [1, 2] 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: __#(__(X,Y),Z) -> __#(X,__(Y,Z)) p2: __#(__(X,Y),Z) -> __#(Y,Z) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r45 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: __#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (3,2) ___A(x1,x2) = x1 + x2 + (2,1) nil_A() = (1,1) n_____A(x1,x2) = (1,1) precedence: __ > __# = nil = n____ partial status: pi(__#) = [1] pi(__) = [] pi(nil) = [] pi(n____) = [] 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: __#(__(X,Y),Z) -> __#(X,__(Y,Z)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: __#(__(X,Y),Z) -> __#(X,__(Y,Z)) and R consists of: r1: __(__(X,Y),Z) -> __(X,__(Y,Z)) r2: __(X,nil()) -> X r3: __(nil(),X) -> X r4: U11(tt(),V) -> U12(isNeList(activate(V))) r5: U12(tt()) -> tt() r6: U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) r7: U22(tt(),V2) -> U23(isList(activate(V2))) r8: U23(tt()) -> tt() r9: U31(tt(),V) -> U32(isQid(activate(V))) r10: U32(tt()) -> tt() r11: U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) r12: U42(tt(),V2) -> U43(isNeList(activate(V2))) r13: U43(tt()) -> tt() r14: U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) r15: U52(tt(),V2) -> U53(isList(activate(V2))) r16: U53(tt()) -> tt() r17: U61(tt(),V) -> U62(isQid(activate(V))) r18: U62(tt()) -> tt() r19: U71(tt(),V) -> U72(isNePal(activate(V))) r20: U72(tt()) -> tt() r21: and(tt(),X) -> activate(X) r22: isList(V) -> U11(isPalListKind(activate(V)),activate(V)) r23: isList(n__nil()) -> tt() r24: isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r25: isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) r26: isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r27: isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) r28: isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) r29: isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)),n__isPalListKind(activate(P)))) r30: isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) r31: isPal(n__nil()) -> tt() r32: isPalListKind(n__a()) -> tt() r33: isPalListKind(n__e()) -> tt() r34: isPalListKind(n__i()) -> tt() r35: isPalListKind(n__nil()) -> tt() r36: isPalListKind(n__o()) -> tt() r37: isPalListKind(n__u()) -> tt() r38: isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) r39: isQid(n__a()) -> tt() r40: isQid(n__e()) -> tt() r41: isQid(n__i()) -> tt() r42: isQid(n__o()) -> tt() r43: isQid(n__u()) -> tt() r44: nil() -> n__nil() r45: __(X1,X2) -> n____(X1,X2) r46: isPalListKind(X) -> n__isPalListKind(X) r47: and(X1,X2) -> n__and(X1,X2) r48: isPal(X) -> n__isPal(X) r49: a() -> n__a() r50: e() -> n__e() r51: i() -> n__i() r52: o() -> n__o() r53: u() -> n__u() r54: activate(n__nil()) -> nil() r55: activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) r56: activate(n__isPalListKind(X)) -> isPalListKind(X) r57: activate(n__and(X1,X2)) -> and(activate(X1),X2) r58: activate(n__isPal(X)) -> isPal(X) r59: activate(n__a()) -> a() r60: activate(n__e()) -> e() r61: activate(n__i()) -> i() r62: activate(n__o()) -> o() r63: activate(n__u()) -> u() r64: activate(X) -> X The set of usable rules consists of r1, r2, r3, r45 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: __#_A(x1,x2) = ((1,1),(0,1)) x1 + (2,2) ___A(x1,x2) = x1 + x2 + (1,1) nil_A() = (1,1) n_____A(x1,x2) = (0,0) precedence: __ > __# = nil = n____ partial status: pi(__#) = [1] pi(__) = [] pi(nil) = [] pi(n____) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.