YES
Time: 0.006052
TRS:
 {  f f x -> f g(f x, x),
    f f x -> f h(f x, f x),
  g(x, y) -> y,
  h(x, x) -> g(x, 0())}
 DP:
  DP:
   {  f# f x -> f# g(f x, x),
      f# f x -> f# h(f x, f x),
      f# f x -> g#(f x, x),
      f# f x -> h#(f x, f x),
    h#(x, x) -> g#(x, 0())}
  TRS:
  {  f f x -> f g(f x, x),
     f f x -> f h(f x, f x),
   g(x, y) -> y,
   h(x, x) -> g(x, 0())}
  EDG:
   {(f# f x -> f# h(f x, f x), f# f x -> h#(f x, f x))
    (f# f x -> f# h(f x, f x), f# f x -> g#(f x, x))
    (f# f x -> f# h(f x, f x), f# f x -> f# h(f x, f x))
    (f# f x -> f# h(f x, f x), f# f x -> f# g(f x, x))
    (f# f x -> h#(f x, f x), h#(x, x) -> g#(x, 0()))
    (f# f x -> f# g(f x, x), f# f x -> f# g(f x, x))
    (f# f x -> f# g(f x, x), f# f x -> f# h(f x, f x))
    (f# f x -> f# g(f x, x), f# f x -> g#(f x, x))
    (f# f x -> f# g(f x, x), f# f x -> h#(f x, f x))}
   SCCS (1):
    Scc:
     {f# f x -> f# g(f x, x),
      f# f x -> f# h(f x, f x)}
    SCC (2):
     Strict:
      {f# f x -> f# g(f x, x),
       f# f x -> f# h(f x, f x)}
     Weak:
     {  f f x -> f g(f x, x),
        f f x -> f h(f x, f x),
      g(x, y) -> y,
      h(x, x) -> g(x, 0())}
     POLY:
      Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true
      Interpretation:
       [g](x0, x1) = x0,
       
       [h](x0, x1) = 0,
       
       [f](x0) = x0 + 1,
       
       [0] = 0,
       
       [f#](x0) = x0
      Strict:
       f# f x -> f# h(f x, f x)
       1 + 1x >= 0 + 0x
       f# f x -> f# g(f x, x)
       1 + 1x >= 0 + 1x
      Weak:
       
     Qed