YES TRS: fib(0()) -> 0() fib(s(0())) -> s(0()) fib(s(s(0()))) -> s(0()) fib(s(s(x))) -> sp(g(x)) g(0()) -> pair(s(0()),0()) g(s(0())) -> pair(s(0()),s(0())) g(s(x)) -> np(g(x)) sp(pair(x,y)) -> +(x,y) np(pair(x,y)) -> pair(+(x,y),x) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) max/plus interpretations on N: fib_A(x1) = max{0, x1} fib#_A(x1) = max{0, x1} 0_A = 0 0#_A = 0 s_A(x1) = max{0, x1} s#_A(x1) = max{0, x1} sp_A(x1) = max{0, x1} sp#_A(x1) = max{0, x1} g_A(x1) = max{0, x1} g#_A(x1) = max{0, x1} pair_A(x1,x2) = max{0, x1, x2} pair#_A(x1,x2) = max{0, x1, x2} np_A(x1) = max{0, x1} np#_A(x1) = max{0, x1} +_A(x1,x2) = max{0, x1, x2} +#_A(x1,x2) = max{0, x1, x2} precedence: fib = 0 > g > sp = pair = np > + > s