MAYBE

Problem:
 cond(true(),x,y) -> cond(and(gr(x,0()),gr(y,0())),p(x),p(y))
 and(true(),true()) -> true()
 and(x,false()) -> false()
 and(false(),x) -> false()
 gr(0(),0()) -> false()
 gr(0(),x) -> false()
 gr(s(x),0()) -> true()
 gr(s(x),s(y)) -> gr(x,y)
 p(0()) -> 0()
 p(s(x)) -> x

Proof:
 DP Processor:
  DPs:
   cond#(true(),x,y) -> p#(y)
   cond#(true(),x,y) -> p#(x)
   cond#(true(),x,y) -> gr#(y,0())
   cond#(true(),x,y) -> gr#(x,0())
   cond#(true(),x,y) -> and#(gr(x,0()),gr(y,0()))
   cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y))
   gr#(s(x),s(y)) -> gr#(x,y)
  TRS:
   cond(true(),x,y) -> cond(and(gr(x,0()),gr(y,0())),p(x),p(y))
   and(true(),true()) -> true()
   and(x,false()) -> false()
   and(false(),x) -> false()
   gr(0(),0()) -> false()
   gr(0(),x) -> false()
   gr(s(x),0()) -> true()
   gr(s(x),s(y)) -> gr(x,y)
   p(0()) -> 0()
   p(s(x)) -> x
  Usable Rule Processor:
   DPs:
    cond#(true(),x,y) -> p#(y)
    cond#(true(),x,y) -> p#(x)
    cond#(true(),x,y) -> gr#(y,0())
    cond#(true(),x,y) -> gr#(x,0())
    cond#(true(),x,y) -> and#(gr(x,0()),gr(y,0()))
    cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y))
    gr#(s(x),s(y)) -> gr#(x,y)
   TRS:
    f12(x,y) -> x
    f12(x,y) -> y
    gr(0(),0()) -> false()
    gr(0(),x) -> false()
    gr(s(x),0()) -> true()
    p(0()) -> 0()
    p(s(x)) -> x
    and(true(),true()) -> true()
    and(x,false()) -> false()
    and(false(),x) -> false()
   EDG Processor:
    DPs:
     cond#(true(),x,y) -> p#(y)
     cond#(true(),x,y) -> p#(x)
     cond#(true(),x,y) -> gr#(y,0())
     cond#(true(),x,y) -> gr#(x,0())
     cond#(true(),x,y) -> and#(gr(x,0()),gr(y,0()))
     cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y))
     gr#(s(x),s(y)) -> gr#(x,y)
    TRS:
     f12(x,y) -> x
     f12(x,y) -> y
     gr(0(),0()) -> false()
     gr(0(),x) -> false()
     gr(s(x),0()) -> true()
     p(0()) -> 0()
     p(s(x)) -> x
     and(true(),true()) -> true()
     and(x,false()) -> false()
     and(false(),x) -> false()
    graph:
     gr#(s(x),s(y)) -> gr#(x,y) ->
     gr#(s(x),s(y)) -> gr#(x,y)
     cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ->
     cond#(true(),x,y) -> p#(y)
     cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ->
     cond#(true(),x,y) -> p#(x)
     cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ->
     cond#(true(),x,y) -> gr#(y,0())
     cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ->
     cond#(true(),x,y) -> gr#(x,0())
     cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ->
     cond#(true(),x,y) -> and#(gr(x,0()),gr(y,0()))
     cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ->
     cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y))
    Restore Modifier:
     DPs:
      cond#(true(),x,y) -> p#(y)
      cond#(true(),x,y) -> p#(x)
      cond#(true(),x,y) -> gr#(y,0())
      cond#(true(),x,y) -> gr#(x,0())
      cond#(true(),x,y) -> and#(gr(x,0()),gr(y,0()))
      cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y))
      gr#(s(x),s(y)) -> gr#(x,y)
     TRS:
      cond(true(),x,y) -> cond(and(gr(x,0()),gr(y,0())),p(x),p(y))
      and(true(),true()) -> true()
      and(x,false()) -> false()
      and(false(),x) -> false()
      gr(0(),0()) -> false()
      gr(0(),x) -> false()
      gr(s(x),0()) -> true()
      gr(s(x),s(y)) -> gr(x,y)
      p(0()) -> 0()
      p(s(x)) -> x
     SCC Processor:
      #sccs: 2
      #rules: 2
      #arcs: 7/49
      DPs:
       cond#(true(),x,y) -> cond#(and(gr(x,0()),gr(y,0())),p(x),p(y))
      TRS:
       cond(true(),x,y) -> cond(and(gr(x,0()),gr(y,0())),p(x),p(y))
       and(true(),true()) -> true()
       and(x,false()) -> false()
       and(false(),x) -> false()
       gr(0(),0()) -> false()
       gr(0(),x) -> false()
       gr(s(x),0()) -> true()
       gr(s(x),s(y)) -> gr(x,y)
       p(0()) -> 0()
       p(s(x)) -> x
      Open
      
      DPs:
       gr#(s(x),s(y)) -> gr#(x,y)
      TRS:
       cond(true(),x,y) -> cond(and(gr(x,0()),gr(y,0())),p(x),p(y))
       and(true(),true()) -> true()
       and(x,false()) -> false()
       and(false(),x) -> false()
       gr(0(),0()) -> false()
       gr(0(),x) -> false()
       gr(s(x),0()) -> true()
       gr(s(x),s(y)) -> gr(x,y)
       p(0()) -> 0()
       p(s(x)) -> x
      Open