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: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 f_A(x1) = ((1,1),(0,0)) x1 + (0,2) |0|_A() = (0,0) mark#_A(x1) = ((1,1),(0,0)) x1 cons_A(x1,x2) = ((1,1),(1,1)) x1 + (1,1) s_A(x1) = ((1,1),(0,0)) x1 p_A(x1) = ((1,1),(1,1)) x1 mark_A(x1) = ((0,0),(1,1)) x1 active_A(x1) = ((0,0),(1,1)) x1 The next rules are strictly ordered: p2, p9, p10 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(f(|0|())) -> mark#(cons(|0|(),f(s(|0|())))) 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)) -> 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: {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: active#(p(s(X))) -> mark#(X) p5: mark#(s(X)) -> active#(s(mark(X))) p6: mark#(s(X)) -> 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 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: matrix interpretations: carrier: N^2 order: standard order interpretations: mark#_A(x1) = ((0,1),(0,0)) x1 + (2,0) p_A(x1) = ((0,1),(0,1)) x1 + (2,0) f_A(x1) = x1 + (3,1) active#_A(x1) = x1 mark_A(x1) = ((0,1),(0,1)) x1 + (3,0) s_A(x1) = ((0,1),(0,1)) x1 + (1,0) |0|_A() = (1,0) active_A(x1) = x1 + (1,0) cons_A(x1,x2) = ((0,1),(0,1)) x2 + (1,0) 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: active#(p(s(X))) -> mark#(X) p5: mark#(s(X)) -> 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 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#(p(X)) -> active#(p(mark(X))) p3: active#(p(s(X))) -> mark#(X) p4: mark#(s(X)) -> mark#(X) p5: mark#(f(X)) -> active#(f(mark(X))) p6: 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: matrix interpretations: carrier: N^2 order: standard order interpretations: mark#_A(x1) = ((0,1),(0,0)) x1 p_A(x1) = x1 + (1,1) active#_A(x1) = ((0,1),(0,0)) x1 mark_A(x1) = ((1,1),(0,1)) x1 + (1,0) s_A(x1) = ((1,1),(0,1)) x1 + (1,1) f_A(x1) = (1,0) |0|_A() = (1,1) active_A(x1) = x1 + (1,0) cons_A(x1,x2) = x2 + (1,0) The next rules are strictly ordered: p1, p3, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(p(X)) -> active#(p(mark(X))) p2: mark#(f(X)) -> active#(f(mark(X))) p3: 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 estimated dependency graph contains the following SCCs: {p2, p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(f(s(|0|()))) -> mark#(f(p(s(|0|())))) p2: 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: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 f_A(x1) = ((0,0),(1,0)) x1 + (1,1) s_A(x1) = ((1,1),(1,1)) x1 + (3,0) |0|_A() = (1,1) mark#_A(x1) = ((1,1),(0,0)) x1 p_A(x1) = ((0,1),(1,1)) x1 + (1,1) mark_A(x1) = x1 active_A(x1) = x1 cons_A(x1,x2) = ((0,0),(1,0)) x1 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: 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: matrix interpretations: carrier: N^2 order: standard order interpretations: f#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 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: matrix interpretations: carrier: N^2 order: standard order interpretations: cons#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 mark_A(x1) = ((0,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,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: matrix interpretations: carrier: N^2 order: standard order interpretations: s#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 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: matrix interpretations: carrier: N^2 order: standard order interpretations: p#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 We remove them from the problem. Then no dependency pair remains.