YES We show the termination of the TRS R: merge(x,nil()) -> x merge(nil(),y) -> y merge(++(x,y),++(u(),v())) -> ++(x,merge(y,++(u(),v()))) merge(++(x,y),++(u(),v())) -> ++(u(),merge(++(x,y),v())) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: merge#(++(x,y),++(u(),v())) -> merge#(y,++(u(),v())) p2: merge#(++(x,y),++(u(),v())) -> merge#(++(x,y),v()) and R consists of: r1: merge(x,nil()) -> x r2: merge(nil(),y) -> y r3: merge(++(x,y),++(u(),v())) -> ++(x,merge(y,++(u(),v()))) r4: merge(++(x,y),++(u(),v())) -> ++(u(),merge(++(x,y),v())) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: merge#(++(x,y),++(u(),v())) -> merge#(y,++(u(),v())) and R consists of: r1: merge(x,nil()) -> x r2: merge(nil(),y) -> y r3: merge(++(x,y),++(u(),v())) -> ++(x,merge(y,++(u(),v()))) r4: merge(++(x,y),++(u(),v())) -> ++(u(),merge(++(x,y),v())) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic path order with precedence: precedence: v > u > ++ > merge# argument filter: pi(merge#) = 1 pi(++) = [2] pi(u) = [] pi(v) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.