YES
Time: 0.114746
TRS:
 {           g h2(x, y, h1(z, u)) -> h2(s x, y, h1(z, u)),
                   f(x, h1(y, z)) -> h2(0(), x, h1(y, z)),
                    f(j(x, y), y) -> g f(x, k y),
                       k h1(x, y) -> h1(s x, y),
                            k h x -> h1(0(), x),
  h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s x, y, h1(s z, u)),
                      i f(x, h y) -> y,
           i h2(s x, y, h1(x, z)) -> z}
 DP:
  DP:
   {           g# h2(x, y, h1(z, u)) -> h2#(s x, y, h1(z, u)),
                     f#(x, h1(y, z)) -> h2#(0(), x, h1(y, z)),
                      f#(j(x, y), y) -> g# f(x, k y),
                      f#(j(x, y), y) -> f#(x, k y),
                      f#(j(x, y), y) -> k# y,
    h2#(x, j(y, h1(z, u)), h1(z, u)) -> h2#(s x, y, h1(s z, u))}
  TRS:
  {           g h2(x, y, h1(z, u)) -> h2(s x, y, h1(z, u)),
                    f(x, h1(y, z)) -> h2(0(), x, h1(y, z)),
                     f(j(x, y), y) -> g f(x, k y),
                        k h1(x, y) -> h1(s x, y),
                             k h x -> h1(0(), x),
   h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s x, y, h1(s z, u)),
                       i f(x, h y) -> y,
            i h2(s x, y, h1(x, z)) -> z}
  UR:
   {           g h2(x, y, h1(z, u)) -> h2(s x, y, h1(z, u)),
                     f(x, h1(y, z)) -> h2(0(), x, h1(y, z)),
                      f(j(x, y), y) -> g f(x, k y),
                         k h1(x, y) -> h1(s x, y),
                              k h x -> h1(0(), x),
    h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s x, y, h1(s z, u))}
   EDG:
    {(g# h2(x, y, h1(z, u)) -> h2#(s x, y, h1(z, u)), h2#(x, j(y, h1(z, u)), h1(z, u)) -> h2#(s x, y, h1(s z, u)))
     (h2#(x, j(y, h1(z, u)), h1(z, u)) -> h2#(s x, y, h1(s z, u)), h2#(x, j(y, h1(z, u)), h1(z, u)) -> h2#(s x, y, h1(s z, u)))
     (f#(j(x, y), y) -> g# f(x, k y), g# h2(x, y, h1(z, u)) -> h2#(s x, y, h1(z, u)))
     (f#(j(x, y), y) -> f#(x, k y), f#(x, h1(y, z)) -> h2#(0(), x, h1(y, z)))
     (f#(j(x, y), y) -> f#(x, k y), f#(j(x, y), y) -> g# f(x, k y))
     (f#(j(x, y), y) -> f#(x, k y), f#(j(x, y), y) -> f#(x, k y))
     (f#(j(x, y), y) -> f#(x, k y), f#(j(x, y), y) -> k# y)
     (f#(x, h1(y, z)) -> h2#(0(), x, h1(y, z)), h2#(x, j(y, h1(z, u)), h1(z, u)) -> h2#(s x, y, h1(s z, u)))}
    STATUS:
     arrows: 0.777778
     SCCS (2):
      Scc:
       {f#(j(x, y), y) -> f#(x, k y)}
      Scc:
       {h2#(x, j(y, h1(z, u)), h1(z, u)) -> h2#(s x, y, h1(s z, u))}
      
      SCC (1):
       Strict:
        {f#(j(x, y), y) -> f#(x, k y)}
       Weak:
       {           g h2(x, y, h1(z, u)) -> h2(s x, y, h1(z, u)),
                         f(x, h1(y, z)) -> h2(0(), x, h1(y, z)),
                          f(j(x, y), y) -> g f(x, k y),
                             k h1(x, y) -> h1(s x, y),
                                  k h x -> h1(0(), x),
        h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s x, y, h1(s z, u)),
                            i f(x, h y) -> y,
                 i h2(s x, y, h1(x, z)) -> z}
       POLY:
        Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true
        Interpretation:
         [h2](x0, x1, x2) = x0 + x1 + 1,
         
         [f](x0, x1) = x0 + x1 + 1,
         
         [j](x0, x1) = x0 + x1 + 1,
         
         [h1](x0, x1) = x0 + 1,
         
         [g](x0) = 0,
         
         [k](x0) = 1,
         
         [s](x0) = 1,
         
         [i](x0) = 0,
         
         [h](x0) = 0,
         
         [0] = 0,
         
         [f#](x0, x1) = x0 + 1
        Strict:
         f#(j(x, y), y) -> f#(x, k y)
         2 + 1x + 1y >= 1 + 1x + 0y
        Weak:
         i h2(s x, y, h1(x, z)) -> z
         0 + 0x + 0y + 0z >= 1z
         i f(x, h y) -> y
         0 + 0x + 0y >= 1y
         h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s x, y, h1(s z, u))
         2 + 1x + 0y + 1z + 0u >= 4 + 0x + 0y + 0z + 0u
         k h x -> h1(0(), x)
         1 + 0x >= 1 + 0x
         k h1(x, y) -> h1(s x, y)
         1 + 0x + 0y >= 2 + 0x + 0y
         f(j(x, y), y) -> g f(x, k y)
         2 + 1x + 2y >= 0 + 0x + 0y
         f(x, h1(y, z)) -> h2(0(), x, h1(y, z))
         2 + 1x + 1y + 0z >= 2 + 0x + 1y + 0z
         g h2(x, y, h1(z, u)) -> h2(s x, y, h1(z, u))
         0 + 0x + 0y + 0z + 0u >= 3 + 0x + 0y + 1z + 0u
       Qed
     
     
     
     SCC (1):
      Strict:
       {h2#(x, j(y, h1(z, u)), h1(z, u)) -> h2#(s x, y, h1(s z, u))}
      Weak:
      {           g h2(x, y, h1(z, u)) -> h2(s x, y, h1(z, u)),
                        f(x, h1(y, z)) -> h2(0(), x, h1(y, z)),
                         f(j(x, y), y) -> g f(x, k y),
                            k h1(x, y) -> h1(s x, y),
                                 k h x -> h1(0(), x),
       h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s x, y, h1(s z, u)),
                           i f(x, h y) -> y,
                i h2(s x, y, h1(x, z)) -> z}
      POLY:
       Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true
       Interpretation:
        [h2](x0, x1, x2) = x0 + x1 + 1,
        
        [f](x0, x1) = x0 + x1 + 1,
        
        [j](x0, x1) = x0 + x1 + 1,
        
        [h1](x0, x1) = x0 + 1,
        
        [g](x0) = 0,
        
        [k](x0) = 1,
        
        [s](x0) = 1,
        
        [i](x0) = 0,
        
        [h](x0) = 1,
        
        [0] = 1,
        
        [h2#](x0, x1, x2) = x0
       Strict:
        h2#(x, j(y, h1(z, u)), h1(z, u)) -> h2#(s x, y, h1(s z, u))
        2 + 0x + 1y + 1z + 0u >= 0 + 0x + 1y + 0z + 0u
       Weak:
        i h2(s x, y, h1(x, z)) -> z
        0 + 0x + 0y + 0z >= 1z
        i f(x, h y) -> y
        0 + 0x + 0y >= 1y
        h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s x, y, h1(s z, u))
        2 + 1x + 0y + 1z + 0u >= 4 + 0x + 0y + 0z + 0u
        k h x -> h1(0(), x)
        1 + 0x >= 2 + 0x
        k h1(x, y) -> h1(s x, y)
        1 + 0x + 0y >= 2 + 0x + 0y
        f(j(x, y), y) -> g f(x, k y)
        2 + 1x + 2y >= 0 + 0x + 0y
        f(x, h1(y, z)) -> h2(0(), x, h1(y, z))
        2 + 1x + 1y + 0z >= 3 + 0x + 1y + 0z
        g h2(x, y, h1(z, u)) -> h2(s x, y, h1(z, u))
        0 + 0x + 0y + 0z + 0u >= 3 + 0x + 0y + 1z + 0u
      Qed