YES

We show the termination of the TRS R:

  terms(N) -> cons(recip(sqr(N)),n__terms(n__s(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,Z)) -> cons(Y,n__first(X,activate(Z)))
  half(|0|()) -> |0|()
  half(s(|0|())) -> |0|()
  half(s(s(X))) -> s(half(X))
  half(dbl(X)) -> X
  terms(X) -> n__terms(X)
  s(X) -> n__s(X)
  first(X1,X2) -> n__first(X1,X2)
  activate(n__terms(X)) -> terms(activate(X))
  activate(n__s(X)) -> s(activate(X))
  activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
  activate(X) -> X

-- SCC decomposition.

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

p1: terms#(N) -> sqr#(N)
p2: sqr#(s(X)) -> s#(add(sqr(X),dbl(X)))
p3: sqr#(s(X)) -> add#(sqr(X),dbl(X))
p4: sqr#(s(X)) -> sqr#(X)
p5: sqr#(s(X)) -> dbl#(X)
p6: dbl#(s(X)) -> s#(s(dbl(X)))
p7: dbl#(s(X)) -> s#(dbl(X))
p8: dbl#(s(X)) -> dbl#(X)
p9: add#(s(X),Y) -> s#(add(X,Y))
p10: add#(s(X),Y) -> add#(X,Y)
p11: first#(s(X),cons(Y,Z)) -> activate#(Z)
p12: half#(s(s(X))) -> s#(half(X))
p13: half#(s(s(X))) -> half#(X)
p14: activate#(n__terms(X)) -> terms#(activate(X))
p15: activate#(n__terms(X)) -> activate#(X)
p16: activate#(n__s(X)) -> s#(activate(X))
p17: activate#(n__s(X)) -> activate#(X)
p18: activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
p19: activate#(n__first(X1,X2)) -> activate#(X1)
p20: activate#(n__first(X1,X2)) -> activate#(X2)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(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,Z)) -> cons(Y,n__first(X,activate(Z)))
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X
r14: terms(X) -> n__terms(X)
r15: s(X) -> n__s(X)
r16: first(X1,X2) -> n__first(X1,X2)
r17: activate(n__terms(X)) -> terms(activate(X))
r18: activate(n__s(X)) -> s(activate(X))
r19: activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
r20: activate(X) -> X

The estimated dependency graph contains the following SCCs:

  {p11, p15, p17, p18, p19, p20}
  {p4}
  {p10}
  {p8}
  {p13}


-- Reduction pair.

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

p1: activate#(n__first(X1,X2)) -> activate#(X2)
p2: activate#(n__first(X1,X2)) -> activate#(X1)
p3: activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
p4: first#(s(X),cons(Y,Z)) -> activate#(Z)
p5: activate#(n__s(X)) -> activate#(X)
p6: activate#(n__terms(X)) -> activate#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(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,Z)) -> cons(Y,n__first(X,activate(Z)))
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X
r14: terms(X) -> n__terms(X)
r15: s(X) -> n__s(X)
r16: first(X1,X2) -> n__first(X1,X2)
r17: activate(n__terms(X)) -> terms(activate(X))
r18: activate(n__s(X)) -> s(activate(X))
r19: activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
r20: activate(X) -> X

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9, r14, r15, r16, r17, r18, r19, r20

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        activate#_A(x1) = ((0,1),(0,0)) x1
        n__first_A(x1,x2) = x1 + x2 + (0,2)
        first#_A(x1,x2) = ((0,1),(0,0)) x2 + (1,0)
        activate_A(x1) = ((1,1),(0,1)) x1 + (1,0)
        s_A(x1) = x1
        cons_A(x1,x2) = ((0,0),(1,1)) x2 + (1,0)
        n__s_A(x1) = x1
        n__terms_A(x1) = x1 + (0,1)
        dbl_A(x1) = ((1,1),(0,1)) x1 + (1,1)
        |0|_A() = (1,0)
        add_A(x1,x2) = x2 + (1,1)
        sqr_A(x1) = ((1,1),(0,1)) x1 + (2,2)
        terms_A(x1) = ((0,1),(0,1)) x1 + (2,1)
        recip_A(x1) = ((1,0),(1,0)) x1
        first_A(x1,x2) = x1 + x2 + (2,2)
        nil_A() = (0,0)
    
    2. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        activate#_A(x1) = (1,1)
        n__first_A(x1,x2) = (6,3)
        first#_A(x1,x2) = (0,0)
        activate_A(x1) = (4,1)
        s_A(x1) = ((0,1),(0,1)) x1 + (2,0)
        cons_A(x1,x2) = (6,3)
        n__s_A(x1) = (1,0)
        n__terms_A(x1) = (1,1)
        dbl_A(x1) = (4,1)
        |0|_A() = (1,1)
        add_A(x1,x2) = ((0,1),(0,1)) x2 + (4,1)
        sqr_A(x1) = (4,2)
        terms_A(x1) = (0,0)
        recip_A(x1) = x1 + (0,1)
        first_A(x1,x2) = (5,2)
        nil_A() = (6,3)
    

The next rules are strictly ordered:

  p1, p2, p3, p4, p6

We remove them from the problem.

-- SCC decomposition.

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

p1: activate#(n__s(X)) -> activate#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(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,Z)) -> cons(Y,n__first(X,activate(Z)))
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X
r14: terms(X) -> n__terms(X)
r15: s(X) -> n__s(X)
r16: first(X1,X2) -> n__first(X1,X2)
r17: activate(n__terms(X)) -> terms(activate(X))
r18: activate(n__s(X)) -> s(activate(X))
r19: activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
r20: activate(X) -> X

The estimated dependency graph contains the following SCCs:

  {p1}


-- Reduction pair.

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

p1: activate#(n__s(X)) -> activate#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(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,Z)) -> cons(Y,n__first(X,activate(Z)))
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X
r14: terms(X) -> n__terms(X)
r15: s(X) -> n__s(X)
r16: first(X1,X2) -> n__first(X1,X2)
r17: activate(n__terms(X)) -> terms(activate(X))
r18: activate(n__s(X)) -> s(activate(X))
r19: activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
r20: activate(X) -> X

The set of usable rules consists of

  (no rules)

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        activate#_A(x1) = ((1,1),(1,1)) x1
        n__s_A(x1) = ((1,1),(1,1)) x1 + (1,1)
    
    2. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        activate#_A(x1) = ((0,1),(1,1)) x1
        n__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: sqr#(s(X)) -> sqr#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(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,Z)) -> cons(Y,n__first(X,activate(Z)))
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X
r14: terms(X) -> n__terms(X)
r15: s(X) -> n__s(X)
r16: first(X1,X2) -> n__first(X1,X2)
r17: activate(n__terms(X)) -> terms(activate(X))
r18: activate(n__s(X)) -> s(activate(X))
r19: activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
r20: activate(X) -> X

The set of usable rules consists of

  (no rules)

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        sqr#_A(x1) = ((1,1),(1,1)) x1
        s_A(x1) = ((1,1),(1,1)) x1 + (1,1)
    
    2. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        sqr#_A(x1) = ((0,1),(1,1)) 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: add#(s(X),Y) -> add#(X,Y)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(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,Z)) -> cons(Y,n__first(X,activate(Z)))
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X
r14: terms(X) -> n__terms(X)
r15: s(X) -> n__s(X)
r16: first(X1,X2) -> n__first(X1,X2)
r17: activate(n__terms(X)) -> terms(activate(X))
r18: activate(n__s(X)) -> s(activate(X))
r19: activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
r20: activate(X) -> X

The set of usable rules consists of

  (no rules)

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        add#_A(x1,x2) = x1 + x2
        s_A(x1) = ((1,1),(1,1)) x1 + (1,1)
    
    2. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        add#_A(x1,x2) = ((0,1),(1,1)) x1 + x2
        s_A(x1) = ((1,1),(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: dbl#(s(X)) -> dbl#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(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,Z)) -> cons(Y,n__first(X,activate(Z)))
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X
r14: terms(X) -> n__terms(X)
r15: s(X) -> n__s(X)
r16: first(X1,X2) -> n__first(X1,X2)
r17: activate(n__terms(X)) -> terms(activate(X))
r18: activate(n__s(X)) -> s(activate(X))
r19: activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
r20: activate(X) -> X

The set of usable rules consists of

  (no rules)

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        dbl#_A(x1) = ((1,1),(1,0)) x1
        s_A(x1) = ((1,1),(1,1)) x1 + (1,1)
    
    2. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        dbl#_A(x1) = ((0,1),(1,1)) 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: half#(s(s(X))) -> half#(X)

and R consists of:

r1: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(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,Z)) -> cons(Y,n__first(X,activate(Z)))
r10: half(|0|()) -> |0|()
r11: half(s(|0|())) -> |0|()
r12: half(s(s(X))) -> s(half(X))
r13: half(dbl(X)) -> X
r14: terms(X) -> n__terms(X)
r15: s(X) -> n__s(X)
r16: first(X1,X2) -> n__first(X1,X2)
r17: activate(n__terms(X)) -> terms(activate(X))
r18: activate(n__s(X)) -> s(activate(X))
r19: activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
r20: activate(X) -> X

The set of usable rules consists of

  (no rules)

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        half#_A(x1) = x1
        s_A(x1) = ((0,1),(1,1)) x1 + (1,1)
    
    2. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        half#_A(x1) = ((0,0),(1,0)) x1
        s_A(x1) = (1,0)
    

The next rules are strictly ordered:

  p1

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