YES

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

Proof:
 Matrix Interpretation Processor: dim=3
  
  interpretation:
             [1 0 0]  
   [g](x0) = [0 0 1]x0
             [1 0 1]  ,
   
                 [1 0 0]     [1 0 0]     [0]
   [.](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [1]
                 [0 0 1]     [0 0 1]     [0],
   
             [1 0 1]  
   [f](x0) = [1 0 1]x0
             [0 0 1]  ,
   
           [0]
   [nil] = [1]
           [1]
  orientation:
              [1]    [0]        
   f(nil()) = [1] >= [1] = nil()
              [1]    [1]        
   
                   [1 0 1]    [1]    [1 0 1]    [0]                
   f(.(nil(),y)) = [1 0 1]y + [1] >= [0 0 0]y + [1] = .(nil(),f(y))
                   [0 0 1]    [1]    [0 0 1]    [1]                
   
                    [1 0 1]    [1 0 1]    [1 0 1]     [1 0 1]    [1 0 1]    [1 0 1]                  
   f(.(.(x,y),z)) = [1 0 1]x + [1 0 1]y + [1 0 1]z >= [1 0 1]x + [1 0 1]y + [1 0 1]z = f(.(x,.(y,z)))
                    [0 0 1]    [0 0 1]    [0 0 1]     [0 0 1]    [0 0 1]    [0 0 1]                  
   
              [0]    [0]        
   g(nil()) = [1] >= [1] = nil()
              [1]    [1]        
   
                   [1 0 0]    [0]    [1 0 0]    [0]                
   g(.(x,nil())) = [0 0 1]x + [1] >= [0 0 0]x + [1] = .(g(x),nil())
                   [1 0 1]    [1]    [1 0 1]    [1]                
   
                    [1 0 0]    [1 0 0]    [1 0 0]     [1 0 0]    [1 0 0]    [1 0 0]                  
   g(.(x,.(y,z))) = [0 0 1]x + [0 0 1]y + [0 0 1]z >= [0 0 1]x + [0 0 1]y + [0 0 1]z = g(.(.(x,y),z))
                    [1 0 1]    [1 0 1]    [1 0 1]     [1 0 1]    [1 0 1]    [1 0 1]                  
  problem:
   f(.(.(x,y),z)) -> f(.(x,.(y,z)))
   g(nil()) -> nil()
   g(.(x,nil())) -> .(g(x),nil())
   g(.(x,.(y,z))) -> g(.(.(x,y),z))
  Matrix Interpretation Processor: dim=3
   
   interpretation:
              [1 0 0]     [1]
    [g](x0) = [0 0 0]x0 + [1]
              [0 0 0]     [0],
    
                  [1 0 0]     [1 0 0]     [0]
    [.](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [1]
                  [0 0 0]     [0 0 0]     [0],
    
              [1 1 0]  
    [f](x0) = [0 0 0]x0
              [0 0 0]  ,
    
            [0]
    [nil] = [0]
            [0]
   orientation:
                     [1 0 0]    [1 0 0]    [1 0 0]    [1]    [1 0 0]    [1 0 0]    [1 0 0]    [1]                 
    f(.(.(x,y),z)) = [0 0 0]x + [0 0 0]y + [0 0 0]z + [0] >= [0 0 0]x + [0 0 0]y + [0 0 0]z + [0] = f(.(x,.(y,z)))
                     [0 0 0]    [0 0 0]    [0 0 0]    [0]    [0 0 0]    [0 0 0]    [0 0 0]    [0]                 
    
               [1]    [0]        
    g(nil()) = [1] >= [0] = nil()
               [0]    [0]        
    
                    [1 0 0]    [1]    [1 0 0]    [1]                
    g(.(x,nil())) = [0 0 0]x + [1] >= [0 0 0]x + [1] = .(g(x),nil())
                    [0 0 0]    [0]    [0 0 0]    [0]                
    
                     [1 0 0]    [1 0 0]    [1 0 0]    [1]    [1 0 0]    [1 0 0]    [1 0 0]    [1]                 
    g(.(x,.(y,z))) = [0 0 0]x + [0 0 0]y + [0 0 0]z + [1] >= [0 0 0]x + [0 0 0]y + [0 0 0]z + [1] = g(.(.(x,y),z))
                     [0 0 0]    [0 0 0]    [0 0 0]    [0]    [0 0 0]    [0 0 0]    [0 0 0]    [0]                 
   problem:
    f(.(.(x,y),z)) -> f(.(x,.(y,z)))
    g(.(x,nil())) -> .(g(x),nil())
    g(.(x,.(y,z))) -> g(.(.(x,y),z))
   Matrix Interpretation Processor: dim=1
    
    interpretation:
     [g](x0) = 4x0 + 7,
     
     [.](x0, x1) = x0 + x1 + 2,
     
     [f](x0) = 2x0 + 1,
     
     [nil] = 3
    orientation:
     f(.(.(x,y),z)) = 2x + 2y + 2z + 9 >= 2x + 2y + 2z + 9 = f(.(x,.(y,z)))
     
     g(.(x,nil())) = 4x + 27 >= 4x + 12 = .(g(x),nil())
     
     g(.(x,.(y,z))) = 4x + 4y + 4z + 23 >= 4x + 4y + 4z + 23 = g(.(.(x,y),z))
    problem:
     f(.(.(x,y),z)) -> f(.(x,.(y,z)))
     g(.(x,.(y,z))) -> g(.(.(x,y),z))
    Matrix Interpretation Processor: dim=3
     
     interpretation:
                [1 1 0]  
      [g](x0) = [0 0 0]x0
                [0 0 0]  ,
      
                    [1 1 1]     [1 0 0]     [0]
      [.](x0, x1) = [0 0 0]x0 + [0 1 1]x1 + [0]
                    [0 0 0]     [0 0 0]     [1],
      
                [1 0 0]  
      [f](x0) = [1 1 0]x0
                [0 0 0]  
     orientation:
                       [1 1 1]    [1 1 1]    [1 0 0]    [1]    [1 1 1]    [1 1 1]    [1 0 0]    [0]                 
      f(.(.(x,y),z)) = [1 1 1]x + [1 1 1]y + [1 1 1]z + [1] >= [1 1 1]x + [1 1 1]y + [1 1 1]z + [1] = f(.(x,.(y,z)))
                       [0 0 0]    [0 0 0]    [0 0 0]    [0]    [0 0 0]    [0 0 0]    [0 0 0]    [0]                 
      
                       [1 1 1]    [1 1 1]    [1 1 1]    [1]    [1 1 1]    [1 1 1]    [1 1 1]    [1]                 
      g(.(x,.(y,z))) = [0 0 0]x + [0 0 0]y + [0 0 0]z + [0] >= [0 0 0]x + [0 0 0]y + [0 0 0]z + [0] = g(.(.(x,y),z))
                       [0 0 0]    [0 0 0]    [0 0 0]    [0]    [0 0 0]    [0 0 0]    [0 0 0]    [0]                 
     problem:
      g(.(x,.(y,z))) -> g(.(.(x,y),z))
     DP Processor:
      DPs:
       g#(.(x,.(y,z))) -> g#(.(.(x,y),z))
      TRS:
       g(.(x,.(y,z))) -> g(.(.(x,y),z))
      CDG Processor:
       DPs:
        g#(.(x,.(y,z))) -> g#(.(.(x,y),z))
       TRS:
        g(.(x,.(y,z))) -> g(.(.(x,y),z))
       graph:
        
       Qed