YES

Problem:
 f(0(),y) -> y
 f(x,0()) -> x
 f(i(x),y) -> i(x)
 f(f(x,y),z) -> f(x,f(y,z))
 f(g(x,y),z) -> g(f(x,z),f(y,z))
 f(1(),g(x,y)) -> x
 f(2(),g(x,y)) -> y

Proof:
 DP Processor:
  DPs:
   f#(f(x,y),z) -> f#(y,z)
   f#(f(x,y),z) -> f#(x,f(y,z))
   f#(g(x,y),z) -> f#(y,z)
   f#(g(x,y),z) -> f#(x,z)
  TRS:
   f(0(),y) -> y
   f(x,0()) -> x
   f(i(x),y) -> i(x)
   f(f(x,y),z) -> f(x,f(y,z))
   f(g(x,y),z) -> g(f(x,z),f(y,z))
   f(1(),g(x,y)) -> x
   f(2(),g(x,y)) -> y
  LPO Processor:
   argument filtering:
    pi(0) = []
    pi(f) = [0,1]
    pi(i) = 0
    pi(g) = [0,1]
    pi(1) = []
    pi(2) = []
    pi(f#) = 0
   precedence:
    f > f# ~ 2 ~ 1 ~ g ~ i ~ 0
   problem:
    DPs:
     
    TRS:
     f(0(),y) -> y
     f(x,0()) -> x
     f(i(x),y) -> i(x)
     f(f(x,y),z) -> f(x,f(y,z))
     f(g(x,y),z) -> g(f(x,z),f(y,z))
     f(1(),g(x,y)) -> x
     f(2(),g(x,y)) -> y
   Qed