YES We show the termination of the TRS R: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) active(f(s(|0|()))) -> mark(f(p(s(|0|())))) active(p(s(X))) -> mark(X) mark(f(X)) -> active(f(mark(X))) mark(|0|()) -> active(|0|()) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(p(X)) -> active(p(mark(X))) f(mark(X)) -> f(X) f(active(X)) -> f(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) p(mark(X)) -> p(X) p(active(X)) -> p(X) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(f(|0|())) -> mark#(cons(|0|(),f(s(|0|())))) p2: active#(f(|0|())) -> cons#(|0|(),f(s(|0|()))) p3: active#(f(|0|())) -> f#(s(|0|())) p4: active#(f(|0|())) -> s#(|0|()) p5: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p6: active#(f(s(|0|()))) -> f#(p(s(|0|()))) p7: active#(f(s(|0|()))) -> p#(s(|0|())) p8: active#(p(s(X))) -> mark#(X) p9: mark#(f(X)) -> active#(f(mark(X))) p10: mark#(f(X)) -> f#(mark(X)) p11: mark#(f(X)) -> mark#(X) p12: mark#(|0|()) -> active#(|0|()) p13: mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) p14: mark#(cons(X1,X2)) -> cons#(mark(X1),X2) p15: mark#(cons(X1,X2)) -> mark#(X1) p16: mark#(s(X)) -> active#(s(mark(X))) p17: mark#(s(X)) -> s#(mark(X)) p18: mark#(s(X)) -> mark#(X) p19: mark#(p(X)) -> active#(p(mark(X))) p20: mark#(p(X)) -> p#(mark(X)) p21: mark#(p(X)) -> mark#(X) p22: f#(mark(X)) -> f#(X) p23: f#(active(X)) -> f#(X) p24: cons#(mark(X1),X2) -> cons#(X1,X2) p25: cons#(X1,mark(X2)) -> cons#(X1,X2) p26: cons#(active(X1),X2) -> cons#(X1,X2) p27: cons#(X1,active(X2)) -> cons#(X1,X2) p28: s#(mark(X)) -> s#(X) p29: s#(active(X)) -> s#(X) p30: p#(mark(X)) -> p#(X) p31: p#(active(X)) -> p#(X) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(X) The estimated dependency graph contains the following SCCs: {p1, p5, p8, p9, p11, p13, p15, p16, p18, p19, p21} {p22, p23} {p24, p25, p26, p27} {p28, p29} {p30, p31} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(f(|0|())) -> mark#(cons(|0|(),f(s(|0|())))) p2: mark#(cons(X1,X2)) -> mark#(X1) p3: mark#(p(X)) -> mark#(X) p4: mark#(p(X)) -> active#(p(mark(X))) p5: active#(p(s(X))) -> mark#(X) p6: mark#(s(X)) -> mark#(X) p7: mark#(s(X)) -> active#(s(mark(X))) p8: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p9: mark#(f(X)) -> mark#(X) p10: mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) p11: mark#(f(X)) -> active#(f(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: active#_A(x1) = ((0,0),(1,0)) x1 + (1,1) f_A(x1) = ((1,0),(0,0)) x1 + (3,0) |0|_A() = (0,0) mark#_A(x1) = ((0,0),(1,0)) x1 + (1,1) cons_A(x1,x2) = ((1,0),(0,0)) x1 + (2,0) s_A(x1) = ((1,0),(0,0)) x1 + (4,9) p_A(x1) = ((1,0),(0,0)) x1 + (0,10) mark_A(x1) = ((1,0),(0,0)) x1 + (0,10) active_A(x1) = ((1,0),(0,0)) x1 + (0,10) precedence: active# = f = |0| = mark# = cons = s = p = mark = active partial status: pi(active#) = [] pi(f) = [] pi(|0|) = [] pi(mark#) = [] pi(cons) = [] pi(s) = [] pi(p) = [] pi(mark) = [] pi(active) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: active#_A(x1) = (4,3) f_A(x1) = (3,2) |0|_A() = (3,2) mark#_A(x1) = (4,3) cons_A(x1,x2) = (1,1) s_A(x1) = (0,0) p_A(x1) = (2,0) mark_A(x1) = (2,0) active_A(x1) = (2,0) precedence: p > |0| > active# = mark# = s > f = cons = mark = active partial status: pi(active#) = [] pi(f) = [] pi(|0|) = [] pi(mark#) = [] pi(cons) = [] pi(s) = [] pi(p) = [] pi(mark) = [] pi(active) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(cons(X1,X2)) -> mark#(X1) p2: mark#(p(X)) -> mark#(X) p3: mark#(p(X)) -> active#(p(mark(X))) p4: active#(p(s(X))) -> mark#(X) p5: mark#(s(X)) -> mark#(X) p6: mark#(s(X)) -> active#(s(mark(X))) p7: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p8: mark#(f(X)) -> mark#(X) p9: mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) p10: mark#(f(X)) -> active#(f(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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#(cons(X1,X2)) -> mark#(X1) p2: mark#(f(X)) -> active#(f(mark(X))) p3: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p4: mark#(f(X)) -> mark#(X) p5: mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) p6: active#(p(s(X))) -> mark#(X) p7: mark#(s(X)) -> active#(s(mark(X))) p8: mark#(s(X)) -> mark#(X) p9: mark#(p(X)) -> active#(p(mark(X))) p10: mark#(p(X)) -> mark#(X) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,0)) x1 + (1,5) cons_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (2,15) f_A(x1) = ((1,0),(1,1)) x1 + (3,5) active#_A(x1) = ((1,0),(1,0)) x1 + (1,5) mark_A(x1) = x1 + (0,4) s_A(x1) = ((1,0),(0,0)) x1 + (2,11) |0|_A() = (1,20) p_A(x1) = ((1,0),(0,0)) x1 + (0,6) active_A(x1) = x1 precedence: cons > mark = |0| = active > f > mark# = active# = s = p partial status: pi(mark#) = [] pi(cons) = [] pi(f) = [] pi(active#) = [] pi(mark) = [1] pi(s) = [] pi(|0|) = [] pi(p) = [] pi(active) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = (1,2) cons_A(x1,x2) = (3,0) f_A(x1) = (1,2) active#_A(x1) = (1,2) mark_A(x1) = (2,4) s_A(x1) = (5,5) |0|_A() = (4,3) p_A(x1) = (3,0) active_A(x1) = (0,1) precedence: mark# = cons = f = active# = mark = s = |0| = p > active partial status: pi(mark#) = [] pi(cons) = [] pi(f) = [] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(|0|) = [] pi(p) = [] pi(active) = [] 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: mark#(cons(X1,X2)) -> mark#(X1) p2: mark#(f(X)) -> active#(f(mark(X))) p3: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p4: mark#(f(X)) -> mark#(X) p5: mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) p6: active#(p(s(X))) -> mark#(X) p7: mark#(s(X)) -> active#(s(mark(X))) p8: mark#(p(X)) -> active#(p(mark(X))) p9: mark#(p(X)) -> mark#(X) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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#(cons(X1,X2)) -> mark#(X1) p2: mark#(p(X)) -> mark#(X) p3: mark#(p(X)) -> active#(p(mark(X))) p4: active#(p(s(X))) -> mark#(X) p5: mark#(s(X)) -> active#(s(mark(X))) p6: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p7: mark#(f(X)) -> mark#(X) p8: mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) p9: mark#(f(X)) -> active#(f(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,0)) x1 + (0,4) cons_A(x1,x2) = ((1,0),(1,0)) x1 + (5,1) p_A(x1) = ((1,0),(1,0)) x1 + (0,1) active#_A(x1) = x1 mark_A(x1) = x1 + (0,2) s_A(x1) = ((1,0),(0,0)) x1 + (4,7) f_A(x1) = ((1,0),(1,0)) x1 + (5,9) |0|_A() = (1,5) active_A(x1) = x1 + (0,2) precedence: f = |0| > s > mark# = cons = p = active# = mark = active partial status: pi(mark#) = [] pi(cons) = [] pi(p) = [] pi(active#) = [] pi(mark) = [1] pi(s) = [] pi(f) = [] pi(|0|) = [] pi(active) = [1] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = (6,2) cons_A(x1,x2) = (0,3) p_A(x1) = (1,4) active#_A(x1) = (6,2) mark_A(x1) = (4,1) s_A(x1) = (5,0) f_A(x1) = (3,3) |0|_A() = (2,3) active_A(x1) = (4,1) precedence: mark = s = f = active > |0| > mark# = active# > cons = p partial status: pi(mark#) = [] pi(cons) = [] pi(p) = [] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(f) = [] pi(|0|) = [] pi(active) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(p(X)) -> mark#(X) p2: mark#(p(X)) -> active#(p(mark(X))) p3: active#(p(s(X))) -> mark#(X) p4: mark#(s(X)) -> active#(s(mark(X))) p5: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p6: mark#(f(X)) -> mark#(X) p7: mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) p8: mark#(f(X)) -> active#(f(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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#(p(X)) -> mark#(X) p2: mark#(f(X)) -> active#(f(mark(X))) p3: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p4: mark#(f(X)) -> mark#(X) p5: mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) p6: active#(p(s(X))) -> mark#(X) p7: mark#(s(X)) -> active#(s(mark(X))) p8: mark#(p(X)) -> active#(p(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = (2,9) p_A(x1) = (8,10) f_A(x1) = (8,8) active#_A(x1) = ((0,0),(1,0)) x1 + (2,1) mark_A(x1) = (9,6) s_A(x1) = (3,5) |0|_A() = (1,7) cons_A(x1,x2) = (0,0) active_A(x1) = (9,6) precedence: mark = |0| = active > p > mark# = f = active# = s = cons partial status: pi(mark#) = [] pi(p) = [] pi(f) = [] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(|0|) = [] pi(cons) = [] pi(active) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = (4,4) p_A(x1) = (1,1) f_A(x1) = (5,5) active#_A(x1) = (4,4) mark_A(x1) = (3,3) s_A(x1) = (0,6) |0|_A() = (2,2) cons_A(x1,x2) = (4,4) active_A(x1) = (3,3) precedence: mark# = p = f = active# = mark = s = |0| = cons = active partial status: pi(mark#) = [] pi(p) = [] pi(f) = [] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(|0|) = [] pi(cons) = [] pi(active) = [] 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: mark#(p(X)) -> mark#(X) p2: mark#(f(X)) -> active#(f(mark(X))) p3: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p4: mark#(f(X)) -> mark#(X) p5: active#(p(s(X))) -> mark#(X) p6: mark#(s(X)) -> active#(s(mark(X))) p7: mark#(p(X)) -> active#(p(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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#(p(X)) -> mark#(X) p2: mark#(p(X)) -> active#(p(mark(X))) p3: active#(p(s(X))) -> mark#(X) p4: mark#(s(X)) -> active#(s(mark(X))) p5: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p6: mark#(f(X)) -> mark#(X) p7: mark#(f(X)) -> active#(f(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,0)) x1 + (0,4) p_A(x1) = ((1,0),(0,0)) x1 + (0,2) active#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,0),(0,0)) x1 + (0,1) s_A(x1) = ((1,0),(0,0)) x1 + (3,3) f_A(x1) = ((1,0),(0,0)) x1 + (1,4) |0|_A() = (1,10) active_A(x1) = ((1,0),(0,0)) x1 + (0,1) cons_A(x1,x2) = (0,1) precedence: mark# = p = active# = mark = s = f = |0| = active = cons partial status: pi(mark#) = [] pi(p) = [] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(f) = [] pi(|0|) = [] pi(active) = [] pi(cons) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = (0,1) p_A(x1) = (2,0) active#_A(x1) = (0,1) mark_A(x1) = (1,2) s_A(x1) = (0,0) f_A(x1) = (0,3) |0|_A() = (0,0) active_A(x1) = (1,2) cons_A(x1,x2) = (2,4) precedence: mark = s = f = active = cons > |0| > mark# = p = active# partial status: pi(mark#) = [] pi(p) = [] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(f) = [] pi(|0|) = [] pi(active) = [] pi(cons) = [] 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#(p(X)) -> mark#(X) p2: mark#(p(X)) -> active#(p(mark(X))) p3: mark#(s(X)) -> active#(s(mark(X))) p4: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p5: mark#(f(X)) -> mark#(X) p6: mark#(f(X)) -> active#(f(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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#(p(X)) -> mark#(X) p2: mark#(f(X)) -> active#(f(mark(X))) p3: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p4: mark#(f(X)) -> mark#(X) p5: mark#(s(X)) -> active#(s(mark(X))) p6: mark#(p(X)) -> active#(p(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((0,0),(1,0)) x1 p_A(x1) = ((1,0),(0,0)) x1 + (0,6) f_A(x1) = x1 + (2,21) active#_A(x1) = ((0,0),(1,0)) x1 mark_A(x1) = ((1,0),(1,1)) x1 + (0,14) s_A(x1) = ((1,0),(1,0)) x1 + (1,24) |0|_A() = (2,27) active_A(x1) = x1 + (0,1) cons_A(x1,x2) = (1,13) precedence: p > f = mark > active > |0| > mark# = active# = s > cons partial status: pi(mark#) = [] pi(p) = [] pi(f) = [1] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(|0|) = [] pi(active) = [1] pi(cons) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = (2,6) p_A(x1) = (1,1) f_A(x1) = ((1,0),(1,1)) x1 + (0,1) active#_A(x1) = (2,6) mark_A(x1) = (0,7) s_A(x1) = (3,2) |0|_A() = (4,8) active_A(x1) = (0,7) cons_A(x1,x2) = (1,0) precedence: mark# = p = f = active# = mark = s = |0| = active = cons partial status: pi(mark#) = [] pi(p) = [] pi(f) = [] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(|0|) = [] pi(active) = [] pi(cons) = [] The next rules are strictly ordered: p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(p(X)) -> mark#(X) p2: mark#(f(X)) -> active#(f(mark(X))) p3: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p4: mark#(s(X)) -> active#(s(mark(X))) p5: mark#(p(X)) -> active#(p(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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#(p(X)) -> mark#(X) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,1)) x1 + (2,2) p_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: mark# = p partial status: pi(mark#) = [] pi(p) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(0,0)) x1 p_A(x1) = (1,1) precedence: p > mark# partial status: pi(mark#) = [] pi(p) = [] 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#(f(X)) -> active#(f(mark(X))) p2: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (0,1) f_A(x1) = ((1,0),(1,1)) x1 active#_A(x1) = x1 mark_A(x1) = x1 s_A(x1) = ((1,0),(0,0)) x1 + (1,3) |0|_A() = (1,6) p_A(x1) = ((1,0),(0,0)) x1 active_A(x1) = x1 cons_A(x1,x2) = x1 precedence: s = |0| > p > mark# > mark > active = cons > f = active# partial status: pi(mark#) = [1] pi(f) = [1] pi(active#) = [1] pi(mark) = [1] pi(s) = [] pi(|0|) = [] pi(p) = [] pi(active) = [1] pi(cons) = [1] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(0,0)) x1 + (2,3) f_A(x1) = ((1,0),(1,1)) x1 + (1,0) active#_A(x1) = ((1,0),(1,1)) x1 + (1,1) mark_A(x1) = (0,0) s_A(x1) = (7,5) |0|_A() = (0,0) p_A(x1) = (3,1) active_A(x1) = x1 + (2,0) cons_A(x1,x2) = ((0,0),(1,0)) x1 precedence: |0| > p > mark# = active# > f = mark = s = active = cons partial status: pi(mark#) = [] pi(f) = [1] pi(active#) = [1] pi(mark) = [] pi(s) = [] pi(|0|) = [] pi(p) = [] pi(active) = [1] pi(cons) = [] 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#(f(X)) -> active#(f(mark(X))) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(X) The estimated dependency graph contains the following SCCs: (no SCCs) -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: f#(mark(X)) -> f#(X) p2: f#(active(X)) -> f#(X) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: f#_A(x1) = x1 + (1,2) mark_A(x1) = x1 + (2,1) active_A(x1) = ((1,0),(1,1)) x1 + (2,1) precedence: f# = mark = active partial status: pi(f#) = [1] pi(mark) = [1] pi(active) = [1] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: f#_A(x1) = ((1,0),(1,0)) x1 + (0,2) mark_A(x1) = ((1,0),(0,0)) x1 + (1,1) active_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: f# = mark = active partial status: pi(f#) = [] pi(mark) = [] pi(active) = [] The next rules are strictly ordered: p1, p2 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: cons#(mark(X1),X2) -> cons#(X1,X2) p2: cons#(X1,active(X2)) -> cons#(X1,X2) p3: cons#(active(X1),X2) -> cons#(X1,X2) p4: cons#(X1,mark(X2)) -> cons#(X1,X2) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: cons#_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (2,2) mark_A(x1) = ((1,0),(0,0)) x1 + (1,3) active_A(x1) = ((1,0),(0,0)) x1 + (3,1) precedence: cons# = mark = active partial status: pi(cons#) = [] pi(mark) = [] pi(active) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: cons#_A(x1,x2) = (0,0) mark_A(x1) = (1,1) active_A(x1) = (1,1) precedence: mark > cons# = active partial status: pi(cons#) = [] pi(mark) = [] pi(active) = [] The next rules are strictly ordered: p1, p2, p3, p4 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: s#(mark(X)) -> s#(X) p2: s#(active(X)) -> s#(X) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: s#_A(x1) = x1 + (1,2) mark_A(x1) = x1 + (2,1) active_A(x1) = ((1,0),(1,1)) x1 + (2,1) precedence: s# = mark > active partial status: pi(s#) = [1] pi(mark) = [1] pi(active) = [1] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: s#_A(x1) = ((1,0),(1,0)) x1 + (0,2) mark_A(x1) = ((1,0),(0,0)) x1 + (1,1) active_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: s# = mark = active partial status: pi(s#) = [] pi(mark) = [] pi(active) = [] The next rules are strictly ordered: p1, p2 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: p#(mark(X)) -> p#(X) p2: p#(active(X)) -> p#(X) and R consists of: r1: active(f(|0|())) -> mark(cons(|0|(),f(s(|0|())))) r2: active(f(s(|0|()))) -> mark(f(p(s(|0|())))) r3: active(p(s(X))) -> mark(X) r4: mark(f(X)) -> active(f(mark(X))) r5: mark(|0|()) -> active(|0|()) r6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) r7: mark(s(X)) -> active(s(mark(X))) r8: mark(p(X)) -> active(p(mark(X))) r9: f(mark(X)) -> f(X) r10: f(active(X)) -> f(X) r11: cons(mark(X1),X2) -> cons(X1,X2) r12: cons(X1,mark(X2)) -> cons(X1,X2) r13: cons(active(X1),X2) -> cons(X1,X2) r14: cons(X1,active(X2)) -> cons(X1,X2) r15: s(mark(X)) -> s(X) r16: s(active(X)) -> s(X) r17: p(mark(X)) -> p(X) r18: p(active(X)) -> p(X) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: p#_A(x1) = x1 + (1,2) mark_A(x1) = x1 + (2,1) active_A(x1) = ((1,0),(1,1)) x1 + (2,1) precedence: p# = mark = active partial status: pi(p#) = [1] pi(mark) = [1] pi(active) = [1] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: p#_A(x1) = ((1,0),(1,0)) x1 + (0,2) mark_A(x1) = ((1,0),(0,0)) x1 + (1,1) active_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: p# = mark = active partial status: pi(p#) = [] pi(mark) = [] pi(active) = [] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains.