YES

Problem:
 cond(true(),x,y,z) -> cond(and(gr(x,z),gr(y,z)),p(x),p(y),z)
 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,z) -> p#(y)
   cond#(true(),x,y,z) -> p#(x)
   cond#(true(),x,y,z) -> gr#(y,z)
   cond#(true(),x,y,z) -> gr#(x,z)
   cond#(true(),x,y,z) -> and#(gr(x,z),gr(y,z))
   cond#(true(),x,y,z) -> cond#(and(gr(x,z),gr(y,z)),p(x),p(y),z)
   gr#(s(x),s(y)) -> gr#(x,y)
  TRS:
   cond(true(),x,y,z) -> cond(and(gr(x,z),gr(y,z)),p(x),p(y),z)
   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
  Matrix Interpretation Processor: dim=1
   
   interpretation:
    [and#](x0, x1) = 1/2,
    
    [gr#](x0, x1) = x1,
    
    [p#](x0) = 0,
    
    [cond#](x0, x1, x2, x3) = x0 + 2x1 + x3,
    
    [s](x0) = 2x0 + 1,
    
    [0] = 0,
    
    [false] = 0,
    
    [p](x0) = 1/2x0,
    
    [and](x0, x1) = x0,
    
    [gr](x0, x1) = x0,
    
    [cond](x0, x1, x2, x3) = 3x1 + 1/2,
    
    [true] = 1
   orientation:
    cond#(true(),x,y,z) = 2x + z + 1 >= 0 = p#(y)
    
    cond#(true(),x,y,z) = 2x + z + 1 >= 0 = p#(x)
    
    cond#(true(),x,y,z) = 2x + z + 1 >= z = gr#(y,z)
    
    cond#(true(),x,y,z) = 2x + z + 1 >= z = gr#(x,z)
    
    cond#(true(),x,y,z) = 2x + z + 1 >= 1/2 = and#(gr(x,z),gr(y,z))
    
    cond#(true(),x,y,z) = 2x + z + 1 >= 2x + z = cond#(and(gr(x,z),gr(y,z)),p(x),p(y),z)
    
    gr#(s(x),s(y)) = 2y + 1 >= y = gr#(x,y)
    
    cond(true(),x,y,z) = 3x + 1/2 >= 3/2x + 1/2 = cond(and(gr(x,z),gr(y,z)),p(x),p(y),z)
    
    and(true(),true()) = 1 >= 1 = true()
    
    and(x,false()) = x >= 0 = false()
    
    and(false(),x) = 0 >= 0 = false()
    
    gr(0(),0()) = 0 >= 0 = false()
    
    gr(0(),x) = 0 >= 0 = false()
    
    gr(s(x),0()) = 2x + 1 >= 1 = true()
    
    gr(s(x),s(y)) = 2x + 1 >= x = gr(x,y)
    
    p(0()) = 0 >= 0 = 0()
    
    p(s(x)) = x + 1/2 >= x = x
   problem:
    DPs:
     
    TRS:
     cond(true(),x,y,z) -> cond(and(gr(x,z),gr(y,z)),p(x),p(y),z)
     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
   Qed