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)) sum(plus(cons(0,x),cons(y,l))) -> pred(sum(cons(s(x),cons(y,l)))) pred(cons(s(x),nil)) -> cons(x,nil) 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) sum#(plus(cons(0,x),cons(y,l))) -> pred#(sum(cons(s(x),cons(y,l)))) sum#(plus(cons(0,x),cons(y,l))) -> sum#(cons(s(x),cons(y,l))) 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)) sum(plus(cons(0,x),cons(y,l))) -> pred(sum(cons(s(x),cons(y,l)))) pred(cons(s(x),nil)) -> cons(x,nil) cons(x,cons(y,l)) -> cons(y,cons(x,l)) The weakly monotone algebra (N, >) with app#_A(x1,x2) = x2 cons_A(x1,x2) = 1 sum#_A(x1) = x1 plus_A(x1,x2) = x2 + 1 plus#_A(x1,x2) = 0 app_A(x1,x2) = x1 + x2 + 1 sum_A(x1) = 1 s_A(x1) = 1 0_A = 1 pred#_A(x1) = 0 nil_A = 1 pred_A(x1) = 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)))) sum#(app(l,cons(x,cons(y,k)))) -> sum#(cons(x,cons(y,k))) sum#(plus(cons(0,x),cons(y,l))) -> pred#(sum(cons(s(x),cons(y,l)))) sum#(plus(cons(0,x),cons(y,l))) -> sum#(cons(s(x),cons(y,l))) We remove them from the set of dependency pairs. The weakly monotone algebra (N, >) with app#_A(x1,x2) = x1 cons_A(x1,x2) = x2 + 1 sum#_A(x1) = x1 plus_A(x1,x2) = x1 + x2 + 1 app_A(x1,x2) = x1 + x2 + 1 sum_A(x1) = x1 plus#_A(x1,x2) = 0 s_A(x1) = 1 nil_A = 1 0_A = 1 pred_A(x1) = 2 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)) We remove them from the set of dependency pairs. The weakly monotone algebra (N, >) with sum#_A(x1) = x1 app_A(x1,x2) = x1 + x2 + 1 cons_A(x1,x2) = 1 sum_A(x1) = 1 plus#_A(x1,x2) = x1 s_A(x1) = x1 + 1 nil_A = 1 plus_A(x1,x2) = x1 + x2 0_A = 1 pred_A(x1) = 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, >) with sum#_A(x1) = x1 app_A(x1,x2) = x1 + x2 + 1 cons_A(x1,x2) = x2 + 2 sum_A(x1) = 3 nil_A = 1 plus_A(x1,x2) = x2 + 1 0_A = 1 s_A(x1) = 1 pred_A(x1) = 3 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.