MAYBE
TRS:
 {         f(ok(X)) -> ok(f(X)),
         g(mark(X)) -> mark(g(X)),
           g(ok(X)) -> ok(g(X)),
  active(f(f(a()))) -> mark(f(g(f(a())))),
       active(g(X)) -> g(active(X)),
       proper(f(X)) -> f(proper(X)),
       proper(g(X)) -> g(proper(X)),
        proper(a()) -> ok(a()),
       top(mark(X)) -> top(proper(X)),
         top(ok(X)) -> top(active(X))}
 DP:
  Strict:
   {         f#(ok(X)) -> f#(X),
           g#(mark(X)) -> g#(X),
             g#(ok(X)) -> g#(X),
    active#(f(f(a()))) -> f#(g(f(a()))),
    active#(f(f(a()))) -> g#(f(a())),
         active#(g(X)) -> g#(active(X)),
         active#(g(X)) -> active#(X),
         proper#(f(X)) -> f#(proper(X)),
         proper#(f(X)) -> proper#(X),
         proper#(g(X)) -> g#(proper(X)),
         proper#(g(X)) -> proper#(X),
         top#(mark(X)) -> proper#(X),
         top#(mark(X)) -> top#(proper(X)),
           top#(ok(X)) -> active#(X),
           top#(ok(X)) -> top#(active(X))}
  Weak:
  {         f(ok(X)) -> ok(f(X)),
          g(mark(X)) -> mark(g(X)),
            g(ok(X)) -> ok(g(X)),
   active(f(f(a()))) -> mark(f(g(f(a())))),
        active(g(X)) -> g(active(X)),
        proper(f(X)) -> f(proper(X)),
        proper(g(X)) -> g(proper(X)),
         proper(a()) -> ok(a()),
        top(mark(X)) -> top(proper(X)),
          top(ok(X)) -> top(active(X))}
  EDG:
   {(g#(mark(X)) -> g#(X), g#(ok(X)) -> g#(X))
    (g#(mark(X)) -> g#(X), g#(mark(X)) -> g#(X))
    (active#(g(X)) -> active#(X), active#(g(X)) -> active#(X))
    (active#(g(X)) -> active#(X), active#(g(X)) -> g#(active(X)))
    (active#(g(X)) -> active#(X), active#(f(f(a()))) -> g#(f(a())))
    (active#(g(X)) -> active#(X), active#(f(f(a()))) -> f#(g(f(a()))))
    (proper#(g(X)) -> proper#(X), proper#(g(X)) -> proper#(X))
    (proper#(g(X)) -> proper#(X), proper#(g(X)) -> g#(proper(X)))
    (proper#(g(X)) -> proper#(X), proper#(f(X)) -> proper#(X))
    (proper#(g(X)) -> proper#(X), proper#(f(X)) -> f#(proper(X)))
    (top#(ok(X)) -> active#(X), active#(g(X)) -> active#(X))
    (top#(ok(X)) -> active#(X), active#(g(X)) -> g#(active(X)))
    (top#(ok(X)) -> active#(X), active#(f(f(a()))) -> g#(f(a())))
    (top#(ok(X)) -> active#(X), active#(f(f(a()))) -> f#(g(f(a()))))
    (proper#(f(X)) -> f#(proper(X)), f#(ok(X)) -> f#(X))
    (top#(mark(X)) -> top#(proper(X)), top#(ok(X)) -> top#(active(X)))
    (top#(mark(X)) -> top#(proper(X)), top#(ok(X)) -> active#(X))
    (top#(mark(X)) -> top#(proper(X)), top#(mark(X)) -> top#(proper(X)))
    (top#(mark(X)) -> top#(proper(X)), top#(mark(X)) -> proper#(X))
    (top#(ok(X)) -> top#(active(X)), top#(mark(X)) -> proper#(X))
    (top#(ok(X)) -> top#(active(X)), top#(mark(X)) -> top#(proper(X)))
    (top#(ok(X)) -> top#(active(X)), top#(ok(X)) -> active#(X))
    (top#(ok(X)) -> top#(active(X)), top#(ok(X)) -> top#(active(X)))
    (proper#(g(X)) -> g#(proper(X)), g#(mark(X)) -> g#(X))
    (proper#(g(X)) -> g#(proper(X)), g#(ok(X)) -> g#(X))
    (active#(g(X)) -> g#(active(X)), g#(mark(X)) -> g#(X))
    (active#(g(X)) -> g#(active(X)), g#(ok(X)) -> g#(X))
    (top#(mark(X)) -> proper#(X), proper#(f(X)) -> f#(proper(X)))
    (top#(mark(X)) -> proper#(X), proper#(f(X)) -> proper#(X))
    (top#(mark(X)) -> proper#(X), proper#(g(X)) -> g#(proper(X)))
    (top#(mark(X)) -> proper#(X), proper#(g(X)) -> proper#(X))
    (proper#(f(X)) -> proper#(X), proper#(f(X)) -> f#(proper(X)))
    (proper#(f(X)) -> proper#(X), proper#(f(X)) -> proper#(X))
    (proper#(f(X)) -> proper#(X), proper#(g(X)) -> g#(proper(X)))
    (proper#(f(X)) -> proper#(X), proper#(g(X)) -> proper#(X))
    (g#(ok(X)) -> g#(X), g#(mark(X)) -> g#(X))
    (g#(ok(X)) -> g#(X), g#(ok(X)) -> g#(X))
    (f#(ok(X)) -> f#(X), f#(ok(X)) -> f#(X))}
   SCCS:
    Scc:
     {top#(mark(X)) -> top#(proper(X)),
        top#(ok(X)) -> top#(active(X))}
    Scc:
     {proper#(f(X)) -> proper#(X),
      proper#(g(X)) -> proper#(X)}
    Scc:
     {active#(g(X)) -> active#(X)}
    Scc:
     {g#(mark(X)) -> g#(X),
        g#(ok(X)) -> g#(X)}
    Scc:
     {f#(ok(X)) -> f#(X)}
    SCC:
     Strict:
      {top#(mark(X)) -> top#(proper(X)),
         top#(ok(X)) -> top#(active(X))}
     Weak:
     {         f(ok(X)) -> ok(f(X)),
             g(mark(X)) -> mark(g(X)),
               g(ok(X)) -> ok(g(X)),
      active(f(f(a()))) -> mark(f(g(f(a())))),
           active(g(X)) -> g(active(X)),
           proper(f(X)) -> f(proper(X)),
           proper(g(X)) -> g(proper(X)),
            proper(a()) -> ok(a()),
           top(mark(X)) -> top(proper(X)),
             top(ok(X)) -> top(active(X))}
     Fail
    SCC:
     Strict:
      {proper#(f(X)) -> proper#(X),
       proper#(g(X)) -> proper#(X)}
     Weak:
     {         f(ok(X)) -> ok(f(X)),
             g(mark(X)) -> mark(g(X)),
               g(ok(X)) -> ok(g(X)),
      active(f(f(a()))) -> mark(f(g(f(a())))),
           active(g(X)) -> g(active(X)),
           proper(f(X)) -> f(proper(X)),
           proper(g(X)) -> g(proper(X)),
            proper(a()) -> ok(a()),
           top(mark(X)) -> top(proper(X)),
             top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(proper#) = 0
      Strict:
       {proper#(g(X)) -> proper#(X)}
      EDG:
       {(proper#(g(X)) -> proper#(X), proper#(g(X)) -> proper#(X))}
       SCCS:
        Scc:
         {proper#(g(X)) -> proper#(X)}
        SCC:
         Strict:
          {proper#(g(X)) -> proper#(X)}
         Weak:
         {         f(ok(X)) -> ok(f(X)),
                 g(mark(X)) -> mark(g(X)),
                   g(ok(X)) -> ok(g(X)),
          active(f(f(a()))) -> mark(f(g(f(a())))),
               active(g(X)) -> g(active(X)),
               proper(f(X)) -> f(proper(X)),
               proper(g(X)) -> g(proper(X)),
                proper(a()) -> ok(a()),
               top(mark(X)) -> top(proper(X)),
                 top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(proper#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {active#(g(X)) -> active#(X)}
     Weak:
     {         f(ok(X)) -> ok(f(X)),
             g(mark(X)) -> mark(g(X)),
               g(ok(X)) -> ok(g(X)),
      active(f(f(a()))) -> mark(f(g(f(a())))),
           active(g(X)) -> g(active(X)),
           proper(f(X)) -> f(proper(X)),
           proper(g(X)) -> g(proper(X)),
            proper(a()) -> ok(a()),
           top(mark(X)) -> top(proper(X)),
             top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(active#) = 0
      Strict:
       {}
      Qed
    SCC:
     Strict:
      {g#(mark(X)) -> g#(X),
         g#(ok(X)) -> g#(X)}
     Weak:
     {         f(ok(X)) -> ok(f(X)),
             g(mark(X)) -> mark(g(X)),
               g(ok(X)) -> ok(g(X)),
      active(f(f(a()))) -> mark(f(g(f(a())))),
           active(g(X)) -> g(active(X)),
           proper(f(X)) -> f(proper(X)),
           proper(g(X)) -> g(proper(X)),
            proper(a()) -> ok(a()),
           top(mark(X)) -> top(proper(X)),
             top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(g#) = 0
      Strict:
       {g#(ok(X)) -> g#(X)}
      EDG:
       {(g#(ok(X)) -> g#(X), g#(ok(X)) -> g#(X))}
       SCCS:
        Scc:
         {g#(ok(X)) -> g#(X)}
        SCC:
         Strict:
          {g#(ok(X)) -> g#(X)}
         Weak:
         {         f(ok(X)) -> ok(f(X)),
                 g(mark(X)) -> mark(g(X)),
                   g(ok(X)) -> ok(g(X)),
          active(f(f(a()))) -> mark(f(g(f(a())))),
               active(g(X)) -> g(active(X)),
               proper(f(X)) -> f(proper(X)),
               proper(g(X)) -> g(proper(X)),
                proper(a()) -> ok(a()),
               top(mark(X)) -> top(proper(X)),
                 top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(g#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {f#(ok(X)) -> f#(X)}
     Weak:
     {         f(ok(X)) -> ok(f(X)),
             g(mark(X)) -> mark(g(X)),
               g(ok(X)) -> ok(g(X)),
      active(f(f(a()))) -> mark(f(g(f(a())))),
           active(g(X)) -> g(active(X)),
           proper(f(X)) -> f(proper(X)),
           proper(g(X)) -> g(proper(X)),
            proper(a()) -> ok(a()),
           top(mark(X)) -> top(proper(X)),
             top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(f#) = 0
      Strict:
       {}
      Qed