MAYBE

Problem:
 a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
 mark(f(X1,X2)) -> a__f(mark(X1),X2)
 mark(g(X)) -> g(mark(X))
 a__f(X1,X2) -> f(X1,X2)

Proof:
 DP Processor:
  DPs:
   a__f#(g(X),Y) -> mark#(X)
   a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y))
   mark#(f(X1,X2)) -> mark#(X1)
   mark#(f(X1,X2)) -> a__f#(mark(X1),X2)
   mark#(g(X)) -> mark#(X)
  TRS:
   a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
   mark(f(X1,X2)) -> a__f(mark(X1),X2)
   mark(g(X)) -> g(mark(X))
   a__f(X1,X2) -> f(X1,X2)
  ADG Processor:
   DPs:
    a__f#(g(X),Y) -> mark#(X)
    a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y))
    mark#(f(X1,X2)) -> mark#(X1)
    mark#(f(X1,X2)) -> a__f#(mark(X1),X2)
    mark#(g(X)) -> mark#(X)
   TRS:
    a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
    mark(f(X1,X2)) -> a__f(mark(X1),X2)
    mark(g(X)) -> g(mark(X))
    a__f(X1,X2) -> f(X1,X2)
   graph:
    mark#(f(X1,X2)) -> mark#(X1) -> mark#(f(X1,X2)) -> mark#(X1)
    mark#(f(X1,X2)) -> mark#(X1) ->
    mark#(f(X1,X2)) -> a__f#(mark(X1),X2)
    mark#(f(X1,X2)) -> mark#(X1) -> mark#(g(X)) -> mark#(X)
    mark#(f(X1,X2)) -> a__f#(mark(X1),X2) ->
    a__f#(g(X),Y) -> mark#(X)
    mark#(f(X1,X2)) -> a__f#(mark(X1),X2) ->
    a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y))
    mark#(g(X)) -> mark#(X) -> mark#(f(X1,X2)) -> mark#(X1)
    mark#(g(X)) -> mark#(X) -> mark#(f(X1,X2)) -> a__f#(mark(X1),X2)
    mark#(g(X)) -> mark#(X) -> mark#(g(X)) -> mark#(X)
    a__f#(g(X),Y) -> mark#(X) -> mark#(f(X1,X2)) -> mark#(X1)
    a__f#(g(X),Y) -> mark#(X) -> mark#(f(X1,X2)) -> a__f#(mark(X1),X2)
    a__f#(g(X),Y) -> mark#(X) -> mark#(g(X)) -> mark#(X)
    a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y)) ->
    a__f#(g(X),Y) -> mark#(X)
    a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y)) -> a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y))
   SCC Processor:
    #sccs: 1
    #rules: 5
    #arcs: 13/25
    DPs:
     mark#(f(X1,X2)) -> mark#(X1)
     mark#(g(X)) -> mark#(X)
     mark#(f(X1,X2)) -> a__f#(mark(X1),X2)
     a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y))
     a__f#(g(X),Y) -> mark#(X)
    TRS:
     a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
     mark(f(X1,X2)) -> a__f(mark(X1),X2)
     mark(g(X)) -> g(mark(X))
     a__f(X1,X2) -> f(X1,X2)
    Open