YES

Problem:
 ++(nil(),y) -> y
 ++(x,nil()) -> x
 ++(.(x,y),z) -> .(x,++(y,z))
 ++(++(x,y),z) -> ++(x,++(y,z))

Proof:
 DP Processor:
  DPs:
   ++#(.(x,y),z) -> ++#(y,z)
   ++#(++(x,y),z) -> ++#(y,z)
   ++#(++(x,y),z) -> ++#(x,++(y,z))
  TRS:
   ++(nil(),y) -> y
   ++(x,nil()) -> x
   ++(.(x,y),z) -> .(x,++(y,z))
   ++(++(x,y),z) -> ++(x,++(y,z))
  Matrix Interpretation Processor: dim=1
   
   interpretation:
    [++#](x0, x1) = x0,
    
    [.](x0, x1) = x1 + 1,
    
    [++](x0, x1) = 2x0 + x1 + 5,
    
    [nil] = 0
   orientation:
    ++#(.(x,y),z) = y + 1 >= y = ++#(y,z)
    
    ++#(++(x,y),z) = 2x + y + 5 >= y = ++#(y,z)
    
    ++#(++(x,y),z) = 2x + y + 5 >= x = ++#(x,++(y,z))
    
    ++(nil(),y) = y + 5 >= y = y
    
    ++(x,nil()) = 2x + 5 >= x = x
    
    ++(.(x,y),z) = 2y + z + 7 >= 2y + z + 6 = .(x,++(y,z))
    
    ++(++(x,y),z) = 4x + 2y + z + 15 >= 2x + 2y + z + 10 = ++(x,++(y,z))
   problem:
    DPs:
     
    TRS:
     ++(nil(),y) -> y
     ++(x,nil()) -> x
     ++(.(x,y),z) -> .(x,++(y,z))
     ++(++(x,y),z) -> ++(x,++(y,z))
   Qed