YES TRS: +(x,0()) -> x +(0(),x) -> x +(s(x),s(y)) -> s(s(+(x,y))) +(+(x,y),z) -> +(x,+(y,z)) *(x,0()) -> 0() *(0(),x) -> 0() *(s(x),s(y)) -> s(+(*(x,y),+(x,y))) *(*(x,y),z) -> *(x,*(y,z)) app(nil(),l) -> l app(cons(x,l1),l2) -> cons(x,app(l1,l2)) sum(nil()) -> 0() sum(cons(x,l)) -> +(x,sum(l)) sum(app(l1,l2)) -> +(sum(l1),sum(l2)) prod(nil()) -> s(0()) prod(cons(x,l)) -> *(x,prod(l)) prod(app(l1,l2)) -> *(prod(l1),prod(l2)) max/plus interpretations on N: +_A(x1,x2) = max{9, 2 + x1, x2} +#_A(x1,x2) = max{9, 9, 7} 0_A = 7 0#_A = 8 s_A(x1) = max{7, -1} s#_A(x1) = max{0, 0} *_A(x1,x2) = max{7, 6, -1} *#_A(x1,x2) = max{9, 1, 6} app_A(x1,x2) = max{10, 9 + x1, 1 + x2} app#_A(x1,x2) = max{4, 11, 5} nil_A = 1 nil#_A = 9 cons_A(x1,x2) = max{1, 10 + x1, x2} cons#_A(x1,x2) = max{3, 8, 3} sum_A(x1) = max{7, -1 + x1} sum#_A(x1) = max{9, 7} prod_A(x1) = max{7, 6} prod#_A(x1) = max{10, 2} precedence: app > cons > sum = prod > * = nil > + = 0 > s