We are left with following problem, upon which TcT provides the
certificate YES(?,O(n^1)).

Strict Trs:
  { active(f(X)) -> f(active(X))
  , active(f(f(a()))) -> mark(c(f(g(f(a())))))
  , active(g(X)) -> g(active(X))
  , f(mark(X)) -> mark(f(X))
  , f(ok(X)) -> ok(f(X))
  , c(ok(X)) -> ok(c(X))
  , g(mark(X)) -> mark(g(X))
  , g(ok(X)) -> ok(g(X))
  , proper(f(X)) -> f(proper(X))
  , proper(a()) -> ok(a())
  , proper(c(X)) -> c(proper(X))
  , proper(g(X)) -> g(proper(X))
  , top(mark(X)) -> top(proper(X))
  , top(ok(X)) -> top(active(X)) }
Obligation:
  runtime complexity
Answer:
  YES(?,O(n^1))

The problem is match-bounded by 2. The enriched problem is
compatible with the following automaton.
{ active_0(2) -> 1
, active_1(2) -> 4
, active_2(2) -> 6
, active_2(3) -> 5
, f_0(2) -> 1
, f_1(2) -> 3
, f_2(6) -> 5
, a_0() -> 2
, a_1() -> 3
, mark_0(2) -> 2
, mark_1(3) -> 1
, mark_1(3) -> 3
, c_0(2) -> 1
, c_1(2) -> 3
, g_0(2) -> 1
, g_1(2) -> 3
, g_2(6) -> 5
, proper_0(2) -> 1
, proper_1(2) -> 4
, ok_0(2) -> 2
, ok_1(3) -> 1
, ok_1(3) -> 3
, ok_1(3) -> 4
, top_0(2) -> 1
, top_1(4) -> 1
, top_2(5) -> 1 }

Hurray, we answered YES(?,O(n^1))