YES

We show the termination of the TRS R:

  fib(|0|()) -> |0|()
  fib(s(|0|())) -> s(|0|())
  fib(s(s(|0|()))) -> s(|0|())
  fib(s(s(x))) -> sp(g(x))
  g(|0|()) -> pair(s(|0|()),|0|())
  g(s(|0|())) -> pair(s(|0|()),s(|0|()))
  g(s(x)) -> np(g(x))
  sp(pair(x,y)) -> +(x,y)
  np(pair(x,y)) -> pair(+(x,y),x)
  +(x,|0|()) -> x
  +(x,s(y)) -> s(+(x,y))

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: fib#(s(s(x))) -> sp#(g(x))
p2: fib#(s(s(x))) -> g#(x)
p3: g#(s(x)) -> np#(g(x))
p4: g#(s(x)) -> g#(x)
p5: sp#(pair(x,y)) -> +#(x,y)
p6: np#(pair(x,y)) -> +#(x,y)
p7: +#(x,s(y)) -> +#(x,y)

and R consists of:

r1: fib(|0|()) -> |0|()
r2: fib(s(|0|())) -> s(|0|())
r3: fib(s(s(|0|()))) -> s(|0|())
r4: fib(s(s(x))) -> sp(g(x))
r5: g(|0|()) -> pair(s(|0|()),|0|())
r6: g(s(|0|())) -> pair(s(|0|()),s(|0|()))
r7: g(s(x)) -> np(g(x))
r8: sp(pair(x,y)) -> +(x,y)
r9: np(pair(x,y)) -> pair(+(x,y),x)
r10: +(x,|0|()) -> x
r11: +(x,s(y)) -> s(+(x,y))

The estimated dependency graph contains the following SCCs:

  {p4}
  {p7}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: g#(s(x)) -> g#(x)

and R consists of:

r1: fib(|0|()) -> |0|()
r2: fib(s(|0|())) -> s(|0|())
r3: fib(s(s(|0|()))) -> s(|0|())
r4: fib(s(s(x))) -> sp(g(x))
r5: g(|0|()) -> pair(s(|0|()),|0|())
r6: g(s(|0|())) -> pair(s(|0|()),s(|0|()))
r7: g(s(x)) -> np(g(x))
r8: sp(pair(x,y)) -> +(x,y)
r9: np(pair(x,y)) -> pair(+(x,y),x)
r10: +(x,|0|()) -> x
r11: +(x,s(y)) -> s(+(x,y))

The set of usable rules consists of

  (no rules)

Take the reduction pair:

  matrix interpretations:
  
    carrier: N^2
    order: lexicographic order
    interpretations:
      g#_A(x1) = ((0,0),(1,0)) x1
      s_A(x1) = ((1,0),(1,1)) x1 + (1,1)

The next rules are strictly ordered:

  p1

We remove them from the problem.  Then no dependency pair remains.

-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: +#(x,s(y)) -> +#(x,y)

and R consists of:

r1: fib(|0|()) -> |0|()
r2: fib(s(|0|())) -> s(|0|())
r3: fib(s(s(|0|()))) -> s(|0|())
r4: fib(s(s(x))) -> sp(g(x))
r5: g(|0|()) -> pair(s(|0|()),|0|())
r6: g(s(|0|())) -> pair(s(|0|()),s(|0|()))
r7: g(s(x)) -> np(g(x))
r8: sp(pair(x,y)) -> +(x,y)
r9: np(pair(x,y)) -> pair(+(x,y),x)
r10: +(x,|0|()) -> x
r11: +(x,s(y)) -> s(+(x,y))

The set of usable rules consists of

  (no rules)

Take the reduction pair:

  matrix interpretations:
  
    carrier: N^2
    order: lexicographic order
    interpretations:
      +#_A(x1,x2) = ((1,0),(1,0)) x2
      s_A(x1) = ((1,0),(1,1)) x1 + (1,1)

The next rules are strictly ordered:

  p1

We remove them from the problem.  Then no dependency pair remains.