YES We show the termination of the TRS R: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) active(__(X,nil())) -> mark(X) active(__(nil(),X)) -> mark(X) active(and(tt(),X)) -> mark(X) active(isList(V)) -> mark(isNeList(V)) active(isList(nil())) -> mark(tt()) active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) active(isNeList(V)) -> mark(isQid(V)) active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) active(isNePal(V)) -> mark(isQid(V)) active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) active(isPal(V)) -> mark(isNePal(V)) active(isPal(nil())) -> mark(tt()) active(isQid(a())) -> mark(tt()) active(isQid(e())) -> mark(tt()) active(isQid(i())) -> mark(tt()) active(isQid(o())) -> mark(tt()) active(isQid(u())) -> mark(tt()) mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) mark(nil()) -> active(nil()) mark(and(X1,X2)) -> active(and(mark(X1),X2)) mark(tt()) -> active(tt()) mark(isList(X)) -> active(isList(X)) mark(isNeList(X)) -> active(isNeList(X)) mark(isQid(X)) -> active(isQid(X)) mark(isNePal(X)) -> active(isNePal(X)) mark(isPal(X)) -> active(isPal(X)) mark(a()) -> active(a()) mark(e()) -> active(e()) mark(i()) -> active(i()) mark(o()) -> active(o()) mark(u()) -> active(u()) __(mark(X1),X2) -> __(X1,X2) __(X1,mark(X2)) -> __(X1,X2) __(active(X1),X2) -> __(X1,X2) __(X1,active(X2)) -> __(X1,X2) and(mark(X1),X2) -> and(X1,X2) and(X1,mark(X2)) -> and(X1,X2) and(active(X1),X2) -> and(X1,X2) and(X1,active(X2)) -> and(X1,X2) isList(mark(X)) -> isList(X) isList(active(X)) -> isList(X) isNeList(mark(X)) -> isNeList(X) isNeList(active(X)) -> isNeList(X) isQid(mark(X)) -> isQid(X) isQid(active(X)) -> isQid(X) isNePal(mark(X)) -> isNePal(X) isNePal(active(X)) -> isNePal(X) isPal(mark(X)) -> isPal(X) isPal(active(X)) -> isPal(X) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: active#(__(__(X,Y),Z)) -> __#(X,__(Y,Z)) p3: active#(__(__(X,Y),Z)) -> __#(Y,Z) p4: active#(__(X,nil())) -> mark#(X) p5: active#(__(nil(),X)) -> mark#(X) p6: active#(and(tt(),X)) -> mark#(X) p7: active#(isList(V)) -> mark#(isNeList(V)) p8: active#(isList(V)) -> isNeList#(V) p9: active#(isList(nil())) -> mark#(tt()) p10: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p11: active#(isList(__(V1,V2))) -> and#(isList(V1),isList(V2)) p12: active#(isList(__(V1,V2))) -> isList#(V1) p13: active#(isList(__(V1,V2))) -> isList#(V2) p14: active#(isNeList(V)) -> mark#(isQid(V)) p15: active#(isNeList(V)) -> isQid#(V) p16: active#(isNeList(__(V1,V2))) -> mark#(and(isList(V1),isNeList(V2))) p17: active#(isNeList(__(V1,V2))) -> and#(isList(V1),isNeList(V2)) p18: active#(isNeList(__(V1,V2))) -> isList#(V1) p19: active#(isNeList(__(V1,V2))) -> isNeList#(V2) p20: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p21: active#(isNeList(__(V1,V2))) -> and#(isNeList(V1),isList(V2)) p22: active#(isNeList(__(V1,V2))) -> isNeList#(V1) p23: active#(isNeList(__(V1,V2))) -> isList#(V2) p24: active#(isNePal(V)) -> mark#(isQid(V)) p25: active#(isNePal(V)) -> isQid#(V) p26: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p27: active#(isNePal(__(I,__(P,I)))) -> and#(isQid(I),isPal(P)) p28: active#(isNePal(__(I,__(P,I)))) -> isQid#(I) p29: active#(isNePal(__(I,__(P,I)))) -> isPal#(P) p30: active#(isPal(V)) -> mark#(isNePal(V)) p31: active#(isPal(V)) -> isNePal#(V) p32: active#(isPal(nil())) -> mark#(tt()) p33: active#(isQid(a())) -> mark#(tt()) p34: active#(isQid(e())) -> mark#(tt()) p35: active#(isQid(i())) -> mark#(tt()) p36: active#(isQid(o())) -> mark#(tt()) p37: active#(isQid(u())) -> mark#(tt()) p38: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p39: mark#(__(X1,X2)) -> __#(mark(X1),mark(X2)) p40: mark#(__(X1,X2)) -> mark#(X1) p41: mark#(__(X1,X2)) -> mark#(X2) p42: mark#(nil()) -> active#(nil()) p43: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p44: mark#(and(X1,X2)) -> and#(mark(X1),X2) p45: mark#(and(X1,X2)) -> mark#(X1) p46: mark#(tt()) -> active#(tt()) p47: mark#(isList(X)) -> active#(isList(X)) p48: mark#(isNeList(X)) -> active#(isNeList(X)) p49: mark#(isQid(X)) -> active#(isQid(X)) p50: mark#(isNePal(X)) -> active#(isNePal(X)) p51: mark#(isPal(X)) -> active#(isPal(X)) p52: mark#(a()) -> active#(a()) p53: mark#(e()) -> active#(e()) p54: mark#(i()) -> active#(i()) p55: mark#(o()) -> active#(o()) p56: mark#(u()) -> active#(u()) p57: __#(mark(X1),X2) -> __#(X1,X2) p58: __#(X1,mark(X2)) -> __#(X1,X2) p59: __#(active(X1),X2) -> __#(X1,X2) p60: __#(X1,active(X2)) -> __#(X1,X2) p61: and#(mark(X1),X2) -> and#(X1,X2) p62: and#(X1,mark(X2)) -> and#(X1,X2) p63: and#(active(X1),X2) -> and#(X1,X2) p64: and#(X1,active(X2)) -> and#(X1,X2) p65: isList#(mark(X)) -> isList#(X) p66: isList#(active(X)) -> isList#(X) p67: isNeList#(mark(X)) -> isNeList#(X) p68: isNeList#(active(X)) -> isNeList#(X) p69: isQid#(mark(X)) -> isQid#(X) p70: isQid#(active(X)) -> isQid#(X) p71: isNePal#(mark(X)) -> isNePal#(X) p72: isNePal#(active(X)) -> isNePal#(X) p73: isPal#(mark(X)) -> isPal#(X) p74: isPal#(active(X)) -> isPal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p4, p5, p6, p7, p10, p14, p16, p20, p24, p26, p30, p38, p40, p41, p43, p45, p47, p48, p49, p50, p51} {p57, p58, p59, p60} {p67, p68} {p61, p62, p63, p64} {p65, p66} {p69, p70} {p73, p74} {p71, p72} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isPal(X)) -> active#(isPal(X)) p3: active#(isPal(V)) -> mark#(isNePal(V)) p4: mark#(isNePal(X)) -> active#(isNePal(X)) p5: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p6: mark#(isQid(X)) -> active#(isQid(X)) p7: active#(isNePal(V)) -> mark#(isQid(V)) p8: mark#(isNeList(X)) -> active#(isNeList(X)) p9: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p10: mark#(isList(X)) -> active#(isList(X)) p11: active#(isNeList(__(V1,V2))) -> mark#(and(isList(V1),isNeList(V2))) p12: mark#(and(X1,X2)) -> mark#(X1) p13: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p14: active#(isNeList(V)) -> mark#(isQid(V)) p15: mark#(__(X1,X2)) -> mark#(X2) p16: mark#(__(X1,X2)) -> mark#(X1) p17: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p18: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p19: active#(isList(V)) -> mark#(isNeList(V)) p20: active#(and(tt(),X)) -> mark#(X) p21: active#(__(nil(),X)) -> mark#(X) p22: active#(__(X,nil())) -> mark#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,1),(0,0)) x1 + (2,5) ___A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(0,0)) x2 + (0,58) mark#_A(x1) = ((1,1),(0,0)) x1 + (3,5) isPal_A(x1) = ((1,1),(0,0)) x1 + (24,20) isNePal_A(x1) = ((1,1),(0,0)) x1 + (12,8) and_A(x1,x2) = ((0,0),(1,1)) x1 + ((0,0),(1,1)) x2 + (3,3) isQid_A(x1) = (2,6) isNeList_A(x1) = ((0,0),(1,1)) x1 + (12,8) isList_A(x1) = ((0,0),(1,1)) x1 + (2,20) mark_A(x1) = ((0,0),(1,1)) x1 tt_A() = (1,0) nil_A() = (0,4) active_A(x1) = ((0,0),(1,1)) x1 a_A() = (0,1) e_A() = (0,1) i_A() = (0,1) o_A() = (0,1) u_A() = (0,1) precedence: e > isQid = isNeList = isList = mark = active > isPal > active# > mark# = nil > isNePal > tt = a = i = o = u > __ = and partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isPal) = [] pi(isNePal) = [] pi(and) = [] pi(isQid) = [] pi(isNeList) = [] pi(isList) = [] pi(mark) = [] pi(tt) = [] pi(nil) = [] pi(active) = [] 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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: active#(isPal(V)) -> mark#(isNePal(V)) p3: mark#(isNePal(X)) -> active#(isNePal(X)) p4: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p5: mark#(isQid(X)) -> active#(isQid(X)) p6: active#(isNePal(V)) -> mark#(isQid(V)) p7: mark#(isNeList(X)) -> active#(isNeList(X)) p8: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(isNeList(__(V1,V2))) -> mark#(and(isList(V1),isNeList(V2))) p11: mark#(and(X1,X2)) -> mark#(X1) p12: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p13: active#(isNeList(V)) -> mark#(isQid(V)) p14: mark#(__(X1,X2)) -> mark#(X2) p15: mark#(__(X1,X2)) -> mark#(X1) p16: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p17: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p18: active#(isList(V)) -> mark#(isNeList(V)) p19: active#(and(tt(),X)) -> mark#(X) p20: active#(__(nil(),X)) -> mark#(X) p21: active#(__(X,nil())) -> mark#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p7: active#(__(nil(),X)) -> mark#(X) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(and(tt(),X)) -> mark#(X) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: active#(isList(V)) -> mark#(isNeList(V)) p13: mark#(isQid(X)) -> active#(isQid(X)) p14: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p15: mark#(isNePal(X)) -> active#(isNePal(X)) p16: active#(isNeList(V)) -> mark#(isQid(V)) p17: active#(isNeList(__(V1,V2))) -> mark#(and(isList(V1),isNeList(V2))) p18: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p19: active#(isNePal(V)) -> mark#(isQid(V)) p20: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p21: active#(isPal(V)) -> mark#(isNePal(V)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,1)) x1 + (2,0) ___A(x1,x2) = (3,3) mark#_A(x1) = (5,3) mark_A(x1) = (7,2) nil_A() = (8,4) and_A(x1,x2) = (1,3) isList_A(x1) = (4,3) tt_A() = (9,4) isNeList_A(x1) = (6,3) isQid_A(x1) = (1,0) isNePal_A(x1) = (2,3) isPal_A(x1) = (10,4) active_A(x1) = (7,2) a_A() = (10,4) e_A() = (0,0) i_A() = (0,0) o_A() = (0,2) u_A() = (0,1) precedence: tt > __ > active# = mark# = isList > isNeList > mark = and = isQid = isNePal = active > nil > isPal = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(and) = [] pi(isList) = [] pi(tt) = [] pi(isNeList) = [] pi(isQid) = [] pi(isNePal) = [] pi(isPal) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p21 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p7: active#(__(nil(),X)) -> mark#(X) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(and(tt(),X)) -> mark#(X) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: active#(isList(V)) -> mark#(isNeList(V)) p13: mark#(isQid(X)) -> active#(isQid(X)) p14: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p15: mark#(isNePal(X)) -> active#(isNePal(X)) p16: active#(isNeList(V)) -> mark#(isQid(V)) p17: active#(isNeList(__(V1,V2))) -> mark#(and(isList(V1),isNeList(V2))) p18: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p19: active#(isNePal(V)) -> mark#(isQid(V)) p20: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNePal(V)) -> mark#(isQid(V)) p6: mark#(isNeList(X)) -> active#(isNeList(X)) p7: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p8: mark#(isList(X)) -> active#(isList(X)) p9: active#(isNeList(__(V1,V2))) -> mark#(and(isList(V1),isNeList(V2))) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p12: active#(isNeList(V)) -> mark#(isQid(V)) p13: mark#(__(X1,X2)) -> mark#(X2) p14: mark#(__(X1,X2)) -> mark#(X1) p15: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p16: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p17: active#(isList(V)) -> mark#(isNeList(V)) p18: active#(and(tt(),X)) -> mark#(X) p19: active#(__(nil(),X)) -> mark#(X) p20: active#(__(X,nil())) -> mark#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,1),(0,0)) x1 + (2,11) ___A(x1,x2) = ((0,0),(1,1)) x1 + ((1,1),(0,0)) x2 + (0,11) mark#_A(x1) = ((1,1),(0,0)) x1 + (2,11) isNePal_A(x1) = ((1,1),(0,0)) x1 + (0,10) and_A(x1,x2) = ((0,0),(1,1)) x1 + ((0,0),(1,1)) x2 + (3,1) isQid_A(x1) = ((0,0),(0,1)) x1 isPal_A(x1) = ((0,0),(1,1)) x1 + (23,1) isNeList_A(x1) = ((0,0),(1,1)) x1 isList_A(x1) = ((1,1),(0,0)) x1 + (4,1) mark_A(x1) = ((0,0),(1,1)) x1 tt_A() = (3,3) nil_A() = (0,1) active_A(x1) = ((0,0),(1,1)) x1 a_A() = (4,6) e_A() = (4,6) i_A() = (4,6) o_A() = (4,6) u_A() = (4,6) precedence: isQid > isPal = mark = active = e = o > isNeList > and > active# = mark# = isNePal > __ > isList = tt > nil = a = i = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [] pi(and) = [] pi(isQid) = [] pi(isPal) = [] pi(isNeList) = [] pi(isList) = [] pi(mark) = [] pi(tt) = [] pi(nil) = [] pi(active) = [] 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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: mark#(isNeList(X)) -> active#(isNeList(X)) p6: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p7: mark#(isList(X)) -> active#(isList(X)) p8: active#(isNeList(__(V1,V2))) -> mark#(and(isList(V1),isNeList(V2))) p9: mark#(and(X1,X2)) -> mark#(X1) p10: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p11: active#(isNeList(V)) -> mark#(isQid(V)) p12: mark#(__(X1,X2)) -> mark#(X2) p13: mark#(__(X1,X2)) -> mark#(X1) p14: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p15: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p16: active#(isList(V)) -> mark#(isNeList(V)) p17: active#(and(tt(),X)) -> mark#(X) p18: active#(__(nil(),X)) -> mark#(X) p19: active#(__(X,nil())) -> mark#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p7: active#(__(nil(),X)) -> mark#(X) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(and(tt(),X)) -> mark#(X) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: active#(isList(V)) -> mark#(isNeList(V)) p13: mark#(isQid(X)) -> active#(isQid(X)) p14: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p15: mark#(isNePal(X)) -> active#(isNePal(X)) p16: active#(isNeList(V)) -> mark#(isQid(V)) p17: active#(isNeList(__(V1,V2))) -> mark#(and(isList(V1),isNeList(V2))) p18: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p19: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 + (9,7) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,1),(0,1)) x2 + (4,3) mark#_A(x1) = ((0,1),(0,0)) x1 + (9,7) mark_A(x1) = ((0,0),(0,1)) x1 nil_A() = (2,1) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (8,1) isList_A(x1) = ((0,0),(0,1)) x1 + (4,0) tt_A() = (1,1) isNeList_A(x1) = ((0,1),(0,1)) x1 isQid_A(x1) = ((0,0),(0,1)) x1 + (2,0) isNePal_A(x1) = ((0,0),(0,1)) x1 isPal_A(x1) = ((0,0),(0,1)) x1 + (0,4) active_A(x1) = ((0,0),(0,1)) x1 a_A() = (2,1) e_A() = (2,1) i_A() = (1,1) o_A() = (1,1) u_A() = (1,1) precedence: and > active# = mark# > isNeList > tt > isList > nil > mark = isPal = active = a = e = o = u > isQid > __ > isNePal = i partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(and) = [] pi(isList) = [] pi(tt) = [] pi(isNeList) = [] pi(isQid) = [] pi(isNePal) = [] pi(isPal) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p17 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p7: active#(__(nil(),X)) -> mark#(X) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(and(tt(),X)) -> mark#(X) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: active#(isList(V)) -> mark#(isNeList(V)) p13: mark#(isQid(X)) -> active#(isQid(X)) p14: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p15: mark#(isNePal(X)) -> active#(isNePal(X)) p16: active#(isNeList(V)) -> mark#(isQid(V)) p17: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p18: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p6: mark#(isNeList(X)) -> active#(isNeList(X)) p7: active#(isNeList(V)) -> mark#(isQid(V)) p8: mark#(isList(X)) -> active#(isList(X)) p9: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p12: active#(isList(V)) -> mark#(isNeList(V)) p13: mark#(__(X1,X2)) -> mark#(X2) p14: mark#(__(X1,X2)) -> mark#(X1) p15: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p16: active#(and(tt(),X)) -> mark#(X) p17: active#(__(nil(),X)) -> mark#(X) p18: active#(__(X,nil())) -> mark#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,1)) x1 + (1,16) ___A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,17) mark#_A(x1) = ((0,1),(0,1)) x1 + (3,18) isNePal_A(x1) = ((1,0),(1,1)) x1 + (3,3) and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (1,1) isQid_A(x1) = (0,2) isPal_A(x1) = ((1,0),(1,1)) x1 + (5,35) isNeList_A(x1) = x1 + (0,5) isList_A(x1) = x1 + (0,8) mark_A(x1) = x1 tt_A() = (0,2) nil_A() = (0,0) active_A(x1) = x1 a_A() = (0,1) e_A() = (0,1) i_A() = (1,2) o_A() = (0,1) u_A() = (0,1) precedence: isPal = isNeList = isList > isQid > active# = __ = mark# = mark = active > isNePal > and > tt > nil = a = e = i = o = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [1] pi(and) = [2] pi(isQid) = [] pi(isPal) = [] pi(isNeList) = [1] pi(isList) = [1] pi(mark) = [1] pi(tt) = [] pi(nil) = [] pi(active) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p12 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p6: mark#(isNeList(X)) -> active#(isNeList(X)) p7: active#(isNeList(V)) -> mark#(isQid(V)) p8: mark#(isList(X)) -> active#(isList(X)) p9: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p12: mark#(__(X1,X2)) -> mark#(X2) p13: mark#(__(X1,X2)) -> mark#(X1) p14: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p15: active#(and(tt(),X)) -> mark#(X) p16: active#(__(nil(),X)) -> mark#(X) p17: active#(__(X,nil())) -> mark#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p7: active#(__(nil(),X)) -> mark#(X) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(and(tt(),X)) -> mark#(X) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p13: mark#(isQid(X)) -> active#(isQid(X)) p14: active#(isNeList(V)) -> mark#(isQid(V)) p15: mark#(isNePal(X)) -> active#(isNePal(X)) p16: active#(isNeList(__(V1,V2))) -> mark#(and(isNeList(V1),isList(V2))) p17: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,1),(1,1)) x1 + (5,0) ___A(x1,x2) = ((1,1),(0,0)) x1 + ((0,0),(1,1)) x2 + (2,11) mark#_A(x1) = ((1,1),(1,1)) x1 + (5,0) mark_A(x1) = ((0,0),(1,1)) x1 nil_A() = (1,1) and_A(x1,x2) = ((1,1),(0,0)) x1 + ((0,0),(1,1)) x2 isList_A(x1) = ((1,1),(0,0)) x1 + (11,1) tt_A() = (0,0) isNeList_A(x1) = ((0,0),(1,1)) x1 + (1,4) isQid_A(x1) = (3,2) isNePal_A(x1) = ((1,1),(0,0)) x1 + (4,1) isPal_A(x1) = ((1,1),(0,0)) x1 + (1,5) active_A(x1) = ((0,0),(1,1)) x1 a_A() = (1,1) e_A() = (0,1) i_A() = (0,1) o_A() = (1,1) u_A() = (1,1) precedence: tt > nil > isNePal > active# = mark# > isList > mark = active > __ = and > isNeList > isQid = e > o > u > i > isPal = a partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(and) = [] pi(isList) = [] pi(tt) = [] pi(isNeList) = [] pi(isQid) = [] pi(isNePal) = [] pi(isPal) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p16 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p7: active#(__(nil(),X)) -> mark#(X) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(and(tt(),X)) -> mark#(X) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p13: mark#(isQid(X)) -> active#(isQid(X)) p14: active#(isNeList(V)) -> mark#(isQid(V)) p15: mark#(isNePal(X)) -> active#(isNePal(X)) p16: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNeList(V)) -> mark#(isQid(V)) p6: mark#(isNeList(X)) -> active#(isNeList(X)) p7: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p8: mark#(isList(X)) -> active#(isList(X)) p9: active#(and(tt(),X)) -> mark#(X) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p12: active#(__(nil(),X)) -> mark#(X) p13: mark#(__(X1,X2)) -> mark#(X2) p14: mark#(__(X1,X2)) -> mark#(X1) p15: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p16: active#(__(X,nil())) -> mark#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,1)) x1 + (1,0) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (10,5) mark#_A(x1) = ((0,1),(0,1)) x1 + (1,0) isNePal_A(x1) = (10,5) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (11,0) isQid_A(x1) = ((0,1),(0,0)) x1 + (7,0) isPal_A(x1) = (8,5) isNeList_A(x1) = (11,0) isList_A(x1) = (9,0) tt_A() = (9,0) mark_A(x1) = ((0,0),(0,1)) x1 + (9,0) nil_A() = (10,1) active_A(x1) = ((0,0),(0,1)) x1 + (9,0) a_A() = (10,2) e_A() = (10,1) i_A() = (10,3) o_A() = (10,2) u_A() = (10,2) precedence: isPal > isNePal > active# = mark# = isQid = a = i = u > isNeList = isList = tt = mark = nil = active > __ = and > e = o partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [] pi(and) = [] pi(isQid) = [] pi(isPal) = [] pi(isNeList) = [] pi(isList) = [] pi(tt) = [] pi(mark) = [] pi(nil) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p12 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNeList(V)) -> mark#(isQid(V)) p6: mark#(isNeList(X)) -> active#(isNeList(X)) p7: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p8: mark#(isList(X)) -> active#(isList(X)) p9: active#(and(tt(),X)) -> mark#(X) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p12: mark#(__(X1,X2)) -> mark#(X2) p13: mark#(__(X1,X2)) -> mark#(X1) p14: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p15: active#(__(X,nil())) -> mark#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(__(X,nil())) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p7: active#(and(tt(),X)) -> mark#(X) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: active#(isNeList(V)) -> mark#(isQid(V)) p13: mark#(isQid(X)) -> active#(isQid(X)) p14: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p15: mark#(isNePal(X)) -> active#(isNePal(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 + (2,2) ___A(x1,x2) = ((0,1),(0,1)) x1 + ((0,0),(0,1)) x2 + (11,2) mark#_A(x1) = ((0,1),(0,0)) x1 + (2,2) mark_A(x1) = ((0,0),(0,1)) x1 + (10,0) nil_A() = (1,4) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (11,0) tt_A() = (10,0) isList_A(x1) = ((0,1),(0,1)) x1 + (7,2) isNeList_A(x1) = ((0,0),(0,1)) x1 + (5,2) isQid_A(x1) = (0,0) isNePal_A(x1) = (2,1) isPal_A(x1) = (0,1) active_A(x1) = ((0,0),(0,1)) x1 + (10,0) a_A() = (10,1) e_A() = (10,1) i_A() = (10,1) o_A() = (0,1) u_A() = (10,1) precedence: __ = isQid > active# = mark# = isNeList > isList > mark = and = active > isPal > nil = tt = o = u > isNePal > a = e = i partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(nil) = [] pi(and) = [] pi(tt) = [] pi(isList) = [] pi(isNeList) = [] pi(isQid) = [] pi(isNePal) = [] pi(isPal) = [] pi(active) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: mark#(__(X1,X2)) -> mark#(X1) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p6: active#(and(tt(),X)) -> mark#(X) p7: mark#(and(X1,X2)) -> mark#(X1) p8: mark#(isList(X)) -> active#(isList(X)) p9: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p10: mark#(isNeList(X)) -> active#(isNeList(X)) p11: active#(isNeList(V)) -> mark#(isQid(V)) p12: mark#(isQid(X)) -> active#(isQid(X)) p13: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p14: mark#(isNePal(X)) -> active#(isNePal(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNePal(X)) -> active#(isNePal(X)) p3: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p4: mark#(isQid(X)) -> active#(isQid(X)) p5: active#(isNeList(V)) -> mark#(isQid(V)) p6: mark#(isNeList(X)) -> active#(isNeList(X)) p7: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p8: mark#(isList(X)) -> active#(isList(X)) p9: active#(and(tt(),X)) -> mark#(X) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p12: mark#(__(X1,X2)) -> mark#(X2) p13: mark#(__(X1,X2)) -> mark#(X1) p14: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 + (1,3) ___A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (3,19) mark#_A(x1) = ((0,1),(0,0)) x1 + (2,3) isNePal_A(x1) = ((0,1),(0,1)) x1 + (54,14) and_A(x1,x2) = ((0,0),(1,1)) x1 + x2 + (0,4) isQid_A(x1) = (4,3) isPal_A(x1) = ((0,1),(0,1)) x1 + (54,39) isNeList_A(x1) = ((0,0),(0,1)) x1 + (4,5) isList_A(x1) = ((0,0),(0,1)) x1 + (4,6) tt_A() = (3,0) mark_A(x1) = x1 active_A(x1) = x1 nil_A() = (1,1) a_A() = (1,1) e_A() = (1,1) i_A() = (1,1) o_A() = (4,1) u_A() = (1,1) precedence: isQid > isNePal = isPal > active# = mark# = isNeList > tt > nil = a = i > and = isList = mark = active = e > o > __ = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNePal) = [] pi(and) = [] pi(isQid) = [] pi(isPal) = [] pi(isNeList) = [] pi(isList) = [] pi(tt) = [] pi(mark) = [] pi(active) = [] pi(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p3: mark#(isQid(X)) -> active#(isQid(X)) p4: active#(isNeList(V)) -> mark#(isQid(V)) p5: mark#(isNeList(X)) -> active#(isNeList(X)) p6: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p7: mark#(isList(X)) -> active#(isList(X)) p8: active#(and(tt(),X)) -> mark#(X) p9: mark#(and(X1,X2)) -> mark#(X1) p10: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p11: mark#(__(X1,X2)) -> mark#(X2) p12: mark#(__(X1,X2)) -> mark#(X1) p13: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(and(tt(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p7: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(isNeList(V)) -> mark#(isQid(V)) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: active#(isNePal(__(I,__(P,I)))) -> mark#(and(isQid(I),isPal(P))) p13: mark#(isQid(X)) -> active#(isQid(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 ___A(x1,x2) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (5,0) mark#_A(x1) = (0,0) mark_A(x1) = ((0,0),(1,1)) x1 and_A(x1,x2) = ((1,1),(0,0)) x2 tt_A() = (1,2) isList_A(x1) = (4,0) isNeList_A(x1) = (4,0) isQid_A(x1) = (3,0) isNePal_A(x1) = (0,12) isPal_A(x1) = (11,1) active_A(x1) = ((0,0),(1,1)) x1 nil_A() = (0,3) a_A() = (0,1) e_A() = (2,1) i_A() = (2,1) o_A() = (0,1) u_A() = (2,2) precedence: tt > isQid > mark = and = isPal = active = i > nil = a = o > isNePal > active# = __ = mark# = isList = isNeList = e = u partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(and) = [] pi(tt) = [] pi(isList) = [] pi(isNeList) = [] pi(isQid) = [] pi(isNePal) = [] pi(isPal) = [] pi(active) = [] pi(nil) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p12 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(and(tt(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p7: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(isList(X)) -> active#(isList(X)) p10: active#(isNeList(V)) -> mark#(isQid(V)) p11: mark#(isNeList(X)) -> active#(isNeList(X)) p12: mark#(isQid(X)) -> active#(isQid(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isQid(X)) -> active#(isQid(X)) p3: active#(isNeList(V)) -> mark#(isQid(V)) p4: mark#(isNeList(X)) -> active#(isNeList(X)) p5: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p6: mark#(isList(X)) -> active#(isList(X)) p7: active#(and(tt(),X)) -> mark#(X) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(and(X1,X2)) -> active#(and(mark(X1),X2)) p10: mark#(__(X1,X2)) -> mark#(X2) p11: mark#(__(X1,X2)) -> mark#(X1) p12: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,0),(0,0)) x1 + (2,0) ___A(x1,x2) = ((1,1),(0,1)) x1 + x2 + (0,10) mark#_A(x1) = ((1,0),(0,0)) x1 + (3,0) isQid_A(x1) = (0,2) isNeList_A(x1) = ((0,1),(0,0)) x1 + (2,2) isList_A(x1) = ((0,1),(0,0)) x1 + (3,2) and_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,1),(0,1)) x2 + (3,0) tt_A() = (0,2) mark_A(x1) = x1 active_A(x1) = x1 nil_A() = (1,1) isNePal_A(x1) = ((0,1),(0,0)) x1 + (1,11) isPal_A(x1) = ((0,1),(0,0)) x1 + (7,11) a_A() = (1,1) e_A() = (1,1) i_A() = (0,1) o_A() = (0,1) u_A() = (1,1) precedence: isQid > isNePal > mark = nil > tt = active > isNeList > active# = __ = mark# = and > e = o > i > u > isPal > a > isList partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isQid) = [] pi(isNeList) = [] pi(isList) = [] pi(and) = [] pi(tt) = [] pi(mark) = [1] pi(active) = [1] pi(nil) = [] pi(isNePal) = [] pi(isPal) = [] 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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isQid(X)) -> active#(isQid(X)) p3: active#(isNeList(V)) -> mark#(isQid(V)) p4: mark#(isNeList(X)) -> active#(isNeList(X)) p5: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p6: mark#(isList(X)) -> active#(isList(X)) p7: active#(and(tt(),X)) -> mark#(X) p8: mark#(and(X1,X2)) -> mark#(X1) p9: mark#(__(X1,X2)) -> mark#(X2) p10: mark#(__(X1,X2)) -> mark#(X1) p11: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(and(tt(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(and(X1,X2)) -> mark#(X1) p7: mark#(isList(X)) -> active#(isList(X)) p8: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p9: mark#(isNeList(X)) -> active#(isNeList(X)) p10: active#(isNeList(V)) -> mark#(isQid(V)) p11: mark#(isQid(X)) -> active#(isQid(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,1),(0,1)) x1 + (0,1) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (15,11) mark#_A(x1) = ((0,1),(0,1)) x1 + (15,1) mark_A(x1) = ((0,1),(0,1)) x1 + (3,0) and_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,0),(0,1)) x2 + (15,1) tt_A() = (2,25) isList_A(x1) = ((0,0),(0,1)) x1 + (14,8) isNeList_A(x1) = ((0,0),(0,1)) x1 + (9,7) isQid_A(x1) = ((0,0),(0,1)) x1 + (3,0) active_A(x1) = ((0,1),(0,1)) x1 + (3,0) nil_A() = (1,18) isNePal_A(x1) = ((0,1),(0,1)) x1 + (4,25) isPal_A(x1) = ((0,0),(0,1)) x1 + (27,26) a_A() = (1,26) e_A() = (30,26) i_A() = (1,26) o_A() = (1,26) u_A() = (1,26) precedence: isNePal = i > __ > mark = active = nil = isPal = a > tt > u > e > o > active# = mark# = and = isList = isNeList = isQid partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(and) = [] pi(tt) = [] pi(isList) = [] pi(isNeList) = [] pi(isQid) = [] pi(active) = [] pi(nil) = [] pi(isNePal) = [] pi(isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(and(tt(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> mark#(X2) p6: mark#(isList(X)) -> active#(isList(X)) p7: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p8: mark#(isNeList(X)) -> active#(isNeList(X)) p9: active#(isNeList(V)) -> mark#(isQid(V)) p10: mark#(isQid(X)) -> active#(isQid(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isQid(X)) -> active#(isQid(X)) p3: active#(isNeList(V)) -> mark#(isQid(V)) p4: mark#(isNeList(X)) -> active#(isNeList(X)) p5: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p6: mark#(isList(X)) -> active#(isList(X)) p7: active#(and(tt(),X)) -> mark#(X) p8: mark#(__(X1,X2)) -> mark#(X2) p9: mark#(__(X1,X2)) -> mark#(X1) p10: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,1)) x1 + (10,18) ___A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (17,3) mark#_A(x1) = ((0,1),(0,1)) x1 + (18,18) isQid_A(x1) = (35,26) isNeList_A(x1) = ((1,0),(1,1)) x1 + (63,44) isList_A(x1) = ((1,0),(1,1)) x1 + (64,55) and_A(x1,x2) = x2 + (5,9) tt_A() = (35,17) mark_A(x1) = x1 active_A(x1) = x1 nil_A() = (34,16) isNePal_A(x1) = ((0,1),(1,0)) x1 + (36,26) isPal_A(x1) = ((0,1),(1,0)) x1 + (37,26) a_A() = (36,17) e_A() = (36,0) i_A() = (34,0) o_A() = (36,17) u_A() = (35,17) precedence: tt = mark = active = nil = o = u > isNeList > active# = mark# > isQid > isNePal = isPal = a = e = i > __ > isList = and partial status: pi(active#) = [] pi(__) = [1] pi(mark#) = [] pi(isQid) = [] pi(isNeList) = [1] pi(isList) = [] pi(and) = [] pi(tt) = [] pi(mark) = [] pi(active) = [] pi(nil) = [] pi(isNePal) = [] pi(isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p8 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isQid(X)) -> active#(isQid(X)) p3: active#(isNeList(V)) -> mark#(isQid(V)) p4: mark#(isNeList(X)) -> active#(isNeList(X)) p5: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p6: mark#(isList(X)) -> active#(isList(X)) p7: active#(and(tt(),X)) -> mark#(X) p8: mark#(__(X1,X2)) -> mark#(X1) p9: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(and(tt(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(isList(X)) -> active#(isList(X)) p6: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p7: mark#(isNeList(X)) -> active#(isNeList(X)) p8: active#(isNeList(V)) -> mark#(isQid(V)) p9: mark#(isQid(X)) -> active#(isQid(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,0),(0,0)) x1 + (2,6) ___A(x1,x2) = (4,5) mark#_A(x1) = (6,6) mark_A(x1) = (2,2) and_A(x1,x2) = (4,4) tt_A() = (5,5) isList_A(x1) = (4,4) isNeList_A(x1) = (4,5) isQid_A(x1) = (1,1) active_A(x1) = (2,2) nil_A() = (3,1) isNePal_A(x1) = (3,3) isPal_A(x1) = (1,1) a_A() = (3,1) e_A() = (3,3) i_A() = (3,1) o_A() = (3,1) u_A() = (1,3) precedence: tt > and > active# = __ = mark# > a = u > isList = isNeList > mark = isQid = active = nil = isPal = i = o > isNePal > e partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(and) = [] pi(tt) = [] pi(isList) = [] pi(isNeList) = [] pi(isQid) = [] pi(active) = [] pi(nil) = [] pi(isNePal) = [] pi(isPal) = [] 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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(and(tt(),X)) -> mark#(X) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(isList(X)) -> active#(isList(X)) p6: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p7: mark#(isNeList(X)) -> active#(isNeList(X)) p8: active#(isNeList(V)) -> mark#(isQid(V)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNeList(X)) -> active#(isNeList(X)) p3: active#(isNeList(V)) -> mark#(isQid(V)) p4: mark#(isList(X)) -> active#(isList(X)) p5: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p8: active#(and(tt(),X)) -> mark#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,0),(0,0)) x1 + (4,1) ___A(x1,x2) = (1,0) mark#_A(x1) = (5,1) isNeList_A(x1) = (1,3) isQid_A(x1) = (3,0) isList_A(x1) = (1,2) and_A(x1,x2) = (5,0) mark_A(x1) = (2,0) tt_A() = (4,3) active_A(x1) = (2,0) nil_A() = (1,1) isNePal_A(x1) = (6,1) isPal_A(x1) = (6,2) a_A() = (3,1) e_A() = (1,1) i_A() = (5,1) o_A() = (1,1) u_A() = (1,1) precedence: tt = u > isList > __ > isNePal > e > mark = active > isQid > isNeList > and > a > nil > i = o > isPal > active# = mark# partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNeList) = [] pi(isQid) = [] pi(isList) = [] pi(and) = [] pi(mark) = [] pi(tt) = [] pi(active) = [] pi(nil) = [] pi(isNePal) = [] pi(isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p8 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNeList(X)) -> active#(isNeList(X)) p3: active#(isNeList(V)) -> mark#(isQid(V)) p4: mark#(isList(X)) -> active#(isList(X)) p5: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(isList(X)) -> active#(isList(X)) p6: active#(isNeList(V)) -> mark#(isQid(V)) p7: mark#(isNeList(X)) -> active#(isNeList(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 + (1,0) ___A(x1,x2) = ((0,0),(1,1)) x1 + ((1,1),(0,0)) x2 + (4,2) mark#_A(x1) = ((0,1),(0,0)) x1 + (2,0) mark_A(x1) = ((0,0),(1,1)) x1 isList_A(x1) = ((0,0),(1,1)) x1 + (14,0) and_A(x1,x2) = ((1,1),(0,0)) x2 + (0,1) isNeList_A(x1) = ((1,1),(0,0)) x1 + (0,14) isQid_A(x1) = (11,3) active_A(x1) = ((0,0),(1,1)) x1 nil_A() = (3,3) tt_A() = (2,1) isNePal_A(x1) = ((0,0),(1,1)) x1 + (1,14) isPal_A(x1) = ((0,0),(1,1)) x1 + (15,0) a_A() = (1,3) e_A() = (3,3) i_A() = (3,3) o_A() = (3,3) u_A() = (0,3) precedence: isNeList > and > __ > isList > active# = mark# = mark = isQid = active = isNePal = isPal = a = e = i = u > nil > tt > o partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(isList) = [] pi(and) = [] pi(isNeList) = [] pi(isQid) = [] pi(active) = [] pi(nil) = [] pi(tt) = [] pi(isNePal) = [] pi(isPal) = [] 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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p4: mark#(__(X1,X2)) -> mark#(X1) p5: active#(isNeList(V)) -> mark#(isQid(V)) p6: mark#(isNeList(X)) -> active#(isNeList(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNeList(X)) -> active#(isNeList(X)) p3: active#(isNeList(V)) -> mark#(isQid(V)) p4: mark#(__(X1,X2)) -> mark#(X1) p5: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p6: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,0),(1,0)) x1 + (2,4) ___A(x1,x2) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (7,0) mark#_A(x1) = ((1,0),(1,0)) x1 + (2,4) isNeList_A(x1) = ((1,1),(0,0)) x1 + (2,4) isQid_A(x1) = (1,3) mark_A(x1) = ((0,0),(1,1)) x1 isList_A(x1) = ((1,1),(0,0)) x1 + (6,4) and_A(x1,x2) = ((1,1),(0,0)) x2 active_A(x1) = ((0,0),(1,1)) x1 nil_A() = (1,3) tt_A() = (0,4) isNePal_A(x1) = (15,0) isPal_A(x1) = (15,0) a_A() = (1,0) e_A() = (1,0) i_A() = (1,0) o_A() = (1,0) u_A() = (1,0) precedence: isNeList = and > a > u > active# = mark# = isList > isQid = mark = active = tt = isNePal = isPal > __ > nil > e > o > i partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNeList) = [] pi(isQid) = [] pi(mark) = [] pi(isList) = [] pi(and) = [] pi(active) = [] pi(nil) = [] pi(tt) = [] pi(isNePal) = [] pi(isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNeList(X)) -> active#(isNeList(X)) p3: active#(isNeList(V)) -> mark#(isQid(V)) p4: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p5: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p4: mark#(isNeList(X)) -> active#(isNeList(X)) p5: active#(isNeList(V)) -> mark#(isQid(V)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,1),(0,0)) x1 + (2,3) ___A(x1,x2) = (0,2) mark#_A(x1) = ((1,0),(0,0)) x1 + (4,3) mark_A(x1) = (3,3) isList_A(x1) = (4,2) and_A(x1,x2) = (1,2) isNeList_A(x1) = (2,2) isQid_A(x1) = (1,2) active_A(x1) = ((0,0),(0,1)) x1 + (3,1) nil_A() = (4,2) tt_A() = (5,0) isNePal_A(x1) = (4,2) isPal_A(x1) = (2,2) a_A() = (2,0) e_A() = (4,0) i_A() = (1,0) o_A() = (6,0) u_A() = (6,0) precedence: isList = isNeList > isQid = isNePal > e > mark = and = active = isPal = a = i = o = u > nil = tt > active# = __ = mark# partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(isList) = [] pi(and) = [] pi(isNeList) = [] pi(isQid) = [] pi(active) = [] pi(nil) = [] pi(tt) = [] pi(isNePal) = [] pi(isPal) = [] 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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p4: mark#(isNeList(X)) -> active#(isNeList(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNeList(X)) -> active#(isNeList(X)) p3: active#(isList(__(V1,V2))) -> mark#(and(isList(V1),isList(V2))) p4: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,1)) x1 + (1,1) ___A(x1,x2) = ((0,0),(1,1)) x1 + ((0,0),(1,1)) x2 + (0,4) mark#_A(x1) = ((0,1),(0,1)) x1 + (1,1) isNeList_A(x1) = ((0,0),(1,1)) x1 + (0,2) isList_A(x1) = ((0,0),(1,1)) x1 + (0,3) and_A(x1,x2) = ((0,0),(1,1)) x2 + (0,1) mark_A(x1) = ((1,1),(0,0)) x1 active_A(x1) = ((0,1),(1,0)) x1 nil_A() = (0,1) tt_A() = (0,1) isQid_A(x1) = ((0,0),(1,1)) x1 + (0,1) isNePal_A(x1) = ((0,0),(1,1)) x1 + (0,3) isPal_A(x1) = ((0,0),(1,1)) x1 + (0,9) a_A() = (0,1) e_A() = (0,1) i_A() = (0,1) o_A() = (0,1) u_A() = (0,1) precedence: isList > and = mark = active = isQid > isNeList > active# = __ = mark# > o > e > a = i > isPal = u > nil = tt > isNePal partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(isNeList) = [] pi(isList) = [] pi(and) = [] pi(mark) = [] pi(active) = [] pi(nil) = [] pi(tt) = [] pi(isQid) = [] pi(isNePal) = [] pi(isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(isNeList(X)) -> active#(isNeList(X)) p3: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) p3: mark#(isNeList(X)) -> active#(isNeList(X)) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,0),(0,0)) x1 + (2,5) ___A(x1,x2) = ((1,1),(0,0)) x1 + ((0,0),(1,1)) x2 + (5,0) mark#_A(x1) = ((1,0),(0,0)) x1 + (6,5) mark_A(x1) = ((0,0),(1,1)) x1 isNeList_A(x1) = ((0,0),(0,1)) x1 + (1,4) active_A(x1) = ((0,0),(1,1)) x1 nil_A() = (0,0) and_A(x1,x2) = ((0,0),(1,1)) x2 tt_A() = (0,2) isList_A(x1) = ((1,1),(0,0)) x1 + (0,5) isQid_A(x1) = ((0,1),(0,0)) x1 + (2,2) isNePal_A(x1) = ((0,1),(0,0)) x1 + (0,4) isPal_A(x1) = ((0,0),(0,1)) x1 + (0,5) a_A() = (0,1) e_A() = (0,1) i_A() = (0,1) o_A() = (0,1) u_A() = (0,1) precedence: nil = i > o > mark = isNeList = active = and = isNePal = isPal > __ > active# = mark# = tt = a > e = u > isList = isQid partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(isNeList) = [] pi(active) = [] pi(nil) = [] pi(and) = [] pi(tt) = [] pi(isList) = [] pi(isQid) = [] pi(isNePal) = [] pi(isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) p2: mark#(__(X1,X2)) -> active#(__(mark(X1),mark(X2))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,0),(0,0)) x1 ___A(x1,x2) = ((1,1),(1,1)) x1 + ((0,0),(1,1)) x2 + (17,0) mark#_A(x1) = ((1,0),(0,0)) x1 + (1,0) mark_A(x1) = ((0,0),(1,1)) x1 active_A(x1) = ((0,0),(1,1)) x1 nil_A() = (3,0) and_A(x1,x2) = ((0,0),(1,1)) x2 + (9,0) tt_A() = (2,16) isList_A(x1) = ((0,0),(1,1)) x1 + (8,12) isNeList_A(x1) = ((0,0),(1,1)) x1 + (0,20) isQid_A(x1) = ((1,1),(0,0)) x1 + (2,18) isNePal_A(x1) = ((1,1),(0,1)) x1 + (17,15) isPal_A(x1) = ((1,1),(0,1)) x1 + (17,15) a_A() = (1,0) e_A() = (1,0) i_A() = (1,0) o_A() = (1,0) u_A() = (1,0) precedence: tt > isNePal = e > isPal > __ = mark = active = and > mark# > active# = isList > nil > isQid = a > i > isNeList > u > o partial status: pi(active#) = [] pi(__) = [] pi(mark#) = [] pi(mark) = [] pi(active) = [] pi(nil) = [] pi(and) = [] pi(tt) = [] pi(isList) = [] pi(isNeList) = [] pi(isQid) = [] pi(isNePal) = [] pi(isPal) = [] 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: active#(__(__(X,Y),Z)) -> mark#(__(X,__(Y,Z))) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: __#(mark(X1),X2) -> __#(X1,X2) p2: __#(X1,active(X2)) -> __#(X1,X2) p3: __#(active(X1),X2) -> __#(X1,X2) p4: __#(X1,mark(X2)) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: __#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (2,2) mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) precedence: __# = mark = active partial status: pi(__#) = [1] pi(mark) = [1] pi(active) = [1] 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: __#(X1,active(X2)) -> __#(X1,X2) p2: __#(active(X1),X2) -> __#(X1,X2) p3: __#(X1,mark(X2)) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: __#(X1,active(X2)) -> __#(X1,X2) p2: __#(X1,mark(X2)) -> __#(X1,X2) p3: __#(active(X1),X2) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: __#_A(x1,x2) = ((1,1),(1,1)) x1 + (2,2) active_A(x1) = ((1,1),(1,1)) x1 + (3,2) mark_A(x1) = (1,1) precedence: __# > active = mark partial status: pi(__#) = [] pi(active) = [] pi(mark) = [] 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: __#(X1,active(X2)) -> __#(X1,X2) p2: __#(X1,mark(X2)) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: __#(X1,active(X2)) -> __#(X1,X2) p2: __#(X1,mark(X2)) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: __#_A(x1,x2) = x1 + x2 + (2,2) active_A(x1) = x1 + (1,0) mark_A(x1) = x1 + (1,1) precedence: __# = active = mark partial status: pi(__#) = [2] pi(active) = [1] pi(mark) = [1] 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: __#(X1,mark(X2)) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: __#(X1,mark(X2)) -> __#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: __#_A(x1,x2) = x1 + ((0,1),(0,0)) x2 + (2,2) mark_A(x1) = ((0,0),(0,1)) x1 + (1,1) precedence: __# = mark partial status: pi(__#) = [] pi(mark) = [] 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: isNeList#(mark(X)) -> isNeList#(X) p2: isNeList#(active(X)) -> isNeList#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isNeList#_A(x1) = ((0,1),(0,0)) x1 + (2,2) mark_A(x1) = ((0,0),(0,1)) x1 + (1,1) active_A(x1) = ((0,1),(0,1)) x1 + (1,1) precedence: isNeList# = mark = active partial status: pi(isNeList#) = [] pi(mark) = [] pi(active) = [] 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: isNeList#(active(X)) -> isNeList#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNeList#(active(X)) -> isNeList#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isNeList#_A(x1) = ((1,0),(1,0)) x1 + (2,2) active_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: isNeList# = active partial status: pi(isNeList#) = [] pi(active) = [] 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: and#(mark(X1),X2) -> and#(X1,X2) p2: and#(X1,active(X2)) -> and#(X1,X2) p3: and#(active(X1),X2) -> and#(X1,X2) p4: and#(X1,mark(X2)) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: and#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (2,2) mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) precedence: and# = mark = active partial status: pi(and#) = [1] pi(mark) = [1] pi(active) = [1] 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: and#(X1,active(X2)) -> and#(X1,X2) p2: and#(active(X1),X2) -> and#(X1,X2) p3: and#(X1,mark(X2)) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: and#(X1,active(X2)) -> and#(X1,X2) p2: and#(X1,mark(X2)) -> and#(X1,X2) p3: and#(active(X1),X2) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: and#_A(x1,x2) = ((1,1),(1,1)) x1 + (2,2) active_A(x1) = ((1,1),(1,1)) x1 + (3,2) mark_A(x1) = (1,1) precedence: and# > active = mark partial status: pi(and#) = [] pi(active) = [] pi(mark) = [] 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: and#(X1,active(X2)) -> and#(X1,X2) p2: and#(X1,mark(X2)) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: and#(X1,active(X2)) -> and#(X1,X2) p2: and#(X1,mark(X2)) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: and#_A(x1,x2) = x1 + x2 + (2,2) active_A(x1) = x1 + (1,0) mark_A(x1) = x1 + (1,1) precedence: and# = active = mark partial status: pi(and#) = [2] pi(active) = [1] pi(mark) = [1] 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: and#(X1,mark(X2)) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: and#(X1,mark(X2)) -> and#(X1,X2) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: and#_A(x1,x2) = x1 + ((0,1),(0,0)) x2 + (2,2) mark_A(x1) = ((0,0),(0,1)) x1 + (1,1) precedence: and# = mark partial status: pi(and#) = [] pi(mark) = [] 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: isList#(mark(X)) -> isList#(X) p2: isList#(active(X)) -> isList#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isList#_A(x1) = ((0,1),(0,0)) x1 + (2,2) mark_A(x1) = ((0,0),(0,1)) x1 + (1,1) active_A(x1) = ((0,1),(0,1)) x1 + (1,1) precedence: isList# = mark = active partial status: pi(isList#) = [] pi(mark) = [] pi(active) = [] 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#(active(X)) -> isList#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isList#(active(X)) -> isList#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isList#_A(x1) = ((1,0),(1,0)) x1 + (2,2) active_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: isList# = active partial status: pi(isList#) = [] pi(active) = [] 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: isQid#(mark(X)) -> isQid#(X) p2: isQid#(active(X)) -> isQid#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isQid#_A(x1) = ((0,1),(0,0)) x1 + (2,2) mark_A(x1) = ((0,0),(0,1)) x1 + (1,1) active_A(x1) = ((0,1),(0,1)) x1 + (1,1) precedence: isQid# = mark = active partial status: pi(isQid#) = [] pi(mark) = [] pi(active) = [] 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: isQid#(active(X)) -> isQid#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isQid#(active(X)) -> isQid#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isQid#_A(x1) = ((1,0),(1,0)) x1 + (2,2) active_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: isQid# = active partial status: pi(isQid#) = [] pi(active) = [] 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: isPal#(mark(X)) -> isPal#(X) p2: isPal#(active(X)) -> isPal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isPal#_A(x1) = ((0,1),(0,0)) x1 + (2,2) mark_A(x1) = ((0,0),(0,1)) x1 + (1,1) active_A(x1) = ((0,1),(0,1)) x1 + (1,1) precedence: isPal# = mark = active partial status: pi(isPal#) = [] pi(mark) = [] pi(active) = [] 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: isPal#(active(X)) -> isPal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isPal#(active(X)) -> isPal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isPal#_A(x1) = ((1,0),(1,0)) x1 + (2,2) active_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: isPal# = active partial status: pi(isPal#) = [] pi(active) = [] 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: isNePal#(mark(X)) -> isNePal#(X) p2: isNePal#(active(X)) -> isNePal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isNePal#_A(x1) = ((0,1),(0,0)) x1 + (2,2) mark_A(x1) = ((0,0),(0,1)) x1 + (1,1) active_A(x1) = ((0,1),(0,1)) x1 + (1,1) precedence: isNePal# = mark = active partial status: pi(isNePal#) = [] pi(mark) = [] pi(active) = [] 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: isNePal#(active(X)) -> isNePal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNePal#(active(X)) -> isNePal#(X) and R consists of: r1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) r2: active(__(X,nil())) -> mark(X) r3: active(__(nil(),X)) -> mark(X) r4: active(and(tt(),X)) -> mark(X) r5: active(isList(V)) -> mark(isNeList(V)) r6: active(isList(nil())) -> mark(tt()) r7: active(isList(__(V1,V2))) -> mark(and(isList(V1),isList(V2))) r8: active(isNeList(V)) -> mark(isQid(V)) r9: active(isNeList(__(V1,V2))) -> mark(and(isList(V1),isNeList(V2))) r10: active(isNeList(__(V1,V2))) -> mark(and(isNeList(V1),isList(V2))) r11: active(isNePal(V)) -> mark(isQid(V)) r12: active(isNePal(__(I,__(P,I)))) -> mark(and(isQid(I),isPal(P))) r13: active(isPal(V)) -> mark(isNePal(V)) r14: active(isPal(nil())) -> mark(tt()) r15: active(isQid(a())) -> mark(tt()) r16: active(isQid(e())) -> mark(tt()) r17: active(isQid(i())) -> mark(tt()) r18: active(isQid(o())) -> mark(tt()) r19: active(isQid(u())) -> mark(tt()) r20: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) r21: mark(nil()) -> active(nil()) r22: mark(and(X1,X2)) -> active(and(mark(X1),X2)) r23: mark(tt()) -> active(tt()) r24: mark(isList(X)) -> active(isList(X)) r25: mark(isNeList(X)) -> active(isNeList(X)) r26: mark(isQid(X)) -> active(isQid(X)) r27: mark(isNePal(X)) -> active(isNePal(X)) r28: mark(isPal(X)) -> active(isPal(X)) r29: mark(a()) -> active(a()) r30: mark(e()) -> active(e()) r31: mark(i()) -> active(i()) r32: mark(o()) -> active(o()) r33: mark(u()) -> active(u()) r34: __(mark(X1),X2) -> __(X1,X2) r35: __(X1,mark(X2)) -> __(X1,X2) r36: __(active(X1),X2) -> __(X1,X2) r37: __(X1,active(X2)) -> __(X1,X2) r38: and(mark(X1),X2) -> and(X1,X2) r39: and(X1,mark(X2)) -> and(X1,X2) r40: and(active(X1),X2) -> and(X1,X2) r41: and(X1,active(X2)) -> and(X1,X2) r42: isList(mark(X)) -> isList(X) r43: isList(active(X)) -> isList(X) r44: isNeList(mark(X)) -> isNeList(X) r45: isNeList(active(X)) -> isNeList(X) r46: isQid(mark(X)) -> isQid(X) r47: isQid(active(X)) -> isQid(X) r48: isNePal(mark(X)) -> isNePal(X) r49: isNePal(active(X)) -> isNePal(X) r50: isPal(mark(X)) -> isPal(X) r51: isPal(active(X)) -> isPal(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: isNePal#_A(x1) = ((1,0),(1,0)) x1 + (2,2) active_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: isNePal# = active partial status: pi(isNePal#) = [] pi(active) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.