YES We show the termination of the TRS R: a__pairNs() -> cons(|0|(),incr(oddNs())) a__oddNs() -> a__incr(a__pairNs()) a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) a__take(|0|(),XS) -> nil() a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) a__zip(nil(),XS) -> nil() a__zip(X,nil()) -> nil() a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) a__tail(cons(X,XS)) -> mark(XS) a__repItems(nil()) -> nil() a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) mark(pairNs()) -> a__pairNs() mark(incr(X)) -> a__incr(mark(X)) mark(oddNs()) -> a__oddNs() mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) mark(tail(X)) -> a__tail(mark(X)) mark(repItems(X)) -> a__repItems(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(|0|()) -> |0|() mark(s(X)) -> s(mark(X)) mark(nil()) -> nil() mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) a__pairNs() -> pairNs() a__incr(X) -> incr(X) a__oddNs() -> oddNs() a__take(X1,X2) -> take(X1,X2) a__zip(X1,X2) -> zip(X1,X2) a__tail(X) -> tail(X) a__repItems(X) -> repItems(X) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__oddNs#() -> a__incr#(a__pairNs()) p2: a__oddNs#() -> a__pairNs#() p3: a__incr#(cons(X,XS)) -> mark#(X) p4: a__take#(s(N),cons(X,XS)) -> mark#(X) p5: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) p6: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(Y) p7: a__tail#(cons(X,XS)) -> mark#(XS) p8: a__repItems#(cons(X,XS)) -> mark#(X) p9: mark#(pairNs()) -> a__pairNs#() p10: mark#(incr(X)) -> a__incr#(mark(X)) p11: mark#(incr(X)) -> mark#(X) p12: mark#(oddNs()) -> a__oddNs#() p13: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p14: mark#(take(X1,X2)) -> mark#(X1) p15: mark#(take(X1,X2)) -> mark#(X2) p16: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p17: mark#(zip(X1,X2)) -> mark#(X1) p18: mark#(zip(X1,X2)) -> mark#(X2) p19: mark#(tail(X)) -> a__tail#(mark(X)) p20: mark#(tail(X)) -> mark#(X) p21: mark#(repItems(X)) -> a__repItems#(mark(X)) p22: mark#(repItems(X)) -> mark#(X) p23: mark#(cons(X1,X2)) -> mark#(X1) p24: mark#(s(X)) -> mark#(X) p25: mark#(pair(X1,X2)) -> mark#(X1) p26: mark#(pair(X1,X2)) -> mark#(X2) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The estimated dependency graph contains the following SCCs: {p1, p3, p4, p5, p6, p7, p8, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__oddNs#() -> a__incr#(a__pairNs()) p2: a__incr#(cons(X,XS)) -> mark#(X) p3: mark#(pair(X1,X2)) -> mark#(X2) p4: mark#(pair(X1,X2)) -> mark#(X1) p5: mark#(s(X)) -> mark#(X) p6: mark#(cons(X1,X2)) -> mark#(X1) p7: mark#(repItems(X)) -> mark#(X) p8: mark#(repItems(X)) -> a__repItems#(mark(X)) p9: a__repItems#(cons(X,XS)) -> mark#(X) p10: mark#(tail(X)) -> mark#(X) p11: mark#(tail(X)) -> a__tail#(mark(X)) p12: a__tail#(cons(X,XS)) -> mark#(XS) p13: mark#(zip(X1,X2)) -> mark#(X2) p14: mark#(zip(X1,X2)) -> mark#(X1) p15: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p16: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(Y) p17: mark#(take(X1,X2)) -> mark#(X2) p18: mark#(take(X1,X2)) -> mark#(X1) p19: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p20: a__take#(s(N),cons(X,XS)) -> mark#(X) p21: mark#(oddNs()) -> a__oddNs#() p22: mark#(incr(X)) -> mark#(X) p23: mark#(incr(X)) -> a__incr#(mark(X)) p24: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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 Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: a__oddNs#_A = 48 a__incr#_A(x1) = x1 + 18 a__pairNs_A = 30 cons_A(x1,x2) = max{x1, x2 - 12} mark#_A(x1) = x1 + 18 pair_A(x1,x2) = max{12, x1 + 6, x2 + 9} s_A(x1) = max{4, x1} repItems_A(x1) = max{25, x1 + 19} a__repItems#_A(x1) = x1 + 20 mark_A(x1) = max{2, x1} tail_A(x1) = max{21, x1 + 19} a__tail#_A(x1) = x1 + 37 zip_A(x1,x2) = max{22, x1 + 11, x2 + 9} a__zip#_A(x1,x2) = max{23, x1 + 19, x2 + 19} take_A(x1,x2) = max{27, x1 + 24, x2 + 22} a__take#_A(x1,x2) = max{x1 + 6, x2 + 19} oddNs_A = 42 incr_A(x1) = max{4, x1} a__oddNs_A = 42 a__incr_A(x1) = max{4, x1} a__take_A(x1,x2) = max{27, x1 + 24, x2 + 22} |0|_A = 29 nil_A = 28 a__zip_A(x1,x2) = max{22, x1 + 11, x2 + 9} a__tail_A(x1) = max{21, x1 + 19} a__repItems_A(x1) = max{25, x1 + 19} pairNs_A = 30 precedence: take = a__take > a__take# > a__oddNs# = tail = a__tail > a__incr# = mark# = s = mark = a__zip# = oddNs = a__oddNs = a__zip > a__repItems# = a__tail# > pair = incr = a__incr > a__pairNs = cons = repItems = nil = a__repItems = pairNs > |0| > zip partial status: pi(a__oddNs#) = [] pi(a__incr#) = [] pi(a__pairNs) = [] pi(cons) = [] pi(mark#) = [] pi(pair) = [1, 2] pi(s) = [1] pi(repItems) = [] pi(a__repItems#) = [] pi(mark) = [1] pi(tail) = [] pi(a__tail#) = [1] pi(zip) = [1, 2] pi(a__zip#) = [] pi(take) = [] pi(a__take#) = [1, 2] pi(oddNs) = [] pi(incr) = [1] pi(a__oddNs) = [] pi(a__incr) = [1] pi(a__take) = [] pi(|0|) = [] pi(nil) = [] pi(a__zip) = [] pi(a__tail) = [] pi(a__repItems) = [1] pi(pairNs) = [] 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__oddNs#() -> a__incr#(a__pairNs()) p2: a__incr#(cons(X,XS)) -> mark#(X) p3: mark#(pair(X1,X2)) -> mark#(X2) p4: mark#(pair(X1,X2)) -> mark#(X1) p5: mark#(s(X)) -> mark#(X) p6: mark#(cons(X1,X2)) -> mark#(X1) p7: mark#(repItems(X)) -> mark#(X) p8: a__repItems#(cons(X,XS)) -> mark#(X) p9: mark#(tail(X)) -> mark#(X) p10: mark#(tail(X)) -> a__tail#(mark(X)) p11: a__tail#(cons(X,XS)) -> mark#(XS) p12: mark#(zip(X1,X2)) -> mark#(X2) p13: mark#(zip(X1,X2)) -> mark#(X1) p14: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p15: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(Y) p16: mark#(take(X1,X2)) -> mark#(X2) p17: mark#(take(X1,X2)) -> mark#(X1) p18: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p19: a__take#(s(N),cons(X,XS)) -> mark#(X) p20: mark#(oddNs()) -> a__oddNs#() p21: mark#(incr(X)) -> mark#(X) p22: mark#(incr(X)) -> a__incr#(mark(X)) p23: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__oddNs#() -> a__incr#(a__pairNs()) p2: a__incr#(cons(X,XS)) -> mark#(X) p3: mark#(incr(X)) -> a__incr#(mark(X)) p4: mark#(incr(X)) -> mark#(X) p5: mark#(oddNs()) -> a__oddNs#() p6: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p7: a__take#(s(N),cons(X,XS)) -> mark#(X) p8: mark#(take(X1,X2)) -> mark#(X1) p9: mark#(take(X1,X2)) -> mark#(X2) p10: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p11: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) p12: mark#(zip(X1,X2)) -> mark#(X1) p13: mark#(zip(X1,X2)) -> mark#(X2) p14: mark#(tail(X)) -> a__tail#(mark(X)) p15: a__tail#(cons(X,XS)) -> mark#(XS) p16: mark#(tail(X)) -> mark#(X) p17: mark#(repItems(X)) -> mark#(X) p18: mark#(cons(X1,X2)) -> mark#(X1) p19: mark#(s(X)) -> mark#(X) p20: mark#(pair(X1,X2)) -> mark#(X1) p21: mark#(pair(X1,X2)) -> mark#(X2) p22: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(Y) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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 Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: a__oddNs#_A = 80 a__incr#_A(x1) = max{29, x1 + 10} a__pairNs_A = 69 cons_A(x1,x2) = max{x1 + 6, x2 - 43} mark#_A(x1) = x1 + 6 incr_A(x1) = x1 + 29 mark_A(x1) = x1 + 18 oddNs_A = 82 take_A(x1,x2) = max{117, x1 + 58, x2 + 67} a__take#_A(x1,x2) = max{57, x1 + 1, x2 + 49} s_A(x1) = x1 + 10 zip_A(x1,x2) = max{x1 + 74, x2 + 83} a__zip#_A(x1,x2) = max{73, x1 + 55, x2 + 65} tail_A(x1) = x1 + 78 a__tail#_A(x1) = x1 + 50 repItems_A(x1) = x1 + 18 pair_A(x1,x2) = max{x1 + 18, x2 + 7} a__oddNs_A = 99 a__incr_A(x1) = x1 + 29 a__take_A(x1,x2) = max{118, x1 + 58, x2 + 67} |0|_A = 62 nil_A = 119 a__zip_A(x1,x2) = max{x1 + 74, x2 + 83} a__tail_A(x1) = x1 + 78 a__repItems_A(x1) = x1 + 18 pairNs_A = 52 precedence: a__oddNs > oddNs > mark = s = a__incr > incr > |0| > pair > repItems = a__repItems > a__take > take > nil > a__tail > tail > a__zip > zip > pairNs > a__pairNs = cons > a__oddNs# = a__incr# = mark# = a__take# = a__zip# = a__tail# partial status: pi(a__oddNs#) = [] pi(a__incr#) = [1] pi(a__pairNs) = [] pi(cons) = [] pi(mark#) = [1] pi(incr) = [] pi(mark) = [] pi(oddNs) = [] pi(take) = [2] pi(a__take#) = [1, 2] pi(s) = [] pi(zip) = [] pi(a__zip#) = [1, 2] pi(tail) = [1] pi(a__tail#) = [1] pi(repItems) = [] pi(pair) = [] pi(a__oddNs) = [] pi(a__incr) = [] pi(a__take) = [2] pi(|0|) = [] pi(nil) = [] pi(a__zip) = [] pi(a__tail) = [1] pi(a__repItems) = [] pi(pairNs) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__oddNs#() -> a__incr#(a__pairNs()) p2: a__incr#(cons(X,XS)) -> mark#(X) p3: mark#(incr(X)) -> mark#(X) p4: mark#(oddNs()) -> a__oddNs#() p5: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p6: a__take#(s(N),cons(X,XS)) -> mark#(X) p7: mark#(take(X1,X2)) -> mark#(X1) p8: mark#(take(X1,X2)) -> mark#(X2) p9: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p10: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) p11: mark#(zip(X1,X2)) -> mark#(X1) p12: mark#(zip(X1,X2)) -> mark#(X2) p13: mark#(tail(X)) -> a__tail#(mark(X)) p14: a__tail#(cons(X,XS)) -> mark#(XS) p15: mark#(tail(X)) -> mark#(X) p16: mark#(repItems(X)) -> mark#(X) p17: mark#(cons(X1,X2)) -> mark#(X1) p18: mark#(s(X)) -> mark#(X) p19: mark#(pair(X1,X2)) -> mark#(X1) p20: mark#(pair(X1,X2)) -> mark#(X2) p21: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(Y) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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__oddNs#() -> a__incr#(a__pairNs()) p2: a__incr#(cons(X,XS)) -> mark#(X) p3: mark#(pair(X1,X2)) -> mark#(X2) p4: mark#(pair(X1,X2)) -> mark#(X1) p5: mark#(s(X)) -> mark#(X) p6: mark#(cons(X1,X2)) -> mark#(X1) p7: mark#(repItems(X)) -> mark#(X) p8: mark#(tail(X)) -> mark#(X) p9: mark#(tail(X)) -> a__tail#(mark(X)) p10: a__tail#(cons(X,XS)) -> mark#(XS) p11: mark#(zip(X1,X2)) -> mark#(X2) p12: mark#(zip(X1,X2)) -> mark#(X1) p13: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p14: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(Y) p15: mark#(take(X1,X2)) -> mark#(X2) p16: mark#(take(X1,X2)) -> mark#(X1) p17: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p18: a__take#(s(N),cons(X,XS)) -> mark#(X) p19: mark#(oddNs()) -> a__oddNs#() p20: mark#(incr(X)) -> mark#(X) p21: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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 Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: a__oddNs#_A = 23 a__incr#_A(x1) = x1 + 4 a__pairNs_A = 18 cons_A(x1,x2) = max{17, x1 + 7, x2} mark#_A(x1) = x1 + 6 pair_A(x1,x2) = max{x1 + 2, x2 + 2} s_A(x1) = x1 repItems_A(x1) = x1 + 9 tail_A(x1) = x1 + 5 a__tail#_A(x1) = x1 + 7 mark_A(x1) = x1 zip_A(x1,x2) = max{x1 + 7, x2 + 26} a__zip#_A(x1,x2) = max{3, x1 - 1, x2 - 1} take_A(x1,x2) = max{x1 + 17, x2} a__take#_A(x1,x2) = max{3, x2 - 1} oddNs_A = 18 incr_A(x1) = x1 a__oddNs_A = 18 a__incr_A(x1) = x1 a__take_A(x1,x2) = max{x1 + 17, x2} |0|_A = 1 nil_A = 9 a__zip_A(x1,x2) = max{x1 + 7, x2 + 26} a__tail_A(x1) = x1 + 5 a__repItems_A(x1) = x1 + 9 pairNs_A = 18 precedence: pair > zip = a__zip > a__oddNs# = mark# = a__tail# = a__zip# = a__take# > a__incr# > s = take = oddNs = a__oddNs = a__take > mark = incr = a__incr = |0| = nil > a__pairNs = cons = repItems = a__repItems = pairNs > tail = a__tail partial status: pi(a__oddNs#) = [] pi(a__incr#) = [1] pi(a__pairNs) = [] pi(cons) = [] pi(mark#) = [] pi(pair) = [] pi(s) = [] pi(repItems) = [] pi(tail) = [] pi(a__tail#) = [] pi(mark) = [1] pi(zip) = [] pi(a__zip#) = [] pi(take) = [] pi(a__take#) = [] pi(oddNs) = [] pi(incr) = [1] pi(a__oddNs) = [] pi(a__incr) = [1] pi(a__take) = [] pi(|0|) = [] pi(nil) = [] pi(a__zip) = [] pi(a__tail) = [] pi(a__repItems) = [] pi(pairNs) = [] 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__incr#(cons(X,XS)) -> mark#(X) p2: mark#(pair(X1,X2)) -> mark#(X2) p3: mark#(pair(X1,X2)) -> mark#(X1) p4: mark#(s(X)) -> mark#(X) p5: mark#(cons(X1,X2)) -> mark#(X1) p6: mark#(repItems(X)) -> mark#(X) p7: mark#(tail(X)) -> mark#(X) p8: mark#(tail(X)) -> a__tail#(mark(X)) p9: a__tail#(cons(X,XS)) -> mark#(XS) p10: mark#(zip(X1,X2)) -> mark#(X2) p11: mark#(zip(X1,X2)) -> mark#(X1) p12: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p13: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(Y) p14: mark#(take(X1,X2)) -> mark#(X2) p15: mark#(take(X1,X2)) -> mark#(X1) p16: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p17: a__take#(s(N),cons(X,XS)) -> mark#(X) p18: mark#(oddNs()) -> a__oddNs#() p19: mark#(incr(X)) -> mark#(X) p20: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The estimated dependency graph contains the following SCCs: {p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p19, p20} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(pair(X1,X2)) -> mark#(X2) p2: mark#(incr(X)) -> mark#(X) p3: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p4: a__take#(s(N),cons(X,XS)) -> mark#(X) p5: mark#(take(X1,X2)) -> mark#(X1) p6: mark#(take(X1,X2)) -> mark#(X2) p7: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p8: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) p9: mark#(zip(X1,X2)) -> mark#(X1) p10: mark#(zip(X1,X2)) -> mark#(X2) p11: mark#(tail(X)) -> a__tail#(mark(X)) p12: a__tail#(cons(X,XS)) -> mark#(XS) p13: mark#(tail(X)) -> mark#(X) p14: mark#(repItems(X)) -> mark#(X) p15: mark#(cons(X1,X2)) -> mark#(X1) p16: mark#(s(X)) -> mark#(X) p17: mark#(pair(X1,X2)) -> mark#(X1) p18: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(Y) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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 Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 7 pair_A(x1,x2) = max{42, x1 + 33, x2 + 21} incr_A(x1) = x1 + 27 take_A(x1,x2) = max{x1 + 51, x2 + 60} a__take#_A(x1,x2) = max{6, x1, x2} mark_A(x1) = x1 + 20 s_A(x1) = x1 + 7 cons_A(x1,x2) = max{x1 + 7, x2 - 37} zip_A(x1,x2) = max{x1 + 95, x2 + 87} a__zip#_A(x1,x2) = max{88, x1 + 74, x2 + 66} tail_A(x1) = x1 + 65 a__tail#_A(x1) = x1 + 45 repItems_A(x1) = x1 + 20 a__pairNs_A = 18 |0|_A = 10 oddNs_A = 27 a__oddNs_A = 46 a__incr_A(x1) = x1 + 27 a__take_A(x1,x2) = max{x1 + 51, x2 + 60} nil_A = 11 a__zip_A(x1,x2) = max{96, x1 + 95, x2 + 87} a__tail_A(x1) = max{83, x1 + 65} a__repItems_A(x1) = x1 + 20 pairNs_A = 0 precedence: incr = take = mark = s = cons = repItems = oddNs = a__incr = a__take = nil = a__zip = a__repItems > pair = tail = a__tail > |0| > a__pairNs = a__oddNs > a__take# = pairNs > mark# > a__zip# > a__tail# > zip partial status: pi(mark#) = [1] pi(pair) = [2] pi(incr) = [] pi(take) = [] pi(a__take#) = [1, 2] pi(mark) = [] pi(s) = [] pi(cons) = [] pi(zip) = [] pi(a__zip#) = [1] pi(tail) = [1] pi(a__tail#) = [1] pi(repItems) = [] pi(a__pairNs) = [] pi(|0|) = [] pi(oddNs) = [] pi(a__oddNs) = [] pi(a__incr) = [] pi(a__take) = [] pi(nil) = [] pi(a__zip) = [] pi(a__tail) = [1] pi(a__repItems) = [] pi(pairNs) = [] The next rules are strictly ordered: p18 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(pair(X1,X2)) -> mark#(X2) p2: mark#(incr(X)) -> mark#(X) p3: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p4: a__take#(s(N),cons(X,XS)) -> mark#(X) p5: mark#(take(X1,X2)) -> mark#(X1) p6: mark#(take(X1,X2)) -> mark#(X2) p7: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p8: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) p9: mark#(zip(X1,X2)) -> mark#(X1) p10: mark#(zip(X1,X2)) -> mark#(X2) p11: mark#(tail(X)) -> a__tail#(mark(X)) p12: a__tail#(cons(X,XS)) -> mark#(XS) p13: mark#(tail(X)) -> mark#(X) p14: mark#(repItems(X)) -> mark#(X) p15: mark#(cons(X1,X2)) -> mark#(X1) p16: mark#(s(X)) -> mark#(X) p17: mark#(pair(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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: mark#(pair(X1,X2)) -> mark#(X2) p2: mark#(pair(X1,X2)) -> mark#(X1) p3: mark#(s(X)) -> mark#(X) p4: mark#(cons(X1,X2)) -> mark#(X1) p5: mark#(repItems(X)) -> mark#(X) p6: mark#(tail(X)) -> mark#(X) p7: mark#(tail(X)) -> a__tail#(mark(X)) p8: a__tail#(cons(X,XS)) -> mark#(XS) p9: mark#(zip(X1,X2)) -> mark#(X2) p10: mark#(zip(X1,X2)) -> mark#(X1) p11: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p12: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) p13: mark#(take(X1,X2)) -> mark#(X2) p14: mark#(take(X1,X2)) -> mark#(X1) p15: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p16: a__take#(s(N),cons(X,XS)) -> mark#(X) p17: mark#(incr(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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 Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 5 pair_A(x1,x2) = max{x1 + 19, x2 + 40} s_A(x1) = x1 + 3 cons_A(x1,x2) = max{x1 + 6, x2 - 58} repItems_A(x1) = x1 + 87 tail_A(x1) = max{93, x1 + 91} a__tail#_A(x1) = max{92, x1 + 64} mark_A(x1) = x1 + 26 zip_A(x1,x2) = max{x1 + 87, x2 + 66} a__zip#_A(x1,x2) = max{70, x1 + 60, x2} take_A(x1,x2) = max{91, x1 + 90, x2 + 88} a__take#_A(x1,x2) = max{89, x1 + 63, x2 + 61} incr_A(x1) = max{34, x1 + 29} a__pairNs_A = 96 |0|_A = 89 oddNs_A = 125 a__oddNs_A = 125 a__incr_A(x1) = max{35, x1 + 29} a__take_A(x1,x2) = max{92, x1 + 90, x2 + 88} nil_A = 88 a__zip_A(x1,x2) = max{x1 + 87, x2 + 66} a__tail_A(x1) = max{119, x1 + 91} a__repItems_A(x1) = max{89, x1 + 87} pairNs_A = 96 precedence: oddNs = a__oddNs > mark# = tail = a__tail# = mark = a__zip# = a__take# = a__pairNs = |0| = a__zip = a__tail = a__repItems > repItems = zip > s = a__take > take > incr = a__incr > pair = cons = nil > pairNs partial status: pi(mark#) = [1] pi(pair) = [1] pi(s) = [1] pi(cons) = [] pi(repItems) = [1] pi(tail) = [] pi(a__tail#) = [1] pi(mark) = [1] pi(zip) = [] pi(a__zip#) = [1, 2] pi(take) = [] pi(a__take#) = [1, 2] pi(incr) = [] pi(a__pairNs) = [] pi(|0|) = [] pi(oddNs) = [] pi(a__oddNs) = [] pi(a__incr) = [1] pi(a__take) = [] pi(nil) = [] pi(a__zip) = [] pi(a__tail) = [] pi(a__repItems) = [] pi(pairNs) = [] 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: mark#(pair(X1,X2)) -> mark#(X2) p2: mark#(pair(X1,X2)) -> mark#(X1) p3: mark#(s(X)) -> mark#(X) p4: mark#(cons(X1,X2)) -> mark#(X1) p5: mark#(repItems(X)) -> mark#(X) p6: mark#(tail(X)) -> mark#(X) p7: mark#(tail(X)) -> a__tail#(mark(X)) p8: a__tail#(cons(X,XS)) -> mark#(XS) p9: mark#(zip(X1,X2)) -> mark#(X2) p10: mark#(zip(X1,X2)) -> mark#(X1) p11: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p12: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) p13: mark#(take(X1,X2)) -> mark#(X2) p14: mark#(take(X1,X2)) -> mark#(X1) p15: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p16: mark#(incr(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p16} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(pair(X1,X2)) -> mark#(X2) p2: mark#(incr(X)) -> mark#(X) p3: mark#(take(X1,X2)) -> mark#(X1) p4: mark#(take(X1,X2)) -> mark#(X2) p5: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p6: a__zip#(cons(X,XS),cons(Y,YS)) -> mark#(X) p7: mark#(zip(X1,X2)) -> mark#(X1) p8: mark#(zip(X1,X2)) -> mark#(X2) p9: mark#(tail(X)) -> a__tail#(mark(X)) p10: a__tail#(cons(X,XS)) -> mark#(XS) p11: mark#(tail(X)) -> mark#(X) p12: mark#(repItems(X)) -> mark#(X) p13: mark#(cons(X1,X2)) -> mark#(X1) p14: mark#(s(X)) -> mark#(X) p15: mark#(pair(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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 Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = max{27, x1 - 17} pair_A(x1,x2) = max{87, x1 + 9, x2 + 15} incr_A(x1) = max{33, x1 + 32} take_A(x1,x2) = max{x1 + 11, x2 + 13} zip_A(x1,x2) = max{87, x1 + 33, x2 + 29} a__zip#_A(x1,x2) = max{x1, x2 - 2} mark_A(x1) = x1 + 13 cons_A(x1,x2) = max{27, x1, x2 - 53} tail_A(x1) = x1 + 112 a__tail#_A(x1) = x1 + 81 repItems_A(x1) = x1 + 18 s_A(x1) = x1 + 18 a__pairNs_A = 34 |0|_A = 34 oddNs_A = 55 a__oddNs_A = 67 a__incr_A(x1) = max{46, x1 + 32} a__take_A(x1,x2) = max{23, x1 + 11, x2 + 13} nil_A = 22 a__zip_A(x1,x2) = max{87, x1 + 33, x2 + 29} a__tail_A(x1) = max{123, x1 + 112} a__repItems_A(x1) = max{19, x1 + 18} pairNs_A = 33 precedence: |0| = nil > pair = mark = tail = oddNs = a__oddNs = a__incr = a__tail > zip = cons = repItems = a__pairNs = a__take = a__zip = a__repItems = pairNs > a__tail# > mark# > s > incr > take = a__zip# partial status: pi(mark#) = [] pi(pair) = [] pi(incr) = [1] pi(take) = [] pi(zip) = [] pi(a__zip#) = [1] pi(mark) = [] pi(cons) = [] pi(tail) = [] pi(a__tail#) = [1] pi(repItems) = [] pi(s) = [1] pi(a__pairNs) = [] pi(|0|) = [] pi(oddNs) = [] pi(a__oddNs) = [] pi(a__incr) = [] pi(a__take) = [] pi(nil) = [] pi(a__zip) = [] pi(a__tail) = [] pi(a__repItems) = [] pi(pairNs) = [] 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: mark#(pair(X1,X2)) -> mark#(X2) p2: mark#(incr(X)) -> mark#(X) p3: mark#(take(X1,X2)) -> mark#(X1) p4: mark#(take(X1,X2)) -> mark#(X2) p5: mark#(zip(X1,X2)) -> a__zip#(mark(X1),mark(X2)) p6: mark#(zip(X1,X2)) -> mark#(X1) p7: mark#(zip(X1,X2)) -> mark#(X2) p8: mark#(tail(X)) -> a__tail#(mark(X)) p9: a__tail#(cons(X,XS)) -> mark#(XS) p10: mark#(tail(X)) -> mark#(X) p11: mark#(repItems(X)) -> mark#(X) p12: mark#(cons(X1,X2)) -> mark#(X1) p13: mark#(s(X)) -> mark#(X) p14: mark#(pair(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p6, p7, p8, p9, p10, p11, p12, p13, p14} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(pair(X1,X2)) -> mark#(X2) p2: mark#(pair(X1,X2)) -> mark#(X1) p3: mark#(s(X)) -> mark#(X) p4: mark#(cons(X1,X2)) -> mark#(X1) p5: mark#(repItems(X)) -> mark#(X) p6: mark#(tail(X)) -> mark#(X) p7: mark#(tail(X)) -> a__tail#(mark(X)) p8: a__tail#(cons(X,XS)) -> mark#(XS) p9: mark#(zip(X1,X2)) -> mark#(X2) p10: mark#(zip(X1,X2)) -> mark#(X1) p11: mark#(take(X1,X2)) -> mark#(X2) p12: mark#(take(X1,X2)) -> mark#(X1) p13: mark#(incr(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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 Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = max{12, x1} pair_A(x1,x2) = max{18, x1 + 15, x2 + 13} s_A(x1) = max{3, x1} cons_A(x1,x2) = max{12, x1 + 8, x2} repItems_A(x1) = max{16, x1 + 11} tail_A(x1) = max{2, x1} a__tail#_A(x1) = max{12, x1} mark_A(x1) = max{1, x1} zip_A(x1,x2) = max{25, x1 + 21, x2 + 19} take_A(x1,x2) = max{17, x1 + 15, x2 + 13} incr_A(x1) = max{12, x1} a__pairNs_A = 26 |0|_A = 18 oddNs_A = 26 a__oddNs_A = 26 a__incr_A(x1) = max{12, x1} a__take_A(x1,x2) = max{17, x1 + 15, x2 + 13} nil_A = 17 a__zip_A(x1,x2) = max{25, x1 + 21, x2 + 19} a__tail_A(x1) = max{2, x1} a__repItems_A(x1) = max{16, x1 + 11} pairNs_A = 26 precedence: tail = mark = a__zip = a__tail > a__take > nil = a__repItems > zip > s = repItems = take = a__oddNs > a__pairNs = a__incr > pair = cons = oddNs > incr > mark# > a__tail# = |0| = pairNs partial status: pi(mark#) = [1] pi(pair) = [] pi(s) = [1] pi(cons) = [2] pi(repItems) = [] pi(tail) = [1] pi(a__tail#) = [1] pi(mark) = [1] pi(zip) = [1] pi(take) = [] pi(incr) = [1] pi(a__pairNs) = [] pi(|0|) = [] pi(oddNs) = [] pi(a__oddNs) = [] pi(a__incr) = [1] pi(a__take) = [1] pi(nil) = [] pi(a__zip) = [] pi(a__tail) = [1] pi(a__repItems) = [] pi(pairNs) = [] The next rules are strictly ordered: p7 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(pair(X1,X2)) -> mark#(X2) p2: mark#(pair(X1,X2)) -> mark#(X1) p3: mark#(s(X)) -> mark#(X) p4: mark#(cons(X1,X2)) -> mark#(X1) p5: mark#(repItems(X)) -> mark#(X) p6: mark#(tail(X)) -> mark#(X) p7: a__tail#(cons(X,XS)) -> mark#(XS) p8: mark#(zip(X1,X2)) -> mark#(X2) p9: mark#(zip(X1,X2)) -> mark#(X1) p10: mark#(take(X1,X2)) -> mark#(X2) p11: mark#(take(X1,X2)) -> mark#(X1) p12: mark#(incr(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p8, p9, p10, p11, p12} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(pair(X1,X2)) -> mark#(X2) p2: mark#(incr(X)) -> mark#(X) p3: mark#(take(X1,X2)) -> mark#(X1) p4: mark#(take(X1,X2)) -> mark#(X2) p5: mark#(zip(X1,X2)) -> mark#(X1) p6: mark#(zip(X1,X2)) -> mark#(X2) p7: mark#(tail(X)) -> mark#(X) p8: mark#(repItems(X)) -> mark#(X) p9: mark#(cons(X1,X2)) -> mark#(X1) p10: mark#(s(X)) -> mark#(X) p11: mark#(pair(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = max{4, x1 + 3} pair_A(x1,x2) = max{x1 + 2, x2 + 2} incr_A(x1) = x1 take_A(x1,x2) = max{x1, x2} zip_A(x1,x2) = max{x1, x2} tail_A(x1) = x1 repItems_A(x1) = x1 cons_A(x1,x2) = max{x1, x2 + 1} s_A(x1) = x1 precedence: mark# = pair = incr = take = zip = tail = repItems = cons = s partial status: pi(mark#) = [] pi(pair) = [2] pi(incr) = [1] pi(take) = [2] pi(zip) = [2] pi(tail) = [1] pi(repItems) = [1] pi(cons) = [2] pi(s) = [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: mark#(incr(X)) -> mark#(X) p2: mark#(take(X1,X2)) -> mark#(X1) p3: mark#(take(X1,X2)) -> mark#(X2) p4: mark#(zip(X1,X2)) -> mark#(X1) p5: mark#(zip(X1,X2)) -> mark#(X2) p6: mark#(tail(X)) -> mark#(X) p7: mark#(repItems(X)) -> mark#(X) p8: mark#(cons(X1,X2)) -> mark#(X1) p9: mark#(s(X)) -> mark#(X) p10: mark#(pair(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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: mark#(incr(X)) -> mark#(X) p2: mark#(pair(X1,X2)) -> mark#(X1) p3: mark#(s(X)) -> mark#(X) p4: mark#(cons(X1,X2)) -> mark#(X1) p5: mark#(repItems(X)) -> mark#(X) p6: mark#(tail(X)) -> mark#(X) p7: mark#(zip(X1,X2)) -> mark#(X2) p8: mark#(zip(X1,X2)) -> mark#(X1) p9: mark#(take(X1,X2)) -> mark#(X2) p10: mark#(take(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 3 incr_A(x1) = x1 + 2 pair_A(x1,x2) = max{x1, x2} s_A(x1) = x1 cons_A(x1,x2) = max{x1, x2} repItems_A(x1) = x1 tail_A(x1) = x1 zip_A(x1,x2) = max{x1, x2} take_A(x1,x2) = max{x1, x2} precedence: mark# = incr = pair = s = cons = repItems = tail = zip = take partial status: pi(mark#) = [1] pi(incr) = [1] pi(pair) = [1, 2] pi(s) = [1] pi(cons) = [1, 2] pi(repItems) = [1] pi(tail) = [1] pi(zip) = [1, 2] pi(take) = [1, 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: mark#(pair(X1,X2)) -> mark#(X1) p2: mark#(s(X)) -> mark#(X) p3: mark#(cons(X1,X2)) -> mark#(X1) p4: mark#(repItems(X)) -> mark#(X) p5: mark#(tail(X)) -> mark#(X) p6: mark#(zip(X1,X2)) -> mark#(X2) p7: mark#(zip(X1,X2)) -> mark#(X1) p8: mark#(take(X1,X2)) -> mark#(X2) p9: mark#(take(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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: mark#(pair(X1,X2)) -> mark#(X1) p2: mark#(take(X1,X2)) -> mark#(X1) p3: mark#(take(X1,X2)) -> mark#(X2) p4: mark#(zip(X1,X2)) -> mark#(X1) p5: mark#(zip(X1,X2)) -> mark#(X2) p6: mark#(tail(X)) -> mark#(X) p7: mark#(repItems(X)) -> mark#(X) p8: mark#(cons(X1,X2)) -> mark#(X1) p9: mark#(s(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 1 pair_A(x1,x2) = max{x1, x2} take_A(x1,x2) = max{x1, x2} zip_A(x1,x2) = max{x1, x2} tail_A(x1) = x1 repItems_A(x1) = x1 cons_A(x1,x2) = max{x1, x2} s_A(x1) = x1 precedence: mark# = pair = take = zip = tail = repItems = cons = s partial status: pi(mark#) = [1] pi(pair) = [1, 2] pi(take) = [1, 2] pi(zip) = [1, 2] pi(tail) = [1] pi(repItems) = [1] pi(cons) = [1, 2] pi(s) = [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: mark#(take(X1,X2)) -> mark#(X1) p2: mark#(take(X1,X2)) -> mark#(X2) p3: mark#(zip(X1,X2)) -> mark#(X1) p4: mark#(zip(X1,X2)) -> mark#(X2) p5: mark#(tail(X)) -> mark#(X) p6: mark#(repItems(X)) -> mark#(X) p7: mark#(cons(X1,X2)) -> mark#(X1) p8: mark#(s(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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: mark#(take(X1,X2)) -> mark#(X1) p2: mark#(s(X)) -> mark#(X) p3: mark#(cons(X1,X2)) -> mark#(X1) p4: mark#(repItems(X)) -> mark#(X) p5: mark#(tail(X)) -> mark#(X) p6: mark#(zip(X1,X2)) -> mark#(X2) p7: mark#(zip(X1,X2)) -> mark#(X1) p8: mark#(take(X1,X2)) -> mark#(X2) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 3 take_A(x1,x2) = max{x1 + 1, x2} s_A(x1) = x1 + 3 cons_A(x1,x2) = max{x1, x2} repItems_A(x1) = x1 tail_A(x1) = x1 zip_A(x1,x2) = max{x1, x2 + 2} precedence: mark# = take = s = cons = repItems = tail = zip partial status: pi(mark#) = [] pi(take) = [2] pi(s) = [1] pi(cons) = [2] pi(repItems) = [1] pi(tail) = [1] pi(zip) = [2] 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: mark#(take(X1,X2)) -> mark#(X1) p2: mark#(cons(X1,X2)) -> mark#(X1) p3: mark#(repItems(X)) -> mark#(X) p4: mark#(tail(X)) -> mark#(X) p5: mark#(zip(X1,X2)) -> mark#(X2) p6: mark#(zip(X1,X2)) -> mark#(X1) p7: mark#(take(X1,X2)) -> mark#(X2) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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: mark#(take(X1,X2)) -> mark#(X1) p2: mark#(take(X1,X2)) -> mark#(X2) p3: mark#(zip(X1,X2)) -> mark#(X1) p4: mark#(zip(X1,X2)) -> mark#(X2) p5: mark#(tail(X)) -> mark#(X) p6: mark#(repItems(X)) -> mark#(X) p7: mark#(cons(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 2 take_A(x1,x2) = max{x1, x2} zip_A(x1,x2) = max{x1 + 1, x2 + 1} tail_A(x1) = x1 repItems_A(x1) = x1 cons_A(x1,x2) = max{x1, x2} precedence: mark# = take = zip = tail = repItems = cons partial status: pi(mark#) = [1] pi(take) = [1, 2] pi(zip) = [1, 2] pi(tail) = [1] pi(repItems) = [1] pi(cons) = [1, 2] 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: mark#(take(X1,X2)) -> mark#(X1) p2: mark#(zip(X1,X2)) -> mark#(X1) p3: mark#(zip(X1,X2)) -> mark#(X2) p4: mark#(tail(X)) -> mark#(X) p5: mark#(repItems(X)) -> mark#(X) p6: mark#(cons(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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: mark#(take(X1,X2)) -> mark#(X1) p2: mark#(cons(X1,X2)) -> mark#(X1) p3: mark#(repItems(X)) -> mark#(X) p4: mark#(tail(X)) -> mark#(X) p5: mark#(zip(X1,X2)) -> mark#(X2) p6: mark#(zip(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = max{2, x1 - 4} take_A(x1,x2) = max{x1 + 2, x2 + 2} cons_A(x1,x2) = max{7, x1 + 1, x2} repItems_A(x1) = x1 + 1 tail_A(x1) = x1 zip_A(x1,x2) = max{x1 + 5, x2 + 3} precedence: mark# = take = cons = repItems = tail = zip partial status: pi(mark#) = [] pi(take) = [2] pi(cons) = [2] pi(repItems) = [1] pi(tail) = [1] pi(zip) = [1] 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: mark#(take(X1,X2)) -> mark#(X1) p2: mark#(repItems(X)) -> mark#(X) p3: mark#(tail(X)) -> mark#(X) p4: mark#(zip(X1,X2)) -> mark#(X2) p5: mark#(zip(X1,X2)) -> mark#(X1) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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: mark#(take(X1,X2)) -> mark#(X1) p2: mark#(zip(X1,X2)) -> mark#(X1) p3: mark#(zip(X1,X2)) -> mark#(X2) p4: mark#(tail(X)) -> mark#(X) p5: mark#(repItems(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 1 take_A(x1,x2) = max{x1, x2} zip_A(x1,x2) = max{x1, x2} tail_A(x1) = x1 repItems_A(x1) = x1 precedence: mark# = take = zip = tail = repItems partial status: pi(mark#) = [1] pi(take) = [1, 2] pi(zip) = [1, 2] pi(tail) = [1] pi(repItems) = [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: mark#(zip(X1,X2)) -> mark#(X1) p2: mark#(zip(X1,X2)) -> mark#(X2) p3: mark#(tail(X)) -> mark#(X) p4: mark#(repItems(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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: mark#(zip(X1,X2)) -> mark#(X1) p2: mark#(repItems(X)) -> mark#(X) p3: mark#(tail(X)) -> mark#(X) p4: mark#(zip(X1,X2)) -> mark#(X2) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 1 zip_A(x1,x2) = max{x1, x2} repItems_A(x1) = x1 tail_A(x1) = x1 precedence: mark# = zip = repItems = tail partial status: pi(mark#) = [1] pi(zip) = [1, 2] pi(repItems) = [1] pi(tail) = [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: mark#(repItems(X)) -> mark#(X) p2: mark#(tail(X)) -> mark#(X) p3: mark#(zip(X1,X2)) -> mark#(X2) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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: mark#(repItems(X)) -> mark#(X) p2: mark#(zip(X1,X2)) -> mark#(X2) p3: mark#(tail(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 2 repItems_A(x1) = x1 zip_A(x1,x2) = x2 tail_A(x1) = x1 precedence: mark# = repItems = zip = tail partial status: pi(mark#) = [1] pi(repItems) = [1] pi(zip) = [2] pi(tail) = [1] 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: mark#(repItems(X)) -> mark#(X) p2: mark#(tail(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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#(repItems(X)) -> mark#(X) p2: mark#(tail(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = max{3, x1 + 2} repItems_A(x1) = x1 + 3 tail_A(x1) = max{1, x1} precedence: mark# = repItems = tail partial status: pi(mark#) = [1] pi(repItems) = [1] pi(tail) = [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: mark#(tail(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(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#(tail(X)) -> mark#(X) and R consists of: r1: a__pairNs() -> cons(|0|(),incr(oddNs())) r2: a__oddNs() -> a__incr(a__pairNs()) r3: a__incr(cons(X,XS)) -> cons(s(mark(X)),incr(XS)) r4: a__take(|0|(),XS) -> nil() r5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) r6: a__zip(nil(),XS) -> nil() r7: a__zip(X,nil()) -> nil() r8: a__zip(cons(X,XS),cons(Y,YS)) -> cons(pair(mark(X),mark(Y)),zip(XS,YS)) r9: a__tail(cons(X,XS)) -> mark(XS) r10: a__repItems(nil()) -> nil() r11: a__repItems(cons(X,XS)) -> cons(mark(X),cons(X,repItems(XS))) r12: mark(pairNs()) -> a__pairNs() r13: mark(incr(X)) -> a__incr(mark(X)) r14: mark(oddNs()) -> a__oddNs() r15: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r16: mark(zip(X1,X2)) -> a__zip(mark(X1),mark(X2)) r17: mark(tail(X)) -> a__tail(mark(X)) r18: mark(repItems(X)) -> a__repItems(mark(X)) r19: mark(cons(X1,X2)) -> cons(mark(X1),X2) r20: mark(|0|()) -> |0|() r21: mark(s(X)) -> s(mark(X)) r22: mark(nil()) -> nil() r23: mark(pair(X1,X2)) -> pair(mark(X1),mark(X2)) r24: a__pairNs() -> pairNs() r25: a__incr(X) -> incr(X) r26: a__oddNs() -> oddNs() r27: a__take(X1,X2) -> take(X1,X2) r28: a__zip(X1,X2) -> zip(X1,X2) r29: a__tail(X) -> tail(X) r30: a__repItems(X) -> repItems(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = x1 + 2 tail_A(x1) = x1 + 2 precedence: mark# = tail partial status: pi(mark#) = [1] pi(tail) = [1] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.