MAYBE

Problem:
 active(g(X)) -> mark(h(X))
 active(c()) -> mark(d())
 active(h(d())) -> mark(g(c()))
 proper(g(X)) -> g(proper(X))
 proper(h(X)) -> h(proper(X))
 proper(c()) -> ok(c())
 proper(d()) -> ok(d())
 g(ok(X)) -> ok(g(X))
 h(ok(X)) -> ok(h(X))
 top(mark(X)) -> top(proper(X))
 top(ok(X)) -> top(active(X))

Proof:
 DP Processor:
  DPs:
   active#(g(X)) -> h#(X)
   active#(h(d())) -> g#(c())
   proper#(g(X)) -> proper#(X)
   proper#(g(X)) -> g#(proper(X))
   proper#(h(X)) -> proper#(X)
   proper#(h(X)) -> h#(proper(X))
   g#(ok(X)) -> g#(X)
   h#(ok(X)) -> h#(X)
   top#(mark(X)) -> proper#(X)
   top#(mark(X)) -> top#(proper(X))
   top#(ok(X)) -> active#(X)
   top#(ok(X)) -> top#(active(X))
  TRS:
   active(g(X)) -> mark(h(X))
   active(c()) -> mark(d())
   active(h(d())) -> mark(g(c()))
   proper(g(X)) -> g(proper(X))
   proper(h(X)) -> h(proper(X))
   proper(c()) -> ok(c())
   proper(d()) -> ok(d())
   g(ok(X)) -> ok(g(X))
   h(ok(X)) -> ok(h(X))
   top(mark(X)) -> top(proper(X))
   top(ok(X)) -> top(active(X))
  CDG Processor:
   DPs:
    active#(g(X)) -> h#(X)
    active#(h(d())) -> g#(c())
    proper#(g(X)) -> proper#(X)
    proper#(g(X)) -> g#(proper(X))
    proper#(h(X)) -> proper#(X)
    proper#(h(X)) -> h#(proper(X))
    g#(ok(X)) -> g#(X)
    h#(ok(X)) -> h#(X)
    top#(mark(X)) -> proper#(X)
    top#(mark(X)) -> top#(proper(X))
    top#(ok(X)) -> active#(X)
    top#(ok(X)) -> top#(active(X))
   TRS:
    active(g(X)) -> mark(h(X))
    active(c()) -> mark(d())
    active(h(d())) -> mark(g(c()))
    proper(g(X)) -> g(proper(X))
    proper(h(X)) -> h(proper(X))
    proper(c()) -> ok(c())
    proper(d()) -> ok(d())
    g(ok(X)) -> ok(g(X))
    h(ok(X)) -> ok(h(X))
    top(mark(X)) -> top(proper(X))
    top(ok(X)) -> top(active(X))
   graph:
    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)) -> active#(X) -> active#(g(X)) -> h#(X)
    top#(ok(X)) -> active#(X) -> active#(h(d())) -> g#(c())
    top#(mark(X)) -> top#(proper(X)) -> top#(ok(X)) -> active#(X)
    top#(mark(X)) -> top#(proper(X)) -> top#(ok(X)) -> top#(active(X))
    top#(mark(X)) -> proper#(X) -> proper#(g(X)) -> proper#(X)
    top#(mark(X)) -> proper#(X) -> proper#(g(X)) -> g#(proper(X))
    top#(mark(X)) -> proper#(X) -> proper#(h(X)) -> proper#(X)
    top#(mark(X)) -> proper#(X) -> proper#(h(X)) -> h#(proper(X))
    proper#(h(X)) -> proper#(X) -> proper#(g(X)) -> proper#(X)
    proper#(h(X)) -> proper#(X) -> proper#(g(X)) -> g#(proper(X))
    proper#(h(X)) -> proper#(X) -> proper#(h(X)) -> proper#(X)
    proper#(h(X)) -> proper#(X) -> proper#(h(X)) -> h#(proper(X))
    proper#(h(X)) -> h#(proper(X)) -> h#(ok(X)) -> h#(X)
    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#(h(X)) -> proper#(X)
    proper#(g(X)) -> proper#(X) -> proper#(h(X)) -> h#(proper(X))
    proper#(g(X)) -> g#(proper(X)) -> g#(ok(X)) -> g#(X)
    g#(ok(X)) -> g#(X) -> g#(ok(X)) -> g#(X)
    h#(ok(X)) -> h#(X) -> h#(ok(X)) -> h#(X)
    active#(g(X)) -> h#(X) -> h#(ok(X)) -> h#(X)
   SCC Processor:
    #sccs: 4
    #rules: 6
    #arcs: 23/144
    DPs:
     top#(ok(X)) -> top#(active(X))
     top#(mark(X)) -> top#(proper(X))
    TRS:
     active(g(X)) -> mark(h(X))
     active(c()) -> mark(d())
     active(h(d())) -> mark(g(c()))
     proper(g(X)) -> g(proper(X))
     proper(h(X)) -> h(proper(X))
     proper(c()) -> ok(c())
     proper(d()) -> ok(d())
     g(ok(X)) -> ok(g(X))
     h(ok(X)) -> ok(h(X))
     top(mark(X)) -> top(proper(X))
     top(ok(X)) -> top(active(X))
    Open
    
    DPs:
     proper#(h(X)) -> proper#(X)
     proper#(g(X)) -> proper#(X)
    TRS:
     active(g(X)) -> mark(h(X))
     active(c()) -> mark(d())
     active(h(d())) -> mark(g(c()))
     proper(g(X)) -> g(proper(X))
     proper(h(X)) -> h(proper(X))
     proper(c()) -> ok(c())
     proper(d()) -> ok(d())
     g(ok(X)) -> ok(g(X))
     h(ok(X)) -> ok(h(X))
     top(mark(X)) -> top(proper(X))
     top(ok(X)) -> top(active(X))
    Matrix Interpretation Processor:
     dimension: 1
     interpretation:
      [proper#](x0) = x0 + 1,
      
      [top](x0) = 0,
      
      [ok](x0) = x0 + 1,
      
      [proper](x0) = x0 + 1,
      
      [d] = 0,
      
      [c] = 1,
      
      [mark](x0) = 0,
      
      [h](x0) = x0 + 1,
      
      [active](x0) = 0,
      
      [g](x0) = x0 + 1
     orientation:
      proper#(h(X)) = X + 2 >= X + 1 = proper#(X)
      
      proper#(g(X)) = X + 2 >= X + 1 = proper#(X)
      
      active(g(X)) = 0 >= 0 = mark(h(X))
      
      active(c()) = 0 >= 0 = mark(d())
      
      active(h(d())) = 0 >= 0 = mark(g(c()))
      
      proper(g(X)) = X + 2 >= X + 2 = g(proper(X))
      
      proper(h(X)) = X + 2 >= X + 2 = h(proper(X))
      
      proper(c()) = 2 >= 2 = ok(c())
      
      proper(d()) = 1 >= 1 = ok(d())
      
      g(ok(X)) = X + 2 >= X + 2 = ok(g(X))
      
      h(ok(X)) = X + 2 >= X + 2 = ok(h(X))
      
      top(mark(X)) = 0 >= 0 = top(proper(X))
      
      top(ok(X)) = 0 >= 0 = top(active(X))
     problem:
      DPs:
       
      TRS:
       active(g(X)) -> mark(h(X))
       active(c()) -> mark(d())
       active(h(d())) -> mark(g(c()))
       proper(g(X)) -> g(proper(X))
       proper(h(X)) -> h(proper(X))
       proper(c()) -> ok(c())
       proper(d()) -> ok(d())
       g(ok(X)) -> ok(g(X))
       h(ok(X)) -> ok(h(X))
       top(mark(X)) -> top(proper(X))
       top(ok(X)) -> top(active(X))
     Qed
    
    DPs:
     g#(ok(X)) -> g#(X)
    TRS:
     active(g(X)) -> mark(h(X))
     active(c()) -> mark(d())
     active(h(d())) -> mark(g(c()))
     proper(g(X)) -> g(proper(X))
     proper(h(X)) -> h(proper(X))
     proper(c()) -> ok(c())
     proper(d()) -> ok(d())
     g(ok(X)) -> ok(g(X))
     h(ok(X)) -> ok(h(X))
     top(mark(X)) -> top(proper(X))
     top(ok(X)) -> top(active(X))
    Matrix Interpretation Processor:
     dimension: 1
     interpretation:
      [g#](x0) = x0 + 1,
      
      [top](x0) = 1,
      
      [ok](x0) = x0 + 1,
      
      [proper](x0) = x0 + 1,
      
      [d] = 1,
      
      [c] = 1,
      
      [mark](x0) = 0,
      
      [h](x0) = x0,
      
      [active](x0) = 0,
      
      [g](x0) = x0
     orientation:
      g#(ok(X)) = X + 2 >= X + 1 = g#(X)
      
      active(g(X)) = 0 >= 0 = mark(h(X))
      
      active(c()) = 0 >= 0 = mark(d())
      
      active(h(d())) = 0 >= 0 = mark(g(c()))
      
      proper(g(X)) = X + 1 >= X + 1 = g(proper(X))
      
      proper(h(X)) = X + 1 >= X + 1 = h(proper(X))
      
      proper(c()) = 2 >= 2 = ok(c())
      
      proper(d()) = 2 >= 2 = ok(d())
      
      g(ok(X)) = X + 1 >= X + 1 = ok(g(X))
      
      h(ok(X)) = X + 1 >= X + 1 = ok(h(X))
      
      top(mark(X)) = 1 >= 1 = top(proper(X))
      
      top(ok(X)) = 1 >= 1 = top(active(X))
     problem:
      DPs:
       
      TRS:
       active(g(X)) -> mark(h(X))
       active(c()) -> mark(d())
       active(h(d())) -> mark(g(c()))
       proper(g(X)) -> g(proper(X))
       proper(h(X)) -> h(proper(X))
       proper(c()) -> ok(c())
       proper(d()) -> ok(d())
       g(ok(X)) -> ok(g(X))
       h(ok(X)) -> ok(h(X))
       top(mark(X)) -> top(proper(X))
       top(ok(X)) -> top(active(X))
     Qed
    
    DPs:
     h#(ok(X)) -> h#(X)
    TRS:
     active(g(X)) -> mark(h(X))
     active(c()) -> mark(d())
     active(h(d())) -> mark(g(c()))
     proper(g(X)) -> g(proper(X))
     proper(h(X)) -> h(proper(X))
     proper(c()) -> ok(c())
     proper(d()) -> ok(d())
     g(ok(X)) -> ok(g(X))
     h(ok(X)) -> ok(h(X))
     top(mark(X)) -> top(proper(X))
     top(ok(X)) -> top(active(X))
    Matrix Interpretation Processor:
     dimension: 1
     interpretation:
      [h#](x0) = x0 + 1,
      
      [top](x0) = 1,
      
      [ok](x0) = x0 + 1,
      
      [proper](x0) = x0 + 1,
      
      [d] = 1,
      
      [c] = 1,
      
      [mark](x0) = 0,
      
      [h](x0) = x0,
      
      [active](x0) = 0,
      
      [g](x0) = x0
     orientation:
      h#(ok(X)) = X + 2 >= X + 1 = h#(X)
      
      active(g(X)) = 0 >= 0 = mark(h(X))
      
      active(c()) = 0 >= 0 = mark(d())
      
      active(h(d())) = 0 >= 0 = mark(g(c()))
      
      proper(g(X)) = X + 1 >= X + 1 = g(proper(X))
      
      proper(h(X)) = X + 1 >= X + 1 = h(proper(X))
      
      proper(c()) = 2 >= 2 = ok(c())
      
      proper(d()) = 2 >= 2 = ok(d())
      
      g(ok(X)) = X + 1 >= X + 1 = ok(g(X))
      
      h(ok(X)) = X + 1 >= X + 1 = ok(h(X))
      
      top(mark(X)) = 1 >= 1 = top(proper(X))
      
      top(ok(X)) = 1 >= 1 = top(active(X))
     problem:
      DPs:
       
      TRS:
       active(g(X)) -> mark(h(X))
       active(c()) -> mark(d())
       active(h(d())) -> mark(g(c()))
       proper(g(X)) -> g(proper(X))
       proper(h(X)) -> h(proper(X))
       proper(c()) -> ok(c())
       proper(d()) -> ok(d())
       g(ok(X)) -> ok(g(X))
       h(ok(X)) -> ok(h(X))
       top(mark(X)) -> top(proper(X))
       top(ok(X)) -> top(active(X))
     Qed