YES(?,O(1)) We are left with following problem, upon which TcT provides the certificate YES(?,O(1)). Strict Trs: { main(Nil()) -> ParseFail(0()) , main(Cons(A(), Nil())) -> ParseFail(S(0())) , main(Cons(A(), Cons(A(), x112))) -> ParseFail(S(S(0()))) , main(Cons(A(), Cons(B(), Nil()))) -> ParseSuccess() , main(Cons(A(), Cons(B(), Cons(x120, x88)))) -> ParseFail(S(S(0()))) , main(Cons(A(), Cons(C(), x112))) -> ParseFail(S(S(0()))) , main(Cons(B(), x14)) -> ParseFail(S(0())) , main(Cons(C(), x14)) -> ParseFail(S(0())) } Obligation: innermost runtime complexity Answer: YES(?,O(1)) The input was oriented with the instance of 'Small Polynomial Path Order (PS)' as induced by the safe mapping safe(Nil) = {}, safe(main) = {1}, safe(0) = {}, safe(ParseFail) = {1}, safe(A) = {}, safe(Cons) = {1, 2}, safe(S) = {1}, safe(B) = {}, safe(ParseSuccess) = {}, safe(C) = {} and precedence empty . Following symbols are considered recursive: {} The recursion depth is 0. For your convenience, here are the satisfied ordering constraints: main(; Nil()) > ParseFail(; 0()) main(; Cons(; A(), Nil())) > ParseFail(; S(; 0())) main(; Cons(; A(), Cons(; A(), x112))) > ParseFail(; S(; S(; 0()))) main(; Cons(; A(), Cons(; B(), Nil()))) > ParseSuccess() main(; Cons(; A(), Cons(; B(), Cons(; x120, x88)))) > ParseFail(; S(; S(; 0()))) main(; Cons(; A(), Cons(; C(), x112))) > ParseFail(; S(; S(; 0()))) main(; Cons(; B(), x14)) > ParseFail(; S(; 0())) main(; Cons(; C(), x14)) > ParseFail(; S(; 0())) Hurray, we answered YES(?,O(1))