YES(?,PRIMREC) We are left with following problem, upon which TcT provides the certificate YES(?,PRIMREC). Strict Trs: { terms(N) -> cons(recip(sqr(N)), n__terms(s(N))) , terms(X) -> n__terms(X) , sqr(s(X)) -> s(add(sqr(X), dbl(X))) , sqr(0()) -> 0() , add(s(X), Y) -> s(add(X, Y)) , add(0(), X) -> X , dbl(s(X)) -> s(s(dbl(X))) , dbl(0()) -> 0() , first(X1, X2) -> n__first(X1, X2) , first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z))) , first(0(), X) -> nil() , activate(X) -> X , activate(n__terms(X)) -> terms(X) , activate(n__first(X1, X2)) -> first(X1, X2) } Obligation: innermost runtime complexity Answer: YES(?,PRIMREC) The input was oriented with the instance of'multiset path order' as induced by the precedence terms > cons, terms > recip, terms > sqr, terms > n__terms, terms > s, terms > add, terms > dbl, terms > n__first, recip > cons, recip > sqr, recip > s, recip > add, recip > dbl, sqr > cons, sqr > s, sqr > add, sqr > dbl, n__terms > cons, n__terms > sqr, n__terms > s, n__terms > add, n__terms > dbl, 0 > terms, 0 > cons, 0 > recip, 0 > sqr, 0 > n__terms, 0 > s, 0 > add, 0 > dbl, 0 > first, 0 > nil, 0 > n__first, 0 > activate, add > cons, add > s, dbl > cons, dbl > s, first > cons, first > recip, first > sqr, first > n__terms, first > s, first > add, first > dbl, first > n__first, nil > terms, nil > cons, nil > recip, nil > sqr, nil > n__terms, nil > s, nil > add, nil > dbl, nil > first, nil > n__first, nil > activate, n__first > cons, n__first > sqr, n__first > s, n__first > add, n__first > dbl, activate > cons, activate > recip, activate > sqr, activate > n__terms, activate > s, activate > add, activate > dbl, activate > n__first, terms ~ first, terms ~ activate, recip ~ n__terms, recip ~ n__first, n__terms ~ n__first, add ~ dbl, first ~ activate . Hurray, we answered YES(?,PRIMREC)