YES We show the termination of the TRS R: active(f(X)) -> mark(g(h(f(X)))) mark(f(X)) -> active(f(mark(X))) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(mark(X))) f(mark(X)) -> f(X) f(active(X)) -> f(X) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(f(X)) -> mark#(g(h(f(X)))) p2: active#(f(X)) -> g#(h(f(X))) p3: active#(f(X)) -> h#(f(X)) p4: mark#(f(X)) -> active#(f(mark(X))) p5: mark#(f(X)) -> f#(mark(X)) p6: mark#(f(X)) -> mark#(X) p7: mark#(g(X)) -> active#(g(X)) p8: mark#(h(X)) -> active#(h(mark(X))) p9: mark#(h(X)) -> h#(mark(X)) p10: mark#(h(X)) -> mark#(X) p11: f#(mark(X)) -> f#(X) p12: f#(active(X)) -> f#(X) p13: g#(mark(X)) -> g#(X) p14: g#(active(X)) -> g#(X) p15: h#(mark(X)) -> h#(X) p16: h#(active(X)) -> h#(X) and R consists of: r1: active(f(X)) -> mark(g(h(f(X)))) r2: mark(f(X)) -> active(f(mark(X))) r3: mark(g(X)) -> active(g(X)) r4: mark(h(X)) -> active(h(mark(X))) r5: f(mark(X)) -> f(X) r6: f(active(X)) -> f(X) r7: g(mark(X)) -> g(X) r8: g(active(X)) -> g(X) r9: h(mark(X)) -> h(X) r10: h(active(X)) -> h(X) The estimated dependency graph contains the following SCCs: {p1, p4, p6, p7, p8, p10} {p13, p14} {p15, p16} {p11, p12} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(f(X)) -> mark#(g(h(f(X)))) p2: mark#(h(X)) -> mark#(X) p3: mark#(h(X)) -> active#(h(mark(X))) p4: mark#(g(X)) -> active#(g(X)) p5: mark#(f(X)) -> mark#(X) p6: mark#(f(X)) -> active#(f(mark(X))) and R consists of: r1: active(f(X)) -> mark(g(h(f(X)))) r2: mark(f(X)) -> active(f(mark(X))) r3: mark(g(X)) -> active(g(X)) r4: mark(h(X)) -> active(h(mark(X))) r5: f(mark(X)) -> f(X) r6: f(active(X)) -> f(X) r7: g(mark(X)) -> g(X) r8: g(active(X)) -> g(X) r9: h(mark(X)) -> h(X) r10: h(active(X)) -> h(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10 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 + (3,3) f_A(x1) = ((1,0),(1,0)) x1 + (2,4) mark#_A(x1) = ((0,0),(1,0)) x1 + (3,3) g_A(x1) = x1 h_A(x1) = ((1,0),(0,0)) x1 mark_A(x1) = ((1,0),(1,1)) x1 + (0,1) active_A(x1) = x1 precedence: active# = f = mark# > g = h = active > mark partial status: pi(active#) = [] pi(f) = [] pi(mark#) = [] pi(g) = [] pi(h) = [] pi(mark) = [1] pi(active) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: active#_A(x1) = (1,0) f_A(x1) = (0,2) mark#_A(x1) = (1,0) g_A(x1) = (1,4) h_A(x1) = (2,0) mark_A(x1) = (4,3) active_A(x1) = (3,1) precedence: g = mark > active# = f = mark# = h = active partial status: pi(active#) = [] pi(f) = [] pi(mark#) = [] pi(g) = [] pi(h) = [] pi(mark) = [] 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: active#(f(X)) -> mark#(g(h(f(X)))) p2: mark#(h(X)) -> mark#(X) p3: mark#(h(X)) -> active#(h(mark(X))) p4: mark#(g(X)) -> active#(g(X)) p5: mark#(f(X)) -> active#(f(mark(X))) and R consists of: r1: active(f(X)) -> mark(g(h(f(X)))) r2: mark(f(X)) -> active(f(mark(X))) r3: mark(g(X)) -> active(g(X)) r4: mark(h(X)) -> active(h(mark(X))) r5: f(mark(X)) -> f(X) r6: f(active(X)) -> f(X) r7: g(mark(X)) -> g(X) r8: g(active(X)) -> g(X) r9: h(mark(X)) -> h(X) r10: h(active(X)) -> h(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: active#(f(X)) -> mark#(g(h(f(X)))) p2: mark#(f(X)) -> active#(f(mark(X))) p3: mark#(g(X)) -> active#(g(X)) p4: mark#(h(X)) -> active#(h(mark(X))) p5: mark#(h(X)) -> mark#(X) and R consists of: r1: active(f(X)) -> mark(g(h(f(X)))) r2: mark(f(X)) -> active(f(mark(X))) r3: mark(g(X)) -> active(g(X)) r4: mark(h(X)) -> active(h(mark(X))) r5: f(mark(X)) -> f(X) r6: f(active(X)) -> f(X) r7: g(mark(X)) -> g(X) r8: g(active(X)) -> g(X) r9: h(mark(X)) -> h(X) r10: h(active(X)) -> h(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10 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) = ((1,0),(1,1)) x1 + (1,1) f_A(x1) = ((1,0),(1,1)) x1 + (6,24) mark#_A(x1) = ((1,0),(1,1)) x1 + (4,9) g_A(x1) = ((0,0),(1,0)) x1 + (1,2) h_A(x1) = x1 + (5,8) mark_A(x1) = ((1,0),(1,1)) x1 + (2,7) active_A(x1) = x1 + (0,1) precedence: active# = f = mark# = g = h = mark = active partial status: pi(active#) = [] pi(f) = [] pi(mark#) = [] pi(g) = [] pi(h) = [] pi(mark) = [] pi(active) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: active#_A(x1) = ((1,0),(1,1)) x1 + (12,15) f_A(x1) = ((1,0),(1,1)) x1 + (1,14) mark#_A(x1) = ((0,0),(1,0)) x1 + (10,1) g_A(x1) = (9,9) h_A(x1) = ((1,0),(1,1)) x1 + (11,14) mark_A(x1) = ((1,0),(1,1)) x1 + (0,13) active_A(x1) = ((1,0),(1,1)) x1 + (12,15) precedence: active# > f = mark# = h = mark = active > g partial status: pi(active#) = [] pi(f) = [1] pi(mark#) = [] pi(g) = [] pi(h) = [] pi(mark) = [1] pi(active) = [1] 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: g#(mark(X)) -> g#(X) p2: g#(active(X)) -> g#(X) and R consists of: r1: active(f(X)) -> mark(g(h(f(X)))) r2: mark(f(X)) -> active(f(mark(X))) r3: mark(g(X)) -> active(g(X)) r4: mark(h(X)) -> active(h(mark(X))) r5: f(mark(X)) -> f(X) r6: f(active(X)) -> f(X) r7: g(mark(X)) -> g(X) r8: g(active(X)) -> g(X) r9: h(mark(X)) -> h(X) r10: h(active(X)) -> h(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: g#_A(x1) = x1 + (1,2) mark_A(x1) = x1 + (2,1) active_A(x1) = ((1,0),(1,1)) x1 + (2,1) precedence: g# = mark = active partial status: pi(g#) = [1] pi(mark) = [1] pi(active) = [1] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: g#_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: g# = mark = active partial status: pi(g#) = [] 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: h#(mark(X)) -> h#(X) p2: h#(active(X)) -> h#(X) and R consists of: r1: active(f(X)) -> mark(g(h(f(X)))) r2: mark(f(X)) -> active(f(mark(X))) r3: mark(g(X)) -> active(g(X)) r4: mark(h(X)) -> active(h(mark(X))) r5: f(mark(X)) -> f(X) r6: f(active(X)) -> f(X) r7: g(mark(X)) -> g(X) r8: g(active(X)) -> g(X) r9: h(mark(X)) -> h(X) r10: h(active(X)) -> h(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: h#_A(x1) = x1 + (1,2) mark_A(x1) = x1 + (2,1) active_A(x1) = ((1,0),(1,1)) x1 + (2,1) precedence: h# = mark = active partial status: pi(h#) = [1] pi(mark) = [1] pi(active) = [1] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: h#_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: h# = mark = active partial status: pi(h#) = [] 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: f#(mark(X)) -> f#(X) p2: f#(active(X)) -> f#(X) and R consists of: r1: active(f(X)) -> mark(g(h(f(X)))) r2: mark(f(X)) -> active(f(mark(X))) r3: mark(g(X)) -> active(g(X)) r4: mark(h(X)) -> active(h(mark(X))) r5: f(mark(X)) -> f(X) r6: f(active(X)) -> f(X) r7: g(mark(X)) -> g(X) r8: g(active(X)) -> g(X) r9: h(mark(X)) -> h(X) r10: h(active(X)) -> h(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.