MAYBE

Problem:
 cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z)
 cond2(true(),x,y,z) -> cond1(gr(add(x,y),z),p(x),y,z)
 cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z)
 cond3(true(),x,y,z) -> cond1(gr(add(x,y),z),x,p(y),z)
 cond3(false(),x,y,z) -> cond1(gr(add(x,y),z),x,y,z)
 gr(0(),x) -> false()
 gr(s(x),0()) -> true()
 gr(s(x),s(y)) -> gr(x,y)
 add(0(),x) -> x
 add(s(x),y) -> s(add(x,y))
 p(0()) -> 0()
 p(s(x)) -> x

Proof:
 DP Processor:
  DPs:
   cond1#(true(),x,y,z) -> gr#(x,0())
   cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z)
   cond2#(true(),x,y,z) -> p#(x)
   cond2#(true(),x,y,z) -> add#(x,y)
   cond2#(true(),x,y,z) -> gr#(add(x,y),z)
   cond2#(true(),x,y,z) -> cond1#(gr(add(x,y),z),p(x),y,z)
   cond2#(false(),x,y,z) -> gr#(y,0())
   cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z)
   cond3#(true(),x,y,z) -> p#(y)
   cond3#(true(),x,y,z) -> add#(x,y)
   cond3#(true(),x,y,z) -> gr#(add(x,y),z)
   cond3#(true(),x,y,z) -> cond1#(gr(add(x,y),z),x,p(y),z)
   cond3#(false(),x,y,z) -> add#(x,y)
   cond3#(false(),x,y,z) -> gr#(add(x,y),z)
   cond3#(false(),x,y,z) -> cond1#(gr(add(x,y),z),x,y,z)
   gr#(s(x),s(y)) -> gr#(x,y)
   add#(s(x),y) -> add#(x,y)
  TRS:
   cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z)
   cond2(true(),x,y,z) -> cond1(gr(add(x,y),z),p(x),y,z)
   cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z)
   cond3(true(),x,y,z) -> cond1(gr(add(x,y),z),x,p(y),z)
   cond3(false(),x,y,z) -> cond1(gr(add(x,y),z),x,y,z)
   gr(0(),x) -> false()
   gr(s(x),0()) -> true()
   gr(s(x),s(y)) -> gr(x,y)
   add(0(),x) -> x
   add(s(x),y) -> s(add(x,y))
   p(0()) -> 0()
   p(s(x)) -> x
  TDG Processor:
   DPs:
    cond1#(true(),x,y,z) -> gr#(x,0())
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z)
    cond2#(true(),x,y,z) -> p#(x)
    cond2#(true(),x,y,z) -> add#(x,y)
    cond2#(true(),x,y,z) -> gr#(add(x,y),z)
    cond2#(true(),x,y,z) -> cond1#(gr(add(x,y),z),p(x),y,z)
    cond2#(false(),x,y,z) -> gr#(y,0())
    cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z)
    cond3#(true(),x,y,z) -> p#(y)
    cond3#(true(),x,y,z) -> add#(x,y)
    cond3#(true(),x,y,z) -> gr#(add(x,y),z)
    cond3#(true(),x,y,z) -> cond1#(gr(add(x,y),z),x,p(y),z)
    cond3#(false(),x,y,z) -> add#(x,y)
    cond3#(false(),x,y,z) -> gr#(add(x,y),z)
    cond3#(false(),x,y,z) -> cond1#(gr(add(x,y),z),x,y,z)
    gr#(s(x),s(y)) -> gr#(x,y)
    add#(s(x),y) -> add#(x,y)
   TRS:
    cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z)
    cond2(true(),x,y,z) -> cond1(gr(add(x,y),z),p(x),y,z)
    cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z)
    cond3(true(),x,y,z) -> cond1(gr(add(x,y),z),x,p(y),z)
    cond3(false(),x,y,z) -> cond1(gr(add(x,y),z),x,y,z)
    gr(0(),x) -> false()
    gr(s(x),0()) -> true()
    gr(s(x),s(y)) -> gr(x,y)
    add(0(),x) -> x
    add(s(x),y) -> s(add(x,y))
    p(0()) -> 0()
    p(s(x)) -> x
   graph:
    cond3#(false(),x,y,z) -> add#(x,y) ->
    add#(s(x),y) -> add#(x,y)
    cond3#(false(),x,y,z) -> gr#(add(x,y),z) ->
    gr#(s(x),s(y)) -> gr#(x,y)
    cond3#(false(),x,y,z) -> cond1#(gr(add(x,y),z),x,y,z) ->
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z)
    cond3#(false(),x,y,z) -> cond1#(gr(add(x,y),z),x,y,z) ->
    cond1#(true(),x,y,z) -> gr#(x,0())
    cond3#(true(),x,y,z) -> add#(x,y) ->
    add#(s(x),y) -> add#(x,y)
    cond3#(true(),x,y,z) -> gr#(add(x,y),z) ->
    gr#(s(x),s(y)) -> gr#(x,y)
    cond3#(true(),x,y,z) -> cond1#(gr(add(x,y),z),x,p(y),z) ->
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z)
    cond3#(true(),x,y,z) -> cond1#(gr(add(x,y),z),x,p(y),z) ->
    cond1#(true(),x,y,z) -> gr#(x,0())
    add#(s(x),y) -> add#(x,y) ->
    add#(s(x),y) -> add#(x,y)
    cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) ->
    cond3#(false(),x,y,z) -> cond1#(gr(add(x,y),z),x,y,z)
    cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) ->
    cond3#(false(),x,y,z) -> gr#(add(x,y),z)
    cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) ->
    cond3#(false(),x,y,z) -> add#(x,y)
    cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) ->
    cond3#(true(),x,y,z) -> cond1#(gr(add(x,y),z),x,p(y),z)
    cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) ->
    cond3#(true(),x,y,z) -> gr#(add(x,y),z)
    cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) ->
    cond3#(true(),x,y,z) -> add#(x,y)
    cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) ->
    cond3#(true(),x,y,z) -> p#(y)
    cond2#(false(),x,y,z) -> gr#(y,0()) ->
    gr#(s(x),s(y)) -> gr#(x,y)
    cond2#(true(),x,y,z) -> add#(x,y) ->
    add#(s(x),y) -> add#(x,y)
    cond2#(true(),x,y,z) -> gr#(add(x,y),z) ->
    gr#(s(x),s(y)) -> gr#(x,y)
    cond2#(true(),x,y,z) -> cond1#(gr(add(x,y),z),p(x),y,z) ->
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z)
    cond2#(true(),x,y,z) -> cond1#(gr(add(x,y),z),p(x),y,z) ->
    cond1#(true(),x,y,z) -> gr#(x,0())
    gr#(s(x),s(y)) -> gr#(x,y) ->
    gr#(s(x),s(y)) -> gr#(x,y)
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) ->
    cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z)
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) ->
    cond2#(false(),x,y,z) -> gr#(y,0())
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) ->
    cond2#(true(),x,y,z) -> cond1#(gr(add(x,y),z),p(x),y,z)
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) ->
    cond2#(true(),x,y,z) -> gr#(add(x,y),z)
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) ->
    cond2#(true(),x,y,z) -> add#(x,y)
    cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) ->
    cond2#(true(),x,y,z) -> p#(x)
    cond1#(true(),x,y,z) -> gr#(x,0()) -> gr#(s(x),s(y)) -> gr#(x,y)
   SCC Processor:
    #sccs: 3
    #rules: 7
    #arcs: 29/289
    DPs:
     cond3#(false(),x,y,z) -> cond1#(gr(add(x,y),z),x,y,z)
     cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z)
     cond2#(true(),x,y,z) -> cond1#(gr(add(x,y),z),p(x),y,z)
     cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z)
     cond3#(true(),x,y,z) -> cond1#(gr(add(x,y),z),x,p(y),z)
    TRS:
     cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z)
     cond2(true(),x,y,z) -> cond1(gr(add(x,y),z),p(x),y,z)
     cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z)
     cond3(true(),x,y,z) -> cond1(gr(add(x,y),z),x,p(y),z)
     cond3(false(),x,y,z) -> cond1(gr(add(x,y),z),x,y,z)
     gr(0(),x) -> false()
     gr(s(x),0()) -> true()
     gr(s(x),s(y)) -> gr(x,y)
     add(0(),x) -> x
     add(s(x),y) -> s(add(x,y))
     p(0()) -> 0()
     p(s(x)) -> x
    Open
    
    DPs:
     gr#(s(x),s(y)) -> gr#(x,y)
    TRS:
     cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z)
     cond2(true(),x,y,z) -> cond1(gr(add(x,y),z),p(x),y,z)
     cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z)
     cond3(true(),x,y,z) -> cond1(gr(add(x,y),z),x,p(y),z)
     cond3(false(),x,y,z) -> cond1(gr(add(x,y),z),x,y,z)
     gr(0(),x) -> false()
     gr(s(x),0()) -> true()
     gr(s(x),s(y)) -> gr(x,y)
     add(0(),x) -> x
     add(s(x),y) -> s(add(x,y))
     p(0()) -> 0()
     p(s(x)) -> x
    Subterm Criterion Processor:
     simple projection:
      pi(gr#) = 1
     problem:
      DPs:
       
      TRS:
       cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z)
       cond2(true(),x,y,z) -> cond1(gr(add(x,y),z),p(x),y,z)
       cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z)
       cond3(true(),x,y,z) -> cond1(gr(add(x,y),z),x,p(y),z)
       cond3(false(),x,y,z) -> cond1(gr(add(x,y),z),x,y,z)
       gr(0(),x) -> false()
       gr(s(x),0()) -> true()
       gr(s(x),s(y)) -> gr(x,y)
       add(0(),x) -> x
       add(s(x),y) -> s(add(x,y))
       p(0()) -> 0()
       p(s(x)) -> x
     Qed
    
    DPs:
     add#(s(x),y) -> add#(x,y)
    TRS:
     cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z)
     cond2(true(),x,y,z) -> cond1(gr(add(x,y),z),p(x),y,z)
     cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z)
     cond3(true(),x,y,z) -> cond1(gr(add(x,y),z),x,p(y),z)
     cond3(false(),x,y,z) -> cond1(gr(add(x,y),z),x,y,z)
     gr(0(),x) -> false()
     gr(s(x),0()) -> true()
     gr(s(x),s(y)) -> gr(x,y)
     add(0(),x) -> x
     add(s(x),y) -> s(add(x,y))
     p(0()) -> 0()
     p(s(x)) -> x
    Subterm Criterion Processor:
     simple projection:
      pi(add#) = 0
     problem:
      DPs:
       
      TRS:
       cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z)
       cond2(true(),x,y,z) -> cond1(gr(add(x,y),z),p(x),y,z)
       cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z)
       cond3(true(),x,y,z) -> cond1(gr(add(x,y),z),x,p(y),z)
       cond3(false(),x,y,z) -> cond1(gr(add(x,y),z),x,y,z)
       gr(0(),x) -> false()
       gr(s(x),0()) -> true()
       gr(s(x),s(y)) -> gr(x,y)
       add(0(),x) -> x
       add(s(x),y) -> s(add(x,y))
       p(0()) -> 0()
       p(s(x)) -> x
     Qed