YES We show the termination of the TRS R: ++(nil(),y) -> y ++(x,nil()) -> x ++(.(x,y),z) -> .(x,++(y,z)) ++(++(x,y),z) -> ++(x,++(y,z)) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: ++#(.(x,y),z) -> ++#(y,z) p2: ++#(++(x,y),z) -> ++#(x,++(y,z)) p3: ++#(++(x,y),z) -> ++#(y,z) and R consists of: r1: ++(nil(),y) -> y r2: ++(x,nil()) -> x r3: ++(.(x,y),z) -> .(x,++(y,z)) r4: ++(++(x,y),z) -> ++(x,++(y,z)) 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: ++#(.(x,y),z) -> ++#(y,z) p2: ++#(++(x,y),z) -> ++#(y,z) p3: ++#(++(x,y),z) -> ++#(x,++(y,z)) and R consists of: r1: ++(nil(),y) -> y r2: ++(x,nil()) -> x r3: ++(.(x,y),z) -> .(x,++(y,z)) r4: ++(++(x,y),z) -> ++(x,++(y,z)) The set of usable rules consists of r1, r2, r3, r4 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: ++#_A(x1,x2) = x1 + x2 + 3 ._A(x1,x2) = x1 + x2 + 1 ++_A(x1,x2) = x1 + x2 + 2 nil_A() = 1 precedence: . = ++ > ++# = nil partial status: pi(++#) = [] pi(.) = [1, 2] pi(++) = [1] pi(nil) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: ++#(++(x,y),z) -> ++#(y,z) p2: ++#(++(x,y),z) -> ++#(x,++(y,z)) and R consists of: r1: ++(nil(),y) -> y r2: ++(x,nil()) -> x r3: ++(.(x,y),z) -> .(x,++(y,z)) r4: ++(++(x,y),z) -> ++(x,++(y,z)) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: ++#(++(x,y),z) -> ++#(y,z) p2: ++#(++(x,y),z) -> ++#(x,++(y,z)) and R consists of: r1: ++(nil(),y) -> y r2: ++(x,nil()) -> x r3: ++(.(x,y),z) -> .(x,++(y,z)) r4: ++(++(x,y),z) -> ++(x,++(y,z)) The set of usable rules consists of r1, r2, r3, r4 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: ++#_A(x1,x2) = x1 ++_A(x1,x2) = x1 + x2 + 2 nil_A() = 1 ._A(x1,x2) = x1 + x2 + 1 precedence: ++# = ++ = nil = . partial status: pi(++#) = [] pi(++) = [1] pi(nil) = [] pi(.) = [1, 2] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: ++#(++(x,y),z) -> ++#(x,++(y,z)) and R consists of: r1: ++(nil(),y) -> y r2: ++(x,nil()) -> x r3: ++(.(x,y),z) -> .(x,++(y,z)) r4: ++(++(x,y),z) -> ++(x,++(y,z)) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: ++#(++(x,y),z) -> ++#(x,++(y,z)) and R consists of: r1: ++(nil(),y) -> y r2: ++(x,nil()) -> x r3: ++(.(x,y),z) -> .(x,++(y,z)) r4: ++(++(x,y),z) -> ++(x,++(y,z)) The set of usable rules consists of r1, r2, r3, r4 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: ++#_A(x1,x2) = x1 ++_A(x1,x2) = x1 + x2 + 2 nil_A() = 1 ._A(x1,x2) = x1 + x2 + 1 precedence: nil > ++ > ++# = . partial status: pi(++#) = [] pi(++) = [1] pi(nil) = [] pi(.) = [2] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.