YES We show the termination of the TRS R: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) a____(X,nil()) -> mark(X) a____(nil(),X) -> mark(X) a__and(tt(),X) -> mark(X) a__isList(V) -> a__isNeList(V) a__isList(nil()) -> tt() a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) a__isNeList(V) -> a__isQid(V) a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) a__isNePal(V) -> a__isQid(V) a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) a__isPal(V) -> a__isNePal(V) a__isPal(nil()) -> tt() a__isQid(a()) -> tt() a__isQid(e()) -> tt() a__isQid(i()) -> tt() a__isQid(o()) -> tt() a__isQid(u()) -> tt() mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) mark(and(X1,X2)) -> a__and(mark(X1),X2) mark(isList(X)) -> a__isList(X) mark(isNeList(X)) -> a__isNeList(X) mark(isQid(X)) -> a__isQid(X) mark(isNePal(X)) -> a__isNePal(X) mark(isPal(X)) -> a__isPal(X) mark(nil()) -> nil() mark(tt()) -> tt() mark(a()) -> a() mark(e()) -> e() mark(i()) -> i() mark(o()) -> o() mark(u()) -> u() a____(X1,X2) -> __(X1,X2) a__and(X1,X2) -> and(X1,X2) a__isList(X) -> isList(X) a__isNeList(X) -> isNeList(X) a__isQid(X) -> isQid(X) a__isNePal(X) -> isNePal(X) a__isPal(X) -> isPal(X) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> mark#(X) p3: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p4: a____#(__(X,Y),Z) -> mark#(Y) p5: a____#(__(X,Y),Z) -> mark#(Z) p6: a____#(X,nil()) -> mark#(X) p7: a____#(nil(),X) -> mark#(X) p8: a__and#(tt(),X) -> mark#(X) p9: a__isList#(V) -> a__isNeList#(V) p10: a__isList#(__(V1,V2)) -> a__and#(a__isList(V1),isList(V2)) p11: a__isList#(__(V1,V2)) -> a__isList#(V1) p12: a__isNeList#(V) -> a__isQid#(V) p13: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p14: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p15: a__isNeList#(__(V1,V2)) -> a__and#(a__isNeList(V1),isList(V2)) p16: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p17: a__isNePal#(V) -> a__isQid#(V) p18: a__isNePal#(__(I,__(P,I))) -> a__and#(a__isQid(I),isPal(P)) p19: a__isNePal#(__(I,__(P,I))) -> a__isQid#(I) p20: a__isPal#(V) -> a__isNePal#(V) p21: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p22: mark#(__(X1,X2)) -> mark#(X1) p23: mark#(__(X1,X2)) -> mark#(X2) p24: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p25: mark#(and(X1,X2)) -> mark#(X1) p26: mark#(isList(X)) -> a__isList#(X) p27: mark#(isNeList(X)) -> a__isNeList#(X) p28: mark#(isQid(X)) -> a__isQid#(X) p29: mark#(isNePal(X)) -> a__isNePal#(X) p30: mark#(isPal(X)) -> a__isPal#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(X) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p13, p14, p15, p16, p18, p20, p21, p22, p23, p24, p25, p26, p27, p29, p30} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(isPal(X)) -> a__isPal#(X) p4: a__isPal#(V) -> a__isNePal#(V) p5: a__isNePal#(__(I,__(P,I))) -> a__and#(a__isQid(I),isPal(P)) p6: a__and#(tt(),X) -> mark#(X) p7: mark#(isNePal(X)) -> a__isNePal#(X) p8: mark#(isNeList(X)) -> a__isNeList#(X) p9: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p10: a__isNeList#(__(V1,V2)) -> a__and#(a__isNeList(V1),isList(V2)) p11: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p12: a__isList#(__(V1,V2)) -> a__isList#(V1) p13: a__isList#(__(V1,V2)) -> a__and#(a__isList(V1),isList(V2)) p14: a__isList#(V) -> a__isNeList#(V) p15: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p16: mark#(isList(X)) -> a__isList#(X) p17: mark#(and(X1,X2)) -> mark#(X1) p18: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p19: mark#(__(X1,X2)) -> mark#(X2) p20: mark#(__(X1,X2)) -> mark#(X1) p21: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p22: a____#(X,nil()) -> mark#(X) p23: a____#(__(X,Y),Z) -> mark#(Z) p24: a____#(__(X,Y),Z) -> mark#(Y) p25: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p26: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (1,1) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,1),(0,1)) x2 + (0,13) mark_A(x1) = ((0,1),(0,1)) x1 + (23,0) a_____A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (9,13) nil_A() = (1,15) mark#_A(x1) = ((0,1),(0,1)) x1 + (3,5) isPal_A(x1) = ((0,0),(0,1)) x1 + (1,9) a__isPal#_A(x1) = ((0,1),(0,1)) x1 + (2,10) a__isNePal#_A(x1) = ((0,1),(0,1)) x1 + (1,1) a__and#_A(x1,x2) = ((0,1),(0,1)) x2 + (3,5) a__isQid_A(x1) = (28,6) tt_A() = (2,2) isNePal_A(x1) = ((0,1),(0,1)) x1 + (29,7) isNeList_A(x1) = ((0,0),(0,1)) x1 + (1,6) a__isNeList#_A(x1) = ((0,1),(0,1)) x1 + (2,0) a__isNeList_A(x1) = ((0,1),(0,1)) x1 + (29,6) isList_A(x1) = ((0,1),(0,1)) x1 + (1,8) a__isList#_A(x1) = ((0,1),(0,1)) x1 + (3,0) a__isList_A(x1) = ((0,1),(0,1)) x1 + (30,8) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,1),(0,1)) x2 + (1,0) a__and_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (22,0) a__isNePal_A(x1) = ((0,1),(0,1)) x1 + (29,7) a__isPal_A(x1) = ((0,1),(0,1)) x1 + (30,9) a_A() = (1,1) e_A() = (1,1) i_A() = (1,1) o_A() = (3,2) u_A() = (3,2) isQid_A(x1) = (28,6) precedence: a > nil > mark = a____ = a__isQid = isNePal = a__isNeList = a__isList = a__and = a__isNePal = a__isPal = e = i = u > __ > a____# = a__isNeList# > a__isList# > isList > and > mark# = a__and# = tt > a__isPal# > isNeList = o > isQid > isPal = a__isNePal# partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(isPal) = [] pi(a__isPal#) = [] pi(a__isNePal#) = [] pi(a__and#) = [] pi(a__isQid) = [] pi(tt) = [] pi(isNePal) = [] pi(isNeList) = [] pi(a__isNeList#) = [] pi(a__isNeList) = [] pi(isList) = [] pi(a__isList#) = [] pi(a__isList) = [] pi(and) = [] pi(a__and) = [] pi(a__isNePal) = [] pi(a__isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isQid) = [] The next rules are strictly ordered: p5 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(isPal(X)) -> a__isPal#(X) p4: a__isPal#(V) -> a__isNePal#(V) p5: a__and#(tt(),X) -> mark#(X) p6: mark#(isNePal(X)) -> a__isNePal#(X) p7: mark#(isNeList(X)) -> a__isNeList#(X) p8: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p9: a__isNeList#(__(V1,V2)) -> a__and#(a__isNeList(V1),isList(V2)) p10: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p11: a__isList#(__(V1,V2)) -> a__isList#(V1) p12: a__isList#(__(V1,V2)) -> a__and#(a__isList(V1),isList(V2)) p13: a__isList#(V) -> a__isNeList#(V) p14: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p15: mark#(isList(X)) -> a__isList#(X) p16: mark#(and(X1,X2)) -> mark#(X1) p17: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p18: mark#(__(X1,X2)) -> mark#(X2) p19: mark#(__(X1,X2)) -> mark#(X1) p20: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p21: a____#(X,nil()) -> mark#(X) p22: a____#(__(X,Y),Z) -> mark#(Z) p23: a____#(__(X,Y),Z) -> mark#(Y) p24: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p25: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(X) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p5, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> mark#(X) p3: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p4: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p5: a____#(__(X,Y),Z) -> mark#(Y) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p9: a__and#(tt(),X) -> mark#(X) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(isList(X)) -> a__isList#(X) p12: a__isList#(V) -> a__isNeList#(V) p13: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p14: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p15: a__isList#(__(V1,V2)) -> a__and#(a__isList(V1),isList(V2)) p16: a__isList#(__(V1,V2)) -> a__isList#(V1) p17: a__isNeList#(__(V1,V2)) -> a__and#(a__isNeList(V1),isList(V2)) p18: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p19: mark#(isNeList(X)) -> a__isNeList#(X) p20: a____#(__(X,Y),Z) -> mark#(Z) p21: a____#(X,nil()) -> mark#(X) p22: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (3,4) ___A(x1,x2) = x1 + ((0,0),(1,1)) x2 mark_A(x1) = ((0,0),(0,1)) x1 a_____A(x1,x2) = x1 + ((0,0),(1,1)) x2 mark#_A(x1) = ((1,1),(0,0)) x1 + (3,4) and_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,1)) x2 a__and#_A(x1,x2) = ((0,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (1,4) tt_A() = (0,3) isList_A(x1) = ((0,0),(1,1)) x1 a__isList#_A(x1) = ((1,1),(0,0)) x1 + (2,4) a__isNeList#_A(x1) = ((1,1),(0,0)) x1 + (2,4) a__isList_A(x1) = ((0,0),(1,1)) x1 isNeList_A(x1) = ((0,0),(1,1)) x1 a__isNeList_A(x1) = ((0,0),(1,1)) x1 nil_A() = (0,3) a__and_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,1)) x2 a__isNePal_A(x1) = ((0,0),(0,1)) x1 + (0,1) a__isQid_A(x1) = ((0,0),(0,1)) x1 isPal_A(x1) = ((0,0),(0,1)) x1 + (0,1) a__isPal_A(x1) = ((0,0),(0,1)) x1 + (0,1) a_A() = (0,3) e_A() = (0,3) i_A() = (0,3) o_A() = (0,3) u_A() = (0,3) isQid_A(x1) = ((0,0),(0,1)) x1 isNePal_A(x1) = ((0,0),(0,1)) x1 + (0,1) precedence: a____# = mark# = a__and# = a__isList# = a__isNeList# > mark = a____ = and = isList = a__isList = isNeList = a__isNeList = a__and = a__isNePal = a__isPal = a = e = o > nil > i > a__isQid > tt > isPal > __ = isNePal > u > isQid partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(and) = [] pi(a__and#) = [] pi(tt) = [] pi(isList) = [] pi(a__isList#) = [] pi(a__isNeList#) = [] pi(a__isList) = [] pi(isNeList) = [] pi(a__isNeList) = [] pi(nil) = [] pi(a__and) = [] pi(a__isNePal) = [] pi(a__isQid) = [] pi(isPal) = [] pi(a__isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p15 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> mark#(X) p3: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p4: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p5: a____#(__(X,Y),Z) -> mark#(Y) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p9: a__and#(tt(),X) -> mark#(X) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(isList(X)) -> a__isList#(X) p12: a__isList#(V) -> a__isNeList#(V) p13: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p14: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p15: a__isList#(__(V1,V2)) -> a__isList#(V1) p16: a__isNeList#(__(V1,V2)) -> a__and#(a__isNeList(V1),isList(V2)) p17: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p18: mark#(isNeList(X)) -> a__isNeList#(X) p19: a____#(__(X,Y),Z) -> mark#(Z) p20: a____#(X,nil()) -> mark#(X) p21: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(isNeList(X)) -> a__isNeList#(X) p4: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p5: a__isNeList#(__(V1,V2)) -> a__and#(a__isNeList(V1),isList(V2)) p6: a__and#(tt(),X) -> mark#(X) p7: mark#(isList(X)) -> a__isList#(X) p8: a__isList#(__(V1,V2)) -> a__isList#(V1) p9: a__isList#(V) -> a__isNeList#(V) p10: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p11: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p12: mark#(and(X1,X2)) -> mark#(X1) p13: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p14: mark#(__(X1,X2)) -> mark#(X2) p15: mark#(__(X1,X2)) -> mark#(X1) p16: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p17: a____#(X,nil()) -> mark#(X) p18: a____#(__(X,Y),Z) -> mark#(Z) p19: a____#(__(X,Y),Z) -> mark#(Y) p20: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p21: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (7,5) ___A(x1,x2) = x1 + x2 + (6,4) mark_A(x1) = x1 a_____A(x1,x2) = x1 + x2 + (6,4) nil_A() = (16,4) mark#_A(x1) = ((1,1),(0,0)) x1 + (15,5) isNeList_A(x1) = x1 + (1,1) a__isNeList#_A(x1) = ((1,1),(0,0)) x1 + (7,5) a__and#_A(x1,x2) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (11,5) a__isNeList_A(x1) = x1 + (1,1) isList_A(x1) = x1 + (2,1) tt_A() = (1,4) a__isList#_A(x1) = ((1,1),(0,0)) x1 + (17,5) a__isList_A(x1) = x1 + (2,1) and_A(x1,x2) = x1 + x2 + (1,1) a__and_A(x1,x2) = x1 + x2 + (1,1) a__isNePal_A(x1) = x1 + (1,1) a__isQid_A(x1) = x1 + (1,1) isPal_A(x1) = x1 + (1,6) a__isPal_A(x1) = x1 + (1,6) a_A() = (2,4) e_A() = (2,4) i_A() = (2,4) o_A() = (2,4) u_A() = (0,4) isQid_A(x1) = x1 + (1,1) isNePal_A(x1) = x1 + (1,1) precedence: e = i > isNeList = a__isNeList# = a__isNeList > a____# = mark# = a__and# > a__isList# > a > isList = a__isList = and = a__and > o > __ = mark = a____ = nil = tt = a__isNePal = a__isQid = isPal = a__isPal = u = isQid = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [1] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(isNeList) = [] pi(a__isNeList#) = [] pi(a__and#) = [] pi(a__isNeList) = [] pi(isList) = [] pi(tt) = [] pi(a__isList#) = [] pi(a__isList) = [] pi(and) = [] pi(a__and) = [] pi(a__isNePal) = [1] pi(a__isQid) = [] pi(isPal) = [] pi(a__isPal) = [1] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isQid) = [] pi(isNePal) = [1] The next rules are strictly ordered: p5 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(isNeList(X)) -> a__isNeList#(X) p4: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p5: a__and#(tt(),X) -> mark#(X) p6: mark#(isList(X)) -> a__isList#(X) p7: a__isList#(__(V1,V2)) -> a__isList#(V1) p8: a__isList#(V) -> a__isNeList#(V) p9: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p10: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p11: mark#(and(X1,X2)) -> mark#(X1) p12: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p13: mark#(__(X1,X2)) -> mark#(X2) p14: mark#(__(X1,X2)) -> mark#(X1) p15: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p16: a____#(X,nil()) -> mark#(X) p17: a____#(__(X,Y),Z) -> mark#(Z) p18: a____#(__(X,Y),Z) -> mark#(Y) p19: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p20: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> mark#(X) p3: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p4: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p5: a____#(__(X,Y),Z) -> mark#(Y) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p9: a__and#(tt(),X) -> mark#(X) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(isList(X)) -> a__isList#(X) p12: a__isList#(V) -> a__isNeList#(V) p13: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p14: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p15: a__isList#(__(V1,V2)) -> a__isList#(V1) p16: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p17: mark#(isNeList(X)) -> a__isNeList#(X) p18: a____#(__(X,Y),Z) -> mark#(Z) p19: a____#(X,nil()) -> mark#(X) p20: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (1,8) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (14,7) mark_A(x1) = ((0,1),(0,1)) x1 + (13,0) a_____A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (15,7) mark#_A(x1) = ((0,1),(0,1)) x1 + (8,8) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(1,1)) x2 + (9,0) a__and#_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (8,8) tt_A() = (18,6) isList_A(x1) = ((0,0),(0,1)) x1 + (7,0) a__isList#_A(x1) = ((0,1),(0,1)) x1 + (6,1) a__isNeList#_A(x1) = ((0,1),(0,1)) x1 + (6,1) a__isList_A(x1) = ((0,1),(0,1)) x1 + (12,0) isNeList_A(x1) = ((0,0),(0,1)) x1 + (4,0) nil_A() = (20,7) a__and_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(1,1)) x2 + (10,0) a__isNeList_A(x1) = ((0,1),(0,1)) x1 + (4,0) a__isQid_A(x1) = ((0,1),(0,1)) x1 + (1,0) a__isNePal_A(x1) = ((0,1),(0,1)) x1 + (12,2) isPal_A(x1) = ((0,0),(0,1)) x1 + (1,15) a__isPal_A(x1) = ((0,1),(0,1)) x1 + (27,15) a_A() = (31,18) e_A() = (31,18) i_A() = (31,18) o_A() = (31,18) u_A() = (31,18) isQid_A(x1) = ((0,1),(0,1)) x1 + (1,0) isNePal_A(x1) = ((0,0),(0,1)) x1 + (1,2) precedence: mark = isList = a__isList = a__and = a__isNeList = a__isNePal = isPal = a__isPal = i = u > a____ = nil = o > __ = isNePal > a____# = mark# = and = a__and# = tt = a__isList# = a__isNeList# = isNeList = a__isQid = a = e = isQid partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(and) = [] pi(a__and#) = [] pi(tt) = [] pi(isList) = [] pi(a__isList#) = [] pi(a__isNeList#) = [] pi(a__isList) = [] pi(isNeList) = [] pi(nil) = [] pi(a__and) = [] pi(a__isNeList) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(isPal) = [] pi(a__isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isQid) = [] pi(isNePal) = [] 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: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> mark#(X) p3: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p4: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p5: a____#(__(X,Y),Z) -> mark#(Y) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p9: a__and#(tt(),X) -> mark#(X) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(isList(X)) -> a__isList#(X) p12: a__isList#(V) -> a__isNeList#(V) p13: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p14: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p15: a__isList#(__(V1,V2)) -> a__isList#(V1) p16: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p17: a____#(__(X,Y),Z) -> mark#(Z) p18: a____#(X,nil()) -> mark#(X) p19: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(isList(X)) -> a__isList#(X) p4: a__isList#(__(V1,V2)) -> a__isList#(V1) p5: a__isList#(V) -> a__isNeList#(V) p6: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p7: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p8: a__isNeList#(__(V1,V2)) -> a__and#(a__isList(V1),isNeList(V2)) p9: a__and#(tt(),X) -> mark#(X) p10: mark#(and(X1,X2)) -> mark#(X1) p11: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p12: mark#(__(X1,X2)) -> mark#(X2) p13: mark#(__(X1,X2)) -> mark#(X1) p14: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p15: a____#(X,nil()) -> mark#(X) p16: a____#(__(X,Y),Z) -> mark#(Z) p17: a____#(__(X,Y),Z) -> mark#(Y) p18: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p19: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (11,0) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (1,0) mark_A(x1) = ((0,1),(0,1)) x1 + (6,0) a_____A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (5,0) nil_A() = (0,6) mark#_A(x1) = ((0,1),(0,0)) x1 + (11,0) isList_A(x1) = ((0,0),(0,1)) x1 + (5,0) a__isList#_A(x1) = ((0,1),(0,0)) x1 + (6,0) a__isNeList#_A(x1) = ((0,1),(0,0)) x1 + (6,0) a__and#_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,1),(0,0)) x2 a__isList_A(x1) = ((0,1),(0,1)) x1 + (5,0) isNeList_A(x1) = ((0,1),(0,1)) x1 tt_A() = (11,5) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (1,0) a__and_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (2,0) a__isNeList_A(x1) = ((0,1),(0,1)) x1 + (3,0) a__isQid_A(x1) = ((0,1),(0,1)) x1 a__isNePal_A(x1) = ((0,1),(0,1)) x1 + (4,1) isPal_A(x1) = ((0,0),(0,1)) x1 + (2,1) a__isPal_A(x1) = ((0,1),(0,1)) x1 + (5,1) a_A() = (10,11) e_A() = (0,11) i_A() = (0,12) o_A() = (10,11) u_A() = (1,11) isQid_A(x1) = ((0,0),(0,1)) x1 isNePal_A(x1) = ((0,1),(0,1)) x1 + (4,1) precedence: nil > a__isList# = a__isNeList# > i > isPal = a__isPal > a____# = mark# = a__and# > mark = a____ = a__isList = isNeList = and = a__and = a__isNeList = a__isNePal = u > a__isQid = isQid > e > a > tt = o > isList > __ > isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(isList) = [] pi(a__isList#) = [] pi(a__isNeList#) = [] pi(a__and#) = [] pi(a__isList) = [] pi(isNeList) = [] pi(tt) = [] pi(and) = [] pi(a__and) = [] pi(a__isNeList) = [] pi(a__isQid) = [] pi(a__isNePal) = [] pi(isPal) = [] pi(a__isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isQid) = [] pi(isNePal) = [] 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: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(isList(X)) -> a__isList#(X) p4: a__isList#(__(V1,V2)) -> a__isList#(V1) p5: a__isList#(V) -> a__isNeList#(V) p6: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p7: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p8: a__and#(tt(),X) -> mark#(X) p9: mark#(and(X1,X2)) -> mark#(X1) p10: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p11: mark#(__(X1,X2)) -> mark#(X2) p12: mark#(__(X1,X2)) -> mark#(X1) p13: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p14: a____#(X,nil()) -> mark#(X) p15: a____#(__(X,Y),Z) -> mark#(Z) p16: a____#(__(X,Y),Z) -> mark#(Y) p17: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p18: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(X) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18} {p4, p5, p6, p7} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> mark#(X) p3: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p4: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p5: a____#(__(X,Y),Z) -> mark#(Y) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p9: a__and#(tt(),X) -> mark#(X) p10: mark#(and(X1,X2)) -> mark#(X1) p11: a____#(__(X,Y),Z) -> mark#(Z) p12: a____#(X,nil()) -> mark#(X) p13: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (7,1) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (1,0) mark_A(x1) = ((0,1),(0,1)) x1 + (5,0) a_____A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (4,0) mark#_A(x1) = ((0,1),(0,0)) x1 + (7,1) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (1,0) a__and#_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,1),(0,0)) x2 + (1,1) tt_A() = (8,7) nil_A() = (9,7) a__and_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (2,0) a__isList_A(x1) = ((0,1),(0,1)) x1 + (4,0) a__isNeList_A(x1) = ((0,1),(0,1)) x1 + (3,0) isList_A(x1) = ((0,0),(0,1)) x1 + (2,0) a__isQid_A(x1) = ((0,1),(0,1)) x1 + (2,0) isNeList_A(x1) = ((0,0),(0,1)) x1 a__isNePal_A(x1) = ((0,1),(0,1)) x1 + (4,1) isPal_A(x1) = ((0,0),(0,1)) x1 + (5,1) a__isPal_A(x1) = ((0,1),(0,1)) x1 + (5,1) a_A() = (9,7) e_A() = (9,7) i_A() = (9,7) o_A() = (8,7) u_A() = (9,7) isQid_A(x1) = ((0,0),(0,1)) x1 + (1,0) isNePal_A(x1) = ((0,0),(0,1)) x1 + (4,1) precedence: e > a__isQid > a__isNePal = a__isPal > mark = a____ = tt = a__and = a__isList = isList > a__isNeList = a > nil > isPal > a____# = mark# > a__and# > __ > o = u = isQid > i > and = isNeList = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(mark#) = [] pi(and) = [] pi(a__and#) = [] pi(tt) = [] pi(nil) = [] pi(a__and) = [] pi(a__isList) = [] pi(a__isNeList) = [] pi(isList) = [] pi(a__isQid) = [] pi(isNeList) = [] pi(a__isNePal) = [] pi(isPal) = [] pi(a__isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p9 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> mark#(X) p3: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p4: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p5: a____#(__(X,Y),Z) -> mark#(Y) p6: mark#(__(X1,X2)) -> mark#(X1) p7: mark#(__(X1,X2)) -> mark#(X2) p8: mark#(and(X1,X2)) -> a__and#(mark(X1),X2) p9: mark#(and(X1,X2)) -> mark#(X1) p10: a____#(__(X,Y),Z) -> mark#(Z) p11: a____#(X,nil()) -> mark#(X) p12: a____#(nil(),X) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(X) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p9, p10, p11, p12} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(and(X1,X2)) -> mark#(X1) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(__(X1,X2)) -> mark#(X1) p6: mark#(__(X1,X2)) -> a____#(mark(X1),mark(X2)) p7: a____#(X,nil()) -> mark#(X) p8: a____#(__(X,Y),Z) -> mark#(Z) p9: a____#(__(X,Y),Z) -> mark#(Y) p10: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p11: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (8,1) ___A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + (7,3) mark_A(x1) = ((1,0),(1,0)) x1 + (0,3) a_____A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (7,9) nil_A() = (2,1) mark#_A(x1) = ((1,0),(1,0)) x1 + (3,2) and_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,1),(0,0)) x2 + (1,1) a__and_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,1),(1,0)) x2 + (1,3) tt_A() = (1,2) a__isList_A(x1) = ((1,0),(1,0)) x1 + (4,2) a__isNeList_A(x1) = ((1,0),(1,0)) x1 + (4,2) isList_A(x1) = ((1,0),(0,0)) x1 + (4,2) a__isQid_A(x1) = ((1,0),(0,0)) x1 + (1,2) isNeList_A(x1) = ((1,0),(0,0)) x1 + (4,2) a__isNePal_A(x1) = ((1,0),(1,0)) x1 + (15,4) isPal_A(x1) = ((1,0),(0,0)) x1 + (15,11) a__isPal_A(x1) = ((1,0),(1,0)) x1 + (15,11) a_A() = (1,1) e_A() = (2,1) i_A() = (2,2) o_A() = (2,2) u_A() = (2,1) isQid_A(x1) = ((1,0),(0,0)) x1 + (1,2) isNePal_A(x1) = ((1,0),(1,0)) x1 + (15,4) precedence: mark = a____ = a__isNePal = isPal = a__isPal = a = e = o > a____# = mark# > __ > nil > i > tt = a__isQid > u > isQid > a__and = a__isList = a__isNeList > isList > isNeList > and = isNePal partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(nil) = [] pi(mark#) = [] pi(and) = [] pi(a__and) = [] pi(tt) = [] pi(a__isList) = [] pi(a__isNeList) = [] pi(isList) = [] pi(a__isQid) = [] pi(isNeList) = [] pi(a__isNePal) = [] pi(isPal) = [] pi(a__isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(nil(),X) -> mark#(X) p3: mark#(and(X1,X2)) -> mark#(X1) p4: mark#(__(X1,X2)) -> mark#(X2) p5: mark#(__(X1,X2)) -> mark#(X1) p6: a____#(X,nil()) -> mark#(X) p7: a____#(__(X,Y),Z) -> mark#(Z) p8: a____#(__(X,Y),Z) -> mark#(Y) p9: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) p10: a____#(__(X,Y),Z) -> mark#(X) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(X) -> isPal(X) The estimated dependency graph contains the following SCCs: {p1, p9} {p3, p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) p2: a____#(__(X,Y),Z) -> a____#(mark(Y),mark(Z)) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = x1 + (1,1) ___A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (11,14) mark_A(x1) = ((0,1),(0,1)) x1 a_____A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (13,14) a__and_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (2,7) tt_A() = (0,2) a__isList_A(x1) = ((0,1),(0,1)) x1 + (3,4) a__isNeList_A(x1) = ((0,1),(0,1)) x1 + (2,4) nil_A() = (1,2) isList_A(x1) = ((0,0),(0,1)) x1 + (1,4) a__isQid_A(x1) = ((0,0),(0,1)) x1 isNeList_A(x1) = ((0,0),(0,1)) x1 + (1,4) a__isNePal_A(x1) = ((0,1),(0,1)) x1 + (4,8) isPal_A(x1) = ((0,0),(0,1)) x1 + (24,29) a__isPal_A(x1) = ((0,1),(0,1)) x1 + (24,29) a_A() = (1,2) e_A() = (1,2) i_A() = (1,2) o_A() = (1,2) u_A() = (1,2) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (1,7) isQid_A(x1) = ((0,0),(0,1)) x1 isNePal_A(x1) = ((0,0),(0,1)) x1 + (1,8) precedence: a > __ = mark = a____ = a__and = a__isList = a__isNeList = a__isNePal = a__isPal = e = o = isNePal > i > a____# > isNeList = isPal = u > isList > tt = a__isQid = and > isQid > nil partial status: pi(a____#) = [1] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(a__and) = [] pi(tt) = [] pi(a__isList) = [] pi(a__isNeList) = [] pi(nil) = [] pi(isList) = [] pi(a__isQid) = [] pi(isNeList) = [] pi(a__isNePal) = [] pi(isPal) = [] pi(a__isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(and) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: a____#(__(X,Y),Z) -> a____#(mark(X),a____(mark(Y),mark(Z))) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: a____#_A(x1,x2) = ((0,1),(0,0)) x1 + (3,2) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((0,1),(0,1)) x2 + (2,1) mark_A(x1) = ((0,1),(0,1)) x1 + (5,0) a_____A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (6,1) a__and_A(x1,x2) = ((0,1),(0,1)) x2 + (5,0) tt_A() = (0,0) a__isList_A(x1) = (6,1) a__isNeList_A(x1) = (6,1) nil_A() = (1,1) isList_A(x1) = (1,1) a__isQid_A(x1) = (0,0) isNeList_A(x1) = (6,1) a__isNePal_A(x1) = ((0,1),(0,1)) x1 + (3,0) isPal_A(x1) = ((0,0),(0,1)) x1 + (5,0) a__isPal_A(x1) = ((0,1),(0,1)) x1 + (5,0) a_A() = (1,1) e_A() = (1,1) i_A() = (1,1) o_A() = (1,1) u_A() = (1,1) and_A(x1,x2) = ((0,0),(0,1)) x2 + (5,0) isQid_A(x1) = (0,0) isNePal_A(x1) = ((0,0),(0,1)) x1 + (3,0) precedence: a > e > i > mark = a____ = a__and = a__isList = a__isNeList = nil = a__isQid = a__isNePal = a__isPal = isQid > isNeList = isPal > tt = u = and = isNePal > a____# = __ = isList = o partial status: pi(a____#) = [] pi(__) = [] pi(mark) = [] pi(a____) = [] pi(a__and) = [] pi(tt) = [] pi(a__isList) = [] pi(a__isNeList) = [] pi(nil) = [] pi(isList) = [] pi(a__isQid) = [] pi(isNeList) = [] pi(a__isNePal) = [] pi(isPal) = [] pi(a__isPal) = [] pi(a) = [] pi(e) = [] pi(i) = [] pi(o) = [] pi(u) = [] pi(and) = [] pi(isQid) = [] pi(isNePal) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(and(X1,X2)) -> mark#(X1) p2: mark#(__(X1,X2)) -> mark#(X1) p3: mark#(__(X1,X2)) -> mark#(X2) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: mark#_A(x1) = ((1,1),(0,1)) x1 + (2,2) and_A(x1,x2) = x1 + ((1,1),(1,1)) x2 + (1,1) ___A(x1,x2) = ((1,1),(0,1)) x1 + ((1,1),(0,1)) x2 + (3,2) precedence: mark# = and = __ partial status: pi(mark#) = [1] pi(and) = [] pi(__) = [1, 2] 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: mark#(and(X1,X2)) -> mark#(X1) p2: mark#(__(X1,X2)) -> mark#(X1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: mark#(and(X1,X2)) -> mark#(X1) p2: mark#(__(X1,X2)) -> mark#(X1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: mark#_A(x1) = ((0,1),(0,0)) x1 + (2,2) and_A(x1,x2) = ((0,0),(0,1)) x1 + ((1,1),(1,1)) x2 + (1,1) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((1,1),(1,1)) x2 + (1,1) precedence: mark# = and > __ partial status: pi(mark#) = [] pi(and) = [2] pi(__) = [] 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: mark#(__(X1,X2)) -> mark#(X1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: mark#(__(X1,X2)) -> mark#(X1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(X) -> isPal(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: mark#_A(x1) = x1 + (1,1) ___A(x1,x2) = x1 + ((1,1),(1,1)) x2 + (2,1) precedence: __ > mark# partial status: pi(mark#) = [1] pi(__) = [1, 2] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__isList#(__(V1,V2)) -> a__isList#(V1) p2: a__isList#(V) -> a__isNeList#(V) p3: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p4: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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__isList#_A(x1) = ((1,1),(1,1)) x1 + (3,2) ___A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) a__isNeList#_A(x1) = ((1,1),(1,1)) x1 + (2,2) precedence: a__isList# = __ = a__isNeList# partial status: pi(a__isList#) = [1] pi(__) = [2] pi(a__isNeList#) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__isList#(V) -> a__isNeList#(V) p2: a__isNeList#(__(V1,V2)) -> a__isList#(V1) p3: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: a__isList#(V) -> a__isNeList#(V) p2: a__isNeList#(__(V1,V2)) -> a__isNeList#(V1) p3: a__isNeList#(__(V1,V2)) -> a__isList#(V1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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__isList#_A(x1) = ((0,1),(0,1)) x1 + (2,3) a__isNeList#_A(x1) = ((0,1),(0,1)) x1 + (1,3) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((1,1),(1,0)) x2 + (3,2) precedence: a__isList# = a__isNeList# = __ partial status: pi(a__isList#) = [] pi(a__isNeList#) = [] pi(__) = [] The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__isList#(V) -> a__isNeList#(V) p2: a__isNeList#(__(V1,V2)) -> a__isList#(V1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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: a__isList#(V) -> a__isNeList#(V) p2: a__isNeList#(__(V1,V2)) -> a__isList#(V1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(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__isList#_A(x1) = ((0,1),(0,0)) x1 + (2,4) a__isNeList#_A(x1) = ((0,1),(0,0)) x1 + (0,4) ___A(x1,x2) = ((0,0),(0,1)) x1 + ((1,1),(1,1)) x2 + (1,3) precedence: a__isList# > a__isNeList# = __ partial status: pi(a__isList#) = [] pi(a__isNeList#) = [] pi(__) = [2] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__isNeList#(__(V1,V2)) -> a__isList#(V1) and R consists of: r1: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) r2: a____(X,nil()) -> mark(X) r3: a____(nil(),X) -> mark(X) r4: a__and(tt(),X) -> mark(X) r5: a__isList(V) -> a__isNeList(V) r6: a__isList(nil()) -> tt() r7: a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) r8: a__isNeList(V) -> a__isQid(V) r9: a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) r10: a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) r11: a__isNePal(V) -> a__isQid(V) r12: a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) r13: a__isPal(V) -> a__isNePal(V) r14: a__isPal(nil()) -> tt() r15: a__isQid(a()) -> tt() r16: a__isQid(e()) -> tt() r17: a__isQid(i()) -> tt() r18: a__isQid(o()) -> tt() r19: a__isQid(u()) -> tt() r20: mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) r21: mark(and(X1,X2)) -> a__and(mark(X1),X2) r22: mark(isList(X)) -> a__isList(X) r23: mark(isNeList(X)) -> a__isNeList(X) r24: mark(isQid(X)) -> a__isQid(X) r25: mark(isNePal(X)) -> a__isNePal(X) r26: mark(isPal(X)) -> a__isPal(X) r27: mark(nil()) -> nil() r28: mark(tt()) -> tt() r29: mark(a()) -> a() r30: mark(e()) -> e() r31: mark(i()) -> i() r32: mark(o()) -> o() r33: mark(u()) -> u() r34: a____(X1,X2) -> __(X1,X2) r35: a__and(X1,X2) -> and(X1,X2) r36: a__isList(X) -> isList(X) r37: a__isNeList(X) -> isNeList(X) r38: a__isQid(X) -> isQid(X) r39: a__isNePal(X) -> isNePal(X) r40: a__isPal(X) -> isPal(X) The estimated dependency graph contains the following SCCs: (no SCCs)