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: max/plus interpretations on natural numbers: active#_A(x1) = max{34, x1 - 45} f_A(x1) = max{106, x1 + 62} |0|_A = 12 mark#_A(x1) = max{34, x1 - 45} cons_A(x1,x2) = max{11, x1 + 6} s_A(x1) = max{8, x1 + 4} p_A(x1) = x1 + 5 mark_A(x1) = x1 active_A(x1) = max{5, x1} 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: max/plus interpretations on natural numbers: active#_A(x1) = 84 f_A(x1) = 76 |0|_A = 78 mark#_A(x1) = 84 cons_A(x1,x2) = 93 s_A(x1) = 134 p_A(x1) = 76 mark_A(x1) = x1 + 18 active_A(x1) = 94 precedence: f > mark = active > s > active# = |0| = mark# = cons > p 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: max/plus interpretations on natural numbers: mark#_A(x1) = 47 cons_A(x1,x2) = 50 f_A(x1) = 55 active#_A(x1) = max{44, x1 - 8} mark_A(x1) = 78 s_A(x1) = 45 |0|_A = 55 p_A(x1) = 55 active_A(x1) = max{56, x1 + 23} precedence: |0| > mark# = f = active# = s = p > mark = active > cons partial status: pi(mark#) = [] pi(cons) = [] pi(f) = [] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(|0|) = [] pi(p) = [] pi(active) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = 246 cons_A(x1,x2) = 0 f_A(x1) = 83 active#_A(x1) = 246 mark_A(x1) = 11 s_A(x1) = 79 |0|_A = 83 p_A(x1) = 132 active_A(x1) = 11 precedence: f > mark = s = active > cons > mark# = active# = |0| = p 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: p5 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: active#(p(s(X))) -> mark#(X) p6: mark#(s(X)) -> active#(s(mark(X))) p7: mark#(s(X)) -> 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)) -> 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#(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: max/plus interpretations on natural numbers: mark#_A(x1) = x1 cons_A(x1,x2) = max{5, x1} p_A(x1) = max{10, x1} active#_A(x1) = max{10, x1 - 3} mark_A(x1) = max{4, x1} s_A(x1) = max{10, x1 + 3} f_A(x1) = max{10, x1} |0|_A = 5 active_A(x1) = max{5, x1} precedence: s > mark > mark# = cons = p = active# = f = |0| = active partial status: pi(mark#) = [] pi(cons) = [1] pi(p) = [] pi(active#) = [] pi(mark) = [1] pi(s) = [] pi(f) = [1] pi(|0|) = [] pi(active) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = 12 cons_A(x1,x2) = max{6, x1 + 3} p_A(x1) = 13 active#_A(x1) = 12 mark_A(x1) = max{2, x1} s_A(x1) = 32 f_A(x1) = max{7, x1 - 45} |0|_A = 1 active_A(x1) = max{5, x1} precedence: cons = |0| > mark# = active# > p = s = active > f > mark partial status: pi(mark#) = [] pi(cons) = [1] pi(p) = [] pi(active#) = [] pi(mark) = [1] pi(s) = [] pi(f) = [] pi(|0|) = [] 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#(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#(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#(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#(s(X)) -> active#(s(mark(X))) p6: active#(p(s(X))) -> mark#(X) p7: mark#(p(X)) -> active#(p(mark(X))) p8: 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: max/plus interpretations on natural numbers: mark#_A(x1) = max{2, x1 - 9} cons_A(x1,x2) = max{28, x1 + 8, x2} f_A(x1) = max{29, x1 + 13} active#_A(x1) = max{1, x1 - 9} mark_A(x1) = x1 s_A(x1) = max{9, x1} |0|_A = 17 p_A(x1) = max{12, x1} active_A(x1) = max{1, x1} precedence: mark# = cons = active# = s = |0| = p > f = mark = active partial status: pi(mark#) = [] pi(cons) = [] pi(f) = [] pi(active#) = [] pi(mark) = [] pi(s) = [] pi(|0|) = [] pi(p) = [] pi(active) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = 54 cons_A(x1,x2) = 36 f_A(x1) = 55 active#_A(x1) = 54 mark_A(x1) = 37 s_A(x1) = 96 |0|_A = 11 p_A(x1) = 55 active_A(x1) = 37 precedence: cons = |0| > f = mark = p = active > mark# = active# = s 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: p4 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#(s(X)) -> active#(s(mark(X))) p5: active#(p(s(X))) -> mark#(X) p6: mark#(p(X)) -> active#(p(mark(X))) p7: 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} -- 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)) -> 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: max/plus interpretations on natural numbers: mark#_A(x1) = max{7, x1 + 6} cons_A(x1,x2) = max{28, x1 + 13} p_A(x1) = max{54, x1 + 11} active#_A(x1) = x1 + 6 mark_A(x1) = max{14, x1} s_A(x1) = max{42, x1 - 3} f_A(x1) = max{54, x1 - 2} |0|_A = 29 active_A(x1) = max{12, x1} precedence: s > f > mark# = cons = p = active# = mark = |0| = active partial status: pi(mark#) = [1] pi(cons) = [] pi(p) = [] pi(active#) = [1] pi(mark) = [1] pi(s) = [] pi(f) = [] pi(|0|) = [] pi(active) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = 45 cons_A(x1,x2) = 20 p_A(x1) = 5 active#_A(x1) = 45 mark_A(x1) = 68 s_A(x1) = 50 f_A(x1) = 47 |0|_A = 63 active_A(x1) = max{68, x1 + 4} precedence: mark# = cons = p = active# = mark = s = f = |0| = active 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: p2 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)) -> 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)) -> 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#(cons(X1,X2)) -> mark#(X1) p2: mark#(f(X)) -> active#(f(mark(X))) p3: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p4: active#(p(s(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: max/plus interpretations on natural numbers: mark#_A(x1) = max{2, x1 - 3} cons_A(x1,x2) = max{2, x1, x2} f_A(x1) = max{2, x1 - 12} active#_A(x1) = max{2, x1 - 15} mark_A(x1) = x1 + 11 s_A(x1) = x1 + 6 |0|_A = 2 p_A(x1) = x1 + 6 active_A(x1) = max{13, x1} 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) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = 1 cons_A(x1,x2) = 8 f_A(x1) = 92 active#_A(x1) = 1 mark_A(x1) = 7 s_A(x1) = 13 |0|_A = 52 p_A(x1) = 18 active_A(x1) = 7 precedence: mark# = cons = f = active# = mark = s = p = active > |0| 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: p6 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: active#(p(s(X))) -> mark#(X) p5: mark#(s(X)) -> active#(s(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(cons(X1,X2)) -> mark#(X1) p2: mark#(s(X)) -> active#(s(mark(X))) p3: active#(p(s(X))) -> mark#(X) p4: mark#(f(X)) -> active#(f(mark(X))) p5: 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: max/plus interpretations on natural numbers: mark#_A(x1) = max{112, x1 + 88} cons_A(x1,x2) = x1 + 30 s_A(x1) = x1 + 175 active#_A(x1) = max{111, x1 + 75} mark_A(x1) = x1 + 11 p_A(x1) = max{31, x1 - 135} f_A(x1) = max{75, x1 - 9} |0|_A = 30 active_A(x1) = max{41, x1} precedence: mark = |0| > mark# = cons = s > active# = p = f = active partial status: pi(mark#) = [1] pi(cons) = [1] pi(s) = [1] pi(active#) = [1] pi(mark) = [] pi(p) = [] pi(f) = [] pi(|0|) = [] pi(active) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: mark#_A(x1) = max{328, x1 + 324} cons_A(x1,x2) = x1 + 26 s_A(x1) = max{123, x1 + 41} active#_A(x1) = x1 + 171 mark_A(x1) = 25 p_A(x1) = 8 f_A(x1) = 18 |0|_A = 16 active_A(x1) = max{9, x1 + 7} precedence: mark# > s = mark = f = active > cons = active# = p = |0| partial status: pi(mark#) = [] pi(cons) = [1] pi(s) = [1] pi(active#) = [1] pi(mark) = [] pi(p) = [] pi(f) = [] pi(|0|) = [] pi(active) = [] The next rules are strictly ordered: p1, p2, p3, p4, p5 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: 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 monotone reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: f#_A(x1) = x1 + 2 mark_A(x1) = x1 active_A(x1) = x1 + 2 precedence: mark > active > f# partial status: pi(f#) = [1] pi(mark) = [1] pi(active) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: f#_A(x1) = x1 + 1 mark_A(x1) = x1 active_A(x1) = x1 precedence: f# = mark = active partial status: pi(f#) = [1] pi(mark) = [1] pi(active) = [1] 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: max/plus interpretations on natural numbers: cons#_A(x1,x2) = max{2, x1 + 1, x2 + 1} mark_A(x1) = max{1, x1} active_A(x1) = max{1, x1} precedence: cons# = mark = active partial status: pi(cons#) = [1, 2] pi(mark) = [1] pi(active) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: cons#_A(x1,x2) = max{x1 + 1, x2 - 1} mark_A(x1) = x1 active_A(x1) = x1 precedence: cons# = mark = active partial status: pi(cons#) = [1] pi(mark) = [1] pi(active) = [1] 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 monotone reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: s#_A(x1) = max{6, x1 + 4} mark_A(x1) = max{4, x1 + 3} active_A(x1) = max{2, x1 + 1} precedence: s# = mark = active partial status: pi(s#) = [1] pi(mark) = [1] pi(active) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: s#_A(x1) = x1 + 1 mark_A(x1) = x1 active_A(x1) = x1 precedence: s# = mark = active partial status: pi(s#) = [1] pi(mark) = [1] pi(active) = [1] 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 monotone reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: p#_A(x1) = max{6, x1 + 4} mark_A(x1) = max{4, x1 + 3} active_A(x1) = max{2, x1 + 1} precedence: p# = mark = active partial status: pi(p#) = [1] pi(mark) = [1] pi(active) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: p#_A(x1) = x1 + 1 mark_A(x1) = x1 active_A(x1) = x1 precedence: p# = mark = active partial status: pi(p#) = [1] pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains.