YES We show the termination of the TRS R: g(c(x,s(y))) -> g(c(s(x),y)) f(c(s(x),y)) -> f(c(x,s(y))) f(f(x)) -> f(d(f(x))) f(x) -> x -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: g#(c(x,s(y))) -> g#(c(s(x),y)) p2: f#(c(s(x),y)) -> f#(c(x,s(y))) p3: f#(f(x)) -> f#(d(f(x))) and R consists of: r1: g(c(x,s(y))) -> g(c(s(x),y)) r2: f(c(s(x),y)) -> f(c(x,s(y))) r3: f(f(x)) -> f(d(f(x))) r4: f(x) -> x The estimated dependency graph contains the following SCCs: {p1} {p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: g#(c(x,s(y))) -> g#(c(s(x),y)) and R consists of: r1: g(c(x,s(y))) -> g(c(s(x),y)) r2: f(c(s(x),y)) -> f(c(x,s(y))) r3: f(f(x)) -> f(d(f(x))) r4: f(x) -> x The set of usable rules consists of (no rules) Take the reduction pair: generalized weighted path order (>=MG, >G) base order 1: max/plus interpretation on natural numbers: g#_A(x1) = max{5, x1} c_A(x1,x2) = max{5, x2} s_A(x1) = x1 base order 2: marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: g#_A(x1) = max{0, x1 - 13} c_A(x1,x2) = max{12, x1 - 5, x2 - 3} s_A(x1) = max{6, x1} g#!_A(x1) = x1 + 7 c!_A(x1,x2) = max{7, x1 - 15, x2 - 8} s!_A(x1) = max{5, x1 - 16} partial status: pi(g#) = [1] pi(c) = [2] pi(s) = [1] 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#(c(s(x),y)) -> f#(c(x,s(y))) and R consists of: r1: g(c(x,s(y))) -> g(c(s(x),y)) r2: f(c(s(x),y)) -> f(c(x,s(y))) r3: f(f(x)) -> f(d(f(x))) r4: f(x) -> x The set of usable rules consists of (no rules) Take the reduction pair: generalized weighted path order (>=MG, >G) base order 1: max/plus interpretation on natural numbers: f#_A(x1) = x1 + 7 c_A(x1,x2) = max{1, x1 - 8} s_A(x1) = max{28, x1 + 11} base order 2: marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: f#_A(x1) = max{0, x1 - 22} c_A(x1,x2) = max{x1 + 21, x2 + 2} s_A(x1) = max{2, x1} f#!_A(x1) = max{1, x1 - 15} c!_A(x1,x2) = max{9, x1 - 10, x2 - 22} s!_A(x1) = max{10, x1 - 37} partial status: pi(f#) = [1] pi(c) = [] pi(s) = [1] The following rules are removed: p1 Then no dependency pair remains.