YES

We show the termination of the TRS R:

  terms(N) -> cons(recip(sqr(N)))
  sqr(|0|()) -> |0|()
  sqr(s(X)) -> s(add(sqr(X),dbl(X)))
  dbl(|0|()) -> |0|()
  dbl(s(X)) -> s(s(dbl(X)))
  add(|0|(),X) -> X
  add(s(X),Y) -> s(add(X,Y))
  first(|0|(),X) -> nil()
  first(s(X),cons(Y)) -> cons(Y)
  half(|0|()) -> |0|()
  half(s(|0|())) -> |0|()
  half(s(s(X))) -> s(half(X))
  half(dbl(X)) -> X

-- SCC decomposition.

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

p1: terms#(N) -> sqr#(N)
p2: sqr#(s(X)) -> add#(sqr(X),dbl(X))
p3: sqr#(s(X)) -> sqr#(X)
p4: sqr#(s(X)) -> dbl#(X)
p5: dbl#(s(X)) -> dbl#(X)
p6: add#(s(X),Y) -> add#(X,Y)
p7: half#(s(s(X))) -> half#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)))
r2: sqr(|0|()) -> |0|()
r3: sqr(s(X)) -> s(add(sqr(X),dbl(X)))
r4: dbl(|0|()) -> |0|()
r5: dbl(s(X)) -> s(s(dbl(X)))
r6: add(|0|(),X) -> X
r7: add(s(X),Y) -> s(add(X,Y))
r8: first(|0|(),X) -> nil()
r9: first(s(X),cons(Y)) -> cons(Y)
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X

The estimated dependency graph contains the following SCCs:

  {p3}
  {p6}
  {p5}
  {p7}


-- Reduction pair.

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

p1: sqr#(s(X)) -> sqr#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)))
r2: sqr(|0|()) -> |0|()
r3: sqr(s(X)) -> s(add(sqr(X),dbl(X)))
r4: dbl(|0|()) -> |0|()
r5: dbl(s(X)) -> s(s(dbl(X)))
r6: add(|0|(),X) -> X
r7: add(s(X),Y) -> s(add(X,Y))
r8: first(|0|(),X) -> nil()
r9: first(s(X),cons(Y)) -> cons(Y)
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

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

The next rules are strictly ordered:

  p1
  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13

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: add#(s(X),Y) -> add#(X,Y)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)))
r2: sqr(|0|()) -> |0|()
r3: sqr(s(X)) -> s(add(sqr(X),dbl(X)))
r4: dbl(|0|()) -> |0|()
r5: dbl(s(X)) -> s(s(dbl(X)))
r6: add(|0|(),X) -> X
r7: add(s(X),Y) -> s(add(X,Y))
r8: first(|0|(),X) -> nil()
r9: first(s(X),cons(Y)) -> cons(Y)
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X

The set of usable rules consists of

  (no rules)

Take the reduction pair:

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

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: dbl#(s(X)) -> dbl#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)))
r2: sqr(|0|()) -> |0|()
r3: sqr(s(X)) -> s(add(sqr(X),dbl(X)))
r4: dbl(|0|()) -> |0|()
r5: dbl(s(X)) -> s(s(dbl(X)))
r6: add(|0|(),X) -> X
r7: add(s(X),Y) -> s(add(X,Y))
r8: first(|0|(),X) -> nil()
r9: first(s(X),cons(Y)) -> cons(Y)
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

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

The next rules are strictly ordered:

  p1
  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13

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: half#(s(s(X))) -> half#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)))
r2: sqr(|0|()) -> |0|()
r3: sqr(s(X)) -> s(add(sqr(X),dbl(X)))
r4: dbl(|0|()) -> |0|()
r5: dbl(s(X)) -> s(s(dbl(X)))
r6: add(|0|(),X) -> X
r7: add(s(X),Y) -> s(add(X,Y))
r8: first(|0|(),X) -> nil()
r9: first(s(X),cons(Y)) -> cons(Y)
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

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

The next rules are strictly ordered:

  p1
  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13

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