YES TRS: fac(0()) -> 1() fac(s(x)) -> *(s(x),fac(x)) floop(0(),y) -> y floop(s(x),y) -> floop(x,*(s(x),y)) *(x,0()) -> 0() *(x,s(y)) -> +(*(x,y),x) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) 1() -> s(0()) fac(0()) -> s(0()) max/plus interpretations on N: fac_A(x1) = max{0, x1} fac#_A(x1) = max{0, x1} 0_A = 0 0#_A = 0 1_A = 0 1#_A = 0 s_A(x1) = max{0, x1} s#_A(x1) = max{0, x1} *_A(x1,x2) = max{0, x1, x2} *#_A(x1,x2) = max{0, x1, x2} floop_A(x1,x2) = max{0, x1, x2} floop#_A(x1,x2) = max{0, x1, x2} +_A(x1,x2) = max{0, x1, x2} +#_A(x1,x2) = max{0, x1, x2} precedence: fac = 1 > 0 = floop > * > + > s