YES We show the termination of the TRS R: f(g(x)) -> g(f(f(x))) f(h(x)) -> h(g(x)) |f'|(s(x),y,y) -> |f'|(y,x,s(x)) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: f#(g(x)) -> f#(f(x)) p2: f#(g(x)) -> f#(x) p3: |f'|#(s(x),y,y) -> |f'|#(y,x,s(x)) and R consists of: r1: f(g(x)) -> g(f(f(x))) r2: f(h(x)) -> h(g(x)) r3: |f'|(s(x),y,y) -> |f'|(y,x,s(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: f#(g(x)) -> f#(f(x)) p2: f#(g(x)) -> f#(x) and R consists of: r1: f(g(x)) -> g(f(f(x))) r2: f(h(x)) -> h(g(x)) r3: |f'|(s(x),y,y) -> |f'|(y,x,s(x)) The set of usable rules consists of r1, r2, r3 Take the reduction pair: generalized weighted path order (>=MG, >MG) base order 1: max/plus interpretation on natural numbers: f#_A(x1) = max{7, x1 + 3} g_A(x1) = max{8, x1 + 5} f_A(x1) = max{3, x1} h_A(x1) = 4 |f'|_A(x1,x2,x3) = max{0, x1 - 1, x3 - 1} s_A(x1) = max{2, x1 - 1} base order 2: precedence: g = |f'| = s > f# = f > h partial status: pi(f#) = [1] pi(g) = [] pi(f) = [1] pi(h) = [] pi(|f'|) = [] pi(s) = [] The following rules are removed: p2 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: f#(g(x)) -> f#(f(x)) and R consists of: r1: f(g(x)) -> g(f(f(x))) r2: f(h(x)) -> h(g(x)) r3: |f'|(s(x),y,y) -> |f'|(y,x,s(x)) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: f#(g(x)) -> f#(f(x)) and R consists of: r1: f(g(x)) -> g(f(f(x))) r2: f(h(x)) -> h(g(x)) r3: |f'|(s(x),y,y) -> |f'|(y,x,s(x)) The set of usable rules consists of r1, r2, r3 Take the reduction pair: generalized weighted path order (>=MG, >MG) base order 1: max/plus interpretation on natural numbers: f#_A(x1) = max{4, x1 + 3} g_A(x1) = x1 + 5 f_A(x1) = x1 h_A(x1) = 1 |f'|_A(x1,x2,x3) = max{3, x1, x2, x3 - 1} s_A(x1) = max{2, x1} base order 2: precedence: g = |f'| = s > f# > f > h partial status: pi(f#) = [1] pi(g) = [] pi(f) = [1] pi(h) = [] pi(|f'|) = [] pi(s) = [] The following rules are removed: p1 Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: |f'|#(s(x),y,y) -> |f'|#(y,x,s(x)) and R consists of: r1: f(g(x)) -> g(f(f(x))) r2: f(h(x)) -> h(g(x)) r3: |f'|(s(x),y,y) -> |f'|(y,x,s(x)) The set of usable rules consists of r3 Take the reduction pair: generalized weighted path order (>=MG, >MG) base order 1: max/plus interpretation on natural numbers: |f'|#_A(x1,x2,x3) = max{3, x1, x2 + 1, x3 - 5} s_A(x1) = x1 + 4 |f'|_A(x1,x2,x3) = max{5, x1 - 5, x2 - 5, x3 - 8} base order 2: precedence: |f'| > |f'|# = s partial status: pi(|f'|#) = [1] pi(s) = [1] pi(|f'|) = [] The following rules are removed: p1 Then no dependency pair remains.