MAYBE

Problem:
 nonZero(0()) -> false()
 nonZero(s(x)) -> true()
 p(s(0())) -> 0()
 p(s(s(x))) -> s(p(s(x)))
 id_inc(x) -> x
 id_inc(x) -> s(x)
 random(x) -> rand(x,0())
 rand(x,y) -> if(nonZero(x),x,y)
 if(false(),x,y) -> y
 if(true(),x,y) -> rand(p(x),id_inc(y))

Proof:
 DP Processor:
  DPs:
   p#(s(s(x))) -> p#(s(x))
   random#(x) -> rand#(x,0())
   rand#(x,y) -> nonZero#(x)
   rand#(x,y) -> if#(nonZero(x),x,y)
   if#(true(),x,y) -> id_inc#(y)
   if#(true(),x,y) -> p#(x)
   if#(true(),x,y) -> rand#(p(x),id_inc(y))
  TRS:
   nonZero(0()) -> false()
   nonZero(s(x)) -> true()
   p(s(0())) -> 0()
   p(s(s(x))) -> s(p(s(x)))
   id_inc(x) -> x
   id_inc(x) -> s(x)
   random(x) -> rand(x,0())
   rand(x,y) -> if(nonZero(x),x,y)
   if(false(),x,y) -> y
   if(true(),x,y) -> rand(p(x),id_inc(y))
  TDG Processor:
   DPs:
    p#(s(s(x))) -> p#(s(x))
    random#(x) -> rand#(x,0())
    rand#(x,y) -> nonZero#(x)
    rand#(x,y) -> if#(nonZero(x),x,y)
    if#(true(),x,y) -> id_inc#(y)
    if#(true(),x,y) -> p#(x)
    if#(true(),x,y) -> rand#(p(x),id_inc(y))
   TRS:
    nonZero(0()) -> false()
    nonZero(s(x)) -> true()
    p(s(0())) -> 0()
    p(s(s(x))) -> s(p(s(x)))
    id_inc(x) -> x
    id_inc(x) -> s(x)
    random(x) -> rand(x,0())
    rand(x,y) -> if(nonZero(x),x,y)
    if(false(),x,y) -> y
    if(true(),x,y) -> rand(p(x),id_inc(y))
   graph:
    if#(true(),x,y) -> rand#(p(x),id_inc(y)) ->
    rand#(x,y) -> if#(nonZero(x),x,y)
    if#(true(),x,y) -> rand#(p(x),id_inc(y)) -> rand#(x,y) -> nonZero#(x)
    if#(true(),x,y) -> p#(x) -> p#(s(s(x))) -> p#(s(x))
    rand#(x,y) -> if#(nonZero(x),x,y) ->
    if#(true(),x,y) -> rand#(p(x),id_inc(y))
    rand#(x,y) -> if#(nonZero(x),x,y) -> if#(true(),x,y) -> p#(x)
    rand#(x,y) -> if#(nonZero(x),x,y) -> if#(true(),x,y) -> id_inc#(y)
    random#(x) -> rand#(x,0()) -> rand#(x,y) -> if#(nonZero(x),x,y)
    random#(x) -> rand#(x,0()) -> rand#(x,y) -> nonZero#(x)
    p#(s(s(x))) -> p#(s(x)) -> p#(s(s(x))) -> p#(s(x))
   SCC Processor:
    #sccs: 2
    #rules: 3
    #arcs: 9/49
    DPs:
     if#(true(),x,y) -> rand#(p(x),id_inc(y))
     rand#(x,y) -> if#(nonZero(x),x,y)
    TRS:
     nonZero(0()) -> false()
     nonZero(s(x)) -> true()
     p(s(0())) -> 0()
     p(s(s(x))) -> s(p(s(x)))
     id_inc(x) -> x
     id_inc(x) -> s(x)
     random(x) -> rand(x,0())
     rand(x,y) -> if(nonZero(x),x,y)
     if(false(),x,y) -> y
     if(true(),x,y) -> rand(p(x),id_inc(y))
    Open
    
    DPs:
     p#(s(s(x))) -> p#(s(x))
    TRS:
     nonZero(0()) -> false()
     nonZero(s(x)) -> true()
     p(s(0())) -> 0()
     p(s(s(x))) -> s(p(s(x)))
     id_inc(x) -> x
     id_inc(x) -> s(x)
     random(x) -> rand(x,0())
     rand(x,y) -> if(nonZero(x),x,y)
     if(false(),x,y) -> y
     if(true(),x,y) -> rand(p(x),id_inc(y))
    Open