YES

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

Proof:
 DP Processor:
  DPs:
   g#(f(x,y),z) -> g#(y,z)
   g#(h(x,y),z) -> g#(x,f(y,z))
   g#(x,h(y,z)) -> g#(x,y)
  TRS:
   g(f(x,y),z) -> f(x,g(y,z))
   g(h(x,y),z) -> g(x,f(y,z))
   g(x,h(y,z)) -> h(g(x,y),z)
  Usable Rule Processor:
   DPs:
    g#(f(x,y),z) -> g#(y,z)
    g#(h(x,y),z) -> g#(x,f(y,z))
    g#(x,h(y,z)) -> g#(x,y)
   TRS:
    
   Matrix Interpretation Processor: dim=4
    
    usable rules:
     
    interpretation:
     [g#](x0, x1) = [1 1 1 1]x0 + [1 1 0 1]x1,
     
                   [0 0 0 0]     [1 0 1 1]     [1]
                   [0 0 0 1]     [1 0 1 1]     [1]
     [h](x0, x1) = [0 0 0 0]x0 + [0 1 0 0]x1 + [1]
                   [1 1 1 0]     [0 1 1 1]     [0],
     
                   [0 1 1 1]     [0 0 0 0]     [1]
                   [0 0 1 1]     [0 0 0 0]     [1]
     [f](x0, x1) = [0 0 0 0]x0 + [0 1 1 1]x1 + [0]
                   [0 1 0 1]     [1 0 0 0]     [0]
    orientation:
     g#(f(x,y),z) = [0 2 2 3]x + [1 1 1 1]y + [1 1 0 1]z + [2] >= [1 1 1 1]y + [1 1 0 1]z = g#(y,z)
     
     g#(h(x,y),z) = [1 1 1 1]x + [2 2 3 3]y + [1 1 0 1]z + [3] >= [1 1 1 1]x + [0 2 2 3]y + [1 0 0 0]z + [2] = g#(x,f(y,z))
     
     g#(x,h(y,z)) = [1 1 1 1]x + [1 1 1 1]y + [2 1 3 3]z + [2] >= [1 1 1 1]x + [1 1 0 1]y = g#(x,y)
    problem:
     DPs:
      
     TRS:
      
    Qed