YES TRS: 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())) max/plus interpretations on N: merge_A(x1,x2) = max{0, x1, x2} merge#_A(x1,x2) = max{0, x1, x2} nil_A = 0 nil#_A = 0 ++_A(x1,x2) = max{0, x1, x2} ++#_A(x1,x2) = max{0, x1, x2} u_A = 0 u#_A = 0 v_A = 0 v#_A = 0 precedence: merge > nil = ++ = v > u