YES TRS: fib(N) -> sel(N,fib1(s(0()),s(0()))) fib1(X,Y) -> cons(X,n__fib1(Y,add(X,Y))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,activate(XS)) fib1(X1,X2) -> n__fib1(X1,X2) activate(n__fib1(X1,X2)) -> fib1(X1,X2) activate(X) -> X max/plus interpretations on N: fib_A(x1) = max{0, x1} fib#_A(x1) = max{0, x1} sel_A(x1,x2) = max{0, x1, x2} sel#_A(x1,x2) = max{0, x1, x2} fib1_A(x1,x2) = max{0, x1, x2} fib1#_A(x1,x2) = max{0, x1, x2} s_A(x1) = max{0, x1} s#_A(x1) = max{0, x1} 0_A = 0 0#_A = 0 cons_A(x1,x2) = max{0, x1, x2} cons#_A(x1,x2) = max{0, x1, x2} n__fib1_A(x1,x2) = max{0, x1, x2} n__fib1#_A(x1,x2) = max{0, x1, x2} add_A(x1,x2) = max{0, x1, x2} add#_A(x1,x2) = max{0, x1, x2} activate_A(x1) = max{0, x1} activate#_A(x1) = max{0, x1} precedence: fib = 0 > sel > activate > fib1 > cons = n__fib1 = add > s