YES We show the termination of R/S, where R is app(nil,k) -> k app(l,nil) -> l app(cons(x,l),k) -> cons(x,app(l,k)) sum(cons(x,nil)) -> cons(x,nil) sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) and S is: cons(x,cons(y,l)) -> cons(y,cons(x,l)) Since R almost dominates S and S is non-duplicating, it is enough to show finiteness of (P, Q). Here P consists of the dependency pairs app#(cons(x,l),k) -> app#(l,k) sum#(cons(x,cons(y,l))) -> sum#(cons(plus(x,y),l)) sum#(cons(x,cons(y,l))) -> plus#(x,y) sum#(app(l,cons(x,cons(y,k)))) -> sum#(app(l,sum(cons(x,cons(y,k))))) sum#(app(l,cons(x,cons(y,k)))) -> app#(l,sum(cons(x,cons(y,k)))) sum#(app(l,cons(x,cons(y,k)))) -> sum#(cons(x,cons(y,k))) plus#(s(x),y) -> plus#(x,y) and Q consists of the rules: app(nil,k) -> k app(l,nil) -> l app(cons(x,l),k) -> cons(x,app(l,k)) sum(cons(x,nil)) -> cons(x,nil) sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) cons(x,cons(y,l)) -> cons(y,cons(x,l)) The weakly monotone algebra (N^2, >_lex) with app#_A((x1,y1),(x2,y2)) = (0, 1) cons_A((x1,y1),(x2,y2)) = (1, 2) sum#_A((x1,y1)) = (1, 0) plus_A((x1,y1),(x2,y2)) = (x1 + x2 + 1, 1) plus#_A((x1,y1),(x2,y2)) = (0, 1) app_A((x1,y1),(x2,y2)) = (x1 + x2 + 1, 3) sum_A((x1,y1)) = (2, 1) s_A((x1,y1)) = (x1 + 1, 1) nil_A = (1, 1) 0_A = (1, 1) strictly orients the following dependency pairs: sum#(cons(x,cons(y,l))) -> plus#(x,y) sum#(app(l,cons(x,cons(y,k)))) -> app#(l,sum(cons(x,cons(y,k)))) We remove them from the set of dependency pairs. The weakly monotone algebra (N^2, >_lex) with app#_A((x1,y1),(x2,y2)) = (x1, y1) cons_A((x1,y1),(x2,y2)) = (x1 + x2 + 3, y1 + y2 + 2) sum#_A((x1,y1)) = (x1, y1) plus_A((x1,y1),(x2,y2)) = (x2 + 2, 1) app_A((x1,y1),(x2,y2)) = (x1 + x2 + 1, y1 + y2 + 1) sum_A((x1,y1)) = (x1, y1) plus#_A((x1,y1),(x2,y2)) = (0, 0) s_A((x1,y1)) = (1, 2) nil_A = (1, 1) 0_A = (1, 1) strictly orients the following dependency pairs: app#(cons(x,l),k) -> app#(l,k) sum#(cons(x,cons(y,l))) -> sum#(cons(plus(x,y),l)) sum#(app(l,cons(x,cons(y,k)))) -> sum#(cons(x,cons(y,k))) We remove them from the set of dependency pairs. The weakly monotone algebra (N^2, >_lex) with sum#_A((x1,y1)) = (x1, y1) app_A((x1,y1),(x2,y2)) = (x1 + x2 + 1, y1 + 1) cons_A((x1,y1),(x2,y2)) = (x1 + x2 + 2, y1 + y2 + 1) sum_A((x1,y1)) = (x1, y1 + 1) plus#_A((x1,y1),(x2,y2)) = (x1, y1) s_A((x1,y1)) = (x1 + 1, 1) nil_A = (1, 1) plus_A((x1,y1),(x2,y2)) = (x1 + x2 + 1, 2) 0_A = (1, 1) strictly orients the following dependency pairs: plus#(s(x),y) -> plus#(x,y) We remove them from the set of dependency pairs. The weakly monotone algebra (N^2, >_lex) with sum#_A((x1,y1)) = (x1, y1) app_A((x1,y1),(x2,y2)) = (x1 + x2 + 1, 2) cons_A((x1,y1),(x2,y2)) = (x2 + 3, 2) sum_A((x1,y1)) = (5, 1) nil_A = (1, 1) plus_A((x1,y1),(x2,y2)) = (x2 + 2, 1) 0_A = (1, 1) s_A((x1,y1)) = (1, 2) strictly orients the following dependency pairs: sum#(app(l,cons(x,cons(y,k)))) -> sum#(app(l,sum(cons(x,cons(y,k))))) We remove them from the set of dependency pairs. No dependency pair remains.