We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict Trs: { list(Cons(x, xs)) -> list(xs) , list(Nil()) -> True() , list(Nil()) -> isEmpty[Match](Nil()) , notEmpty(Cons(x, xs)) -> True() , notEmpty(Nil()) -> False() , goal(x) -> list(x) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) The input was oriented with the instance of 'Small Polynomial Path Order (PS,1-bounded)' as induced by the safe mapping safe(list) = {}, safe(Cons) = {1, 2}, safe(Nil) = {}, safe(True) = {}, safe(isEmpty[Match]) = {1}, safe(notEmpty) = {}, safe(False) = {}, safe(goal) = {} and precedence goal > list . Following symbols are considered recursive: {list} The recursion depth is 1. For your convenience, here are the satisfied ordering constraints: list(Cons(; x, xs);) > list(xs;) list(Nil();) > True() list(Nil();) > isEmpty[Match](; Nil()) notEmpty(Cons(; x, xs);) > True() notEmpty(Nil();) > False() goal(x;) > list(x;) Hurray, we answered YES(?,O(n^1))