YES We show the termination of the TRS R: f(c(s(x),y)) -> f(c(x,s(y))) f(c(s(x),s(y))) -> g(c(x,y)) g(c(x,s(y))) -> g(c(s(x),y)) g(c(s(x),s(y))) -> f(c(x,y)) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: f#(c(s(x),y)) -> f#(c(x,s(y))) p2: f#(c(s(x),s(y))) -> g#(c(x,y)) p3: g#(c(x,s(y))) -> g#(c(s(x),y)) p4: g#(c(s(x),s(y))) -> f#(c(x,y)) and R consists of: r1: f(c(s(x),y)) -> f(c(x,s(y))) r2: f(c(s(x),s(y))) -> g(c(x,y)) r3: g(c(x,s(y))) -> g(c(s(x),y)) r4: g(c(s(x),s(y))) -> f(c(x,y)) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: f#(c(s(x),y)) -> f#(c(x,s(y))) p2: f#(c(s(x),s(y))) -> g#(c(x,y)) p3: g#(c(s(x),s(y))) -> f#(c(x,y)) p4: g#(c(x,s(y))) -> g#(c(s(x),y)) and R consists of: r1: f(c(s(x),y)) -> f(c(x,s(y))) r2: f(c(s(x),s(y))) -> g(c(x,y)) r3: g(c(x,s(y))) -> g(c(s(x),y)) r4: g(c(s(x),s(y))) -> f(c(x,y)) The set of usable rules consists of (no rules) Take the reduction pair: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: f#_A(x1) = x1 c_A(x1,x2) = 1 s_A(x1) = x1 + 4 g#_A(x1) = x1 f#!_A(x1) = 5 c!_A(x1,x2) = x1 + x2 s!_A(x1) = 6 g#!_A(x1) = 7 2. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: f#_A(x1) = max{0, x1 - 15} c_A(x1,x2) = max{14, x1 + 2, x2 - 3} s_A(x1) = max{6, x1} g#_A(x1) = max{0, x1 - 15} f#!_A(x1) = max{2, x1 - 11} c!_A(x1,x2) = max{1, x2 - 7} s!_A(x1) = 15 g#!_A(x1) = 0 partial status: pi(f#) = [1] pi(c) = [] pi(s) = [] pi(g#) = [1] The following rules are removed: p2, p3 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: f#(c(s(x),y)) -> f#(c(x,s(y))) p2: g#(c(x,s(y))) -> g#(c(s(x),y)) and R consists of: r1: f(c(s(x),y)) -> f(c(x,s(y))) r2: f(c(s(x),s(y))) -> g(c(x,y)) r3: g(c(x,s(y))) -> g(c(s(x),y)) r4: g(c(s(x),s(y))) -> f(c(x,y)) The estimated dependency graph contains the following SCCs: {p1} {p2} -- 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: f(c(s(x),y)) -> f(c(x,s(y))) r2: f(c(s(x),s(y))) -> g(c(x,y)) r3: g(c(x,s(y))) -> g(c(s(x),y)) r4: g(c(s(x),s(y))) -> f(c(x,y)) The set of usable rules consists of (no rules) Take the reduction pair: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: f#_A(x1) = x1 c_A(x1,x2) = x1 + x2 + 1 s_A(x1) = x1 + 1 f#!_A(x1) = 0 c!_A(x1,x2) = x2 + 4 s!_A(x1) = 1 2. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: f#_A(x1) = max{0, x1 - 3} c_A(x1,x2) = max{0, x1 - 8} s_A(x1) = x1 + 9 f#!_A(x1) = x1 + 5 c!_A(x1,x2) = max{x1 + 2, x2 - 10} s!_A(x1) = 3 partial status: pi(f#) = [] pi(c) = [1, 2] 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: g#(c(x,s(y))) -> g#(c(s(x),y)) and R consists of: r1: f(c(s(x),y)) -> f(c(x,s(y))) r2: f(c(s(x),s(y))) -> g(c(x,y)) r3: g(c(x,s(y))) -> g(c(s(x),y)) r4: g(c(s(x),s(y))) -> f(c(x,y)) The set of usable rules consists of (no rules) Take the reduction pair: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: g#_A(x1) = x1 c_A(x1,x2) = x2 + 1 s_A(x1) = x1 + 1 g#!_A(x1) = x1 + 3 c!_A(x1,x2) = 2 s!_A(x1) = x1 + 3 2. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: g#_A(x1) = 0 c_A(x1,x2) = max{0, x1 - 52, x2 - 35} s_A(x1) = x1 + 25 g#!_A(x1) = 0 c!_A(x1,x2) = max{x1 + 39, x2 + 40} s!_A(x1) = max{1, x1 - 2} partial status: pi(g#) = [1] pi(c) = [] pi(s) = [] The following rules are removed: p1 Then no dependency pair remains.