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: matrix interpretations: carrier: N^2 order: standard order interpretations: U52#_A(x1,x2) = ((0,1),(0,0)) x2 tt_A() = (1,1) isList#_A(x1) = ((0,1),(0,0)) x1 activate_A(x1) = ((1,1),(0,1)) x1 + (1,0) n_____A(x1,x2) = x1 + x2 + (1,3) U21#_A(x1,x2,x3) = ((0,1),(0,0)) x2 + ((0,1),(0,0)) x3 + (3,0) and_A(x1,x2) = x1 + ((1,1),(0,1)) x2 + (1,1) isPalListKind_A(x1) = ((0,1),(0,1)) x1 + (1,1) n__isPalListKind_A(x1) = x1 + (1,1) U11#_A(x1,x2) = ((0,1),(0,0)) x2 isNeList#_A(x1) = ((0,1),(0,0)) x1 U51#_A(x1,x2,x3) = ((0,1),(0,0)) x2 + ((0,1),(0,0)) x3 + (3,0) U41#_A(x1,x2,x3) = ((0,1),(0,0)) x2 + ((0,1),(0,0)) x3 U42#_A(x1,x2) = ((0,1),(0,0)) x2 isList_A(x1) = ((1,1),(1,0)) x1 + (2,1) isNeList_A(x1) = ((1,1),(1,1)) x1 + (2,2) U22#_A(x1,x2) = ((0,1),(0,0)) x2 U62_A(x1) = (1,1) U61_A(x1,x2) = x2 + (1,1) isQid_A(x1) = ((0,1),(1,0)) x1 + (1,0) U23_A(x1) = (1,1) U43_A(x1) = (1,1) U53_A(x1) = (1,1) U72_A(x1) = (1,1) isNePal_A(x1) = ((1,1),(1,1)) x1 + (3,1) n__and_A(x1,x2) = x1 + x2 + (1,1) n__isPal_A(x1) = (1,1) U12_A(x1) = (1,1) U22_A(x1,x2) = (1,1) U32_A(x1) = (1,1) U42_A(x1,x2) = (1,1) U52_A(x1,x2) = (1,1) U71_A(x1,x2) = (1,1) n__a_A() = (1,1) n__e_A() = (1,1) n__i_A() = (1,1) n__o_A() = (1,1) n__u_A() = (1,1) ___A(x1,x2) = x1 + x2 + (1,3) nil_A() = (1,1) U11_A(x1,x2) = x2 + (1,1) U21_A(x1,x2,x3) = x2 + x3 + (1,1) U31_A(x1,x2) = ((1,0),(1,0)) x2 + (1,1) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (1,1) U51_A(x1,x2,x3) = ((1,0),(1,0)) x2 + x3 + (1,1) isPal_A(x1) = (1,1) n__nil_A() = (1,1) a_A() = (1,1) e_A() = (1,1) i_A() = (1,1) o_A() = (1,1) u_A() = (1,1) The next rules are strictly ordered: p3, p7, p8, p12, 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: 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: U41#(tt(),V1,V2) -> isList#(activate(V1)) p7: U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) p8: U42#(tt(),V2) -> isNeList#(activate(V2)) p9: 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: (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: matrix interpretations: carrier: N^2 order: standard order interpretations: isPal#_A(x1) = ((1,1),(1,1)) x1 + (4,0) activate#_A(x1) = ((1,0),(1,0)) x1 + (4,0) n__isPal_A(x1) = ((1,1),(0,0)) x1 + (8,1) isPalListKind#_A(x1) = ((1,1),(1,1)) x1 activate_A(x1) = x1 n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (3,1) n__and_A(x1,x2) = x1 + x2 + (0,1) and#_A(x1,x2) = ((1,0),(1,0)) x2 + (4,0) tt_A() = (1,1) n__isPalListKind_A(x1) = ((1,1),(1,0)) x1 + (0,1) isPalListKind_A(x1) = ((1,1),(1,0)) x1 + (0,1) U71#_A(x1,x2) = ((1,1),(1,1)) x2 + (4,0) isNePal#_A(x1) = ((1,1),(1,1)) x1 + (4,0) isQid_A(x1) = (1,1) and_A(x1,x2) = x1 + x2 + (0,1) U61#_A(x1,x2) = ((1,0),(1,0)) x2 + (4,0) U62_A(x1) = x1 + (0,1) U61_A(x1,x2) = (1,1) U72_A(x1) = (1,1) isNePal_A(x1) = ((1,1),(1,0)) x1 + (1,1) U71_A(x1,x2) = (1,1) ___A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (3,1) nil_A() = (1,1) isPal_A(x1) = ((1,1),(0,0)) x1 + (8,1) n__nil_A() = (1,1) a_A() = (1,1) n__a_A() = (1,1) e_A() = (1,1) n__e_A() = (1,1) 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) The next rules are strictly ordered: p2, p3, p8, p10, p11, p12, p17, p18, p19, p22 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: 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) p6: isPalListKind#(n____(V1,V2)) -> activate#(V1) p7: isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) p8: isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) p9: U71#(tt(),V) -> activate#(V) p10: U71#(tt(),V) -> isNePal#(activate(V)) p11: 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)))) p12: isNePal#(V) -> activate#(V) p13: isNePal#(V) -> U61#(isPalListKind(activate(V)),activate(V)) p14: 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: {p3, p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__and(X1,X2)) -> activate#(X1) p2: activate#(n__and(X1,X2)) -> and#(activate(X1),X2) p3: 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: matrix interpretations: carrier: N^2 order: standard order interpretations: activate#_A(x1) = ((1,1),(1,1)) x1 + (1,0) n__and_A(x1,x2) = ((0,1),(1,0)) x1 + x2 + (1,1) and#_A(x1,x2) = x1 + ((1,1),(1,1)) x2 activate_A(x1) = x1 tt_A() = (1,1) U62_A(x1) = ((1,0),(1,0)) x1 U61_A(x1,x2) = ((1,0),(1,0)) x1 isQid_A(x1) = (1,1) n__a_A() = (1,1) n__e_A() = (1,1) n__i_A() = (1,1) n__o_A() = (1,1) n__u_A() = (1,1) U72_A(x1) = (1,1) isNePal_A(x1) = ((1,1),(1,1)) x1 + (1,1) isPalListKind_A(x1) = ((1,0),(1,0)) x1 + (1,0) n_____A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (2,1) and_A(x1,x2) = ((0,1),(1,0)) x1 + x2 + (1,1) n__isPalListKind_A(x1) = ((1,0),(1,0)) x1 + (1,0) n__isPal_A(x1) = ((1,1),(0,1)) x1 + (1,1) U71_A(x1,x2) = x2 + (1,1) ___A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (2,1) nil_A() = (1,1) isPal_A(x1) = ((1,1),(0,1)) x1 + (1,1) n__nil_A() = (1,1) a_A() = (1,1) e_A() = (1,1) i_A() = (1,1) o_A() = (1,1) u_A() = (1,1) The next rules are strictly ordered: p1, p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: 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 estimated dependency graph contains the following SCCs: (no SCCs) -- 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: matrix interpretations: carrier: N^2 order: standard order interpretations: __#_A(x1,x2) = ((1,1),(0,0)) x1 ___A(x1,x2) = x1 + x2 + (1,1) nil_A() = (1,1) n_____A(x1,x2) = (0,0) The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains.