YES

We show the termination of the TRS R:

  fst(|0|(),Z) -> nil()
  fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z)))
  from(X) -> cons(X,n__from(n__s(X)))
  add(|0|(),X) -> X
  add(s(X),Y) -> s(n__add(activate(X),Y))
  len(nil()) -> |0|()
  len(cons(X,Z)) -> s(n__len(activate(Z)))
  fst(X1,X2) -> n__fst(X1,X2)
  from(X) -> n__from(X)
  s(X) -> n__s(X)
  add(X1,X2) -> n__add(X1,X2)
  len(X) -> n__len(X)
  activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2))
  activate(n__from(X)) -> from(activate(X))
  activate(n__s(X)) -> s(X)
  activate(n__add(X1,X2)) -> add(activate(X1),activate(X2))
  activate(n__len(X)) -> len(activate(X))
  activate(X) -> X

-- SCC decomposition.

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

p1: fst#(s(X),cons(Y,Z)) -> activate#(X)
p2: fst#(s(X),cons(Y,Z)) -> activate#(Z)
p3: add#(s(X),Y) -> s#(n__add(activate(X),Y))
p4: add#(s(X),Y) -> activate#(X)
p5: len#(cons(X,Z)) -> s#(n__len(activate(Z)))
p6: len#(cons(X,Z)) -> activate#(Z)
p7: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2))
p8: activate#(n__fst(X1,X2)) -> activate#(X1)
p9: activate#(n__fst(X1,X2)) -> activate#(X2)
p10: activate#(n__from(X)) -> from#(activate(X))
p11: activate#(n__from(X)) -> activate#(X)
p12: activate#(n__s(X)) -> s#(X)
p13: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2))
p14: activate#(n__add(X1,X2)) -> activate#(X1)
p15: activate#(n__add(X1,X2)) -> activate#(X2)
p16: activate#(n__len(X)) -> len#(activate(X))
p17: activate#(n__len(X)) -> activate#(X)

and R consists of:

r1: fst(|0|(),Z) -> nil()
r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z)))
r3: from(X) -> cons(X,n__from(n__s(X)))
r4: add(|0|(),X) -> X
r5: add(s(X),Y) -> s(n__add(activate(X),Y))
r6: len(nil()) -> |0|()
r7: len(cons(X,Z)) -> s(n__len(activate(Z)))
r8: fst(X1,X2) -> n__fst(X1,X2)
r9: from(X) -> n__from(X)
r10: s(X) -> n__s(X)
r11: add(X1,X2) -> n__add(X1,X2)
r12: len(X) -> n__len(X)
r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2))
r14: activate(n__from(X)) -> from(activate(X))
r15: activate(n__s(X)) -> s(X)
r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2))
r17: activate(n__len(X)) -> len(activate(X))
r18: activate(X) -> X

The estimated dependency graph contains the following SCCs:

  {p1, p2, p4, p6, p7, p8, p9, p11, p13, p14, p15, p16, p17}


-- Reduction pair.

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

p1: fst#(s(X),cons(Y,Z)) -> activate#(X)
p2: activate#(n__len(X)) -> activate#(X)
p3: activate#(n__len(X)) -> len#(activate(X))
p4: len#(cons(X,Z)) -> activate#(Z)
p5: activate#(n__add(X1,X2)) -> activate#(X2)
p6: activate#(n__add(X1,X2)) -> activate#(X1)
p7: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2))
p8: add#(s(X),Y) -> activate#(X)
p9: activate#(n__from(X)) -> activate#(X)
p10: activate#(n__fst(X1,X2)) -> activate#(X2)
p11: activate#(n__fst(X1,X2)) -> activate#(X1)
p12: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2))
p13: fst#(s(X),cons(Y,Z)) -> activate#(Z)

and R consists of:

r1: fst(|0|(),Z) -> nil()
r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z)))
r3: from(X) -> cons(X,n__from(n__s(X)))
r4: add(|0|(),X) -> X
r5: add(s(X),Y) -> s(n__add(activate(X),Y))
r6: len(nil()) -> |0|()
r7: len(cons(X,Z)) -> s(n__len(activate(Z)))
r8: fst(X1,X2) -> n__fst(X1,X2)
r9: from(X) -> n__from(X)
r10: s(X) -> n__s(X)
r11: add(X1,X2) -> n__add(X1,X2)
r12: len(X) -> n__len(X)
r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2))
r14: activate(n__from(X)) -> from(activate(X))
r15: activate(n__s(X)) -> s(X)
r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2))
r17: activate(n__len(X)) -> len(activate(X))
r18: activate(X) -> X

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18

Take the reduction pair:

  matrix interpretations:
  
    carrier: N^1
    order: standard order
    interpretations:
      fst#_A(x1,x2) = x1 + x2
      s_A(x1) = x1
      cons_A(x1,x2) = x2
      activate#_A(x1) = x1
      n__len_A(x1) = x1 + 1
      len#_A(x1) = x1
      activate_A(x1) = x1
      n__add_A(x1,x2) = x1 + x2 + 1
      add#_A(x1,x2) = x1
      n__from_A(x1) = x1
      n__fst_A(x1,x2) = x1 + x2
      fst_A(x1,x2) = x1 + x2
      |0|_A() = 0
      nil_A() = 0
      from_A(x1) = x1
      n__s_A(x1) = x1
      add_A(x1,x2) = x1 + x2 + 1
      len_A(x1) = x1 + 1

The next rules are strictly ordered:

  p2, p3, p5, p6, p7

We remove them from the problem.

-- SCC decomposition.

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

p1: fst#(s(X),cons(Y,Z)) -> activate#(X)
p2: len#(cons(X,Z)) -> activate#(Z)
p3: add#(s(X),Y) -> activate#(X)
p4: activate#(n__from(X)) -> activate#(X)
p5: activate#(n__fst(X1,X2)) -> activate#(X2)
p6: activate#(n__fst(X1,X2)) -> activate#(X1)
p7: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2))
p8: fst#(s(X),cons(Y,Z)) -> activate#(Z)

and R consists of:

r1: fst(|0|(),Z) -> nil()
r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z)))
r3: from(X) -> cons(X,n__from(n__s(X)))
r4: add(|0|(),X) -> X
r5: add(s(X),Y) -> s(n__add(activate(X),Y))
r6: len(nil()) -> |0|()
r7: len(cons(X,Z)) -> s(n__len(activate(Z)))
r8: fst(X1,X2) -> n__fst(X1,X2)
r9: from(X) -> n__from(X)
r10: s(X) -> n__s(X)
r11: add(X1,X2) -> n__add(X1,X2)
r12: len(X) -> n__len(X)
r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2))
r14: activate(n__from(X)) -> from(activate(X))
r15: activate(n__s(X)) -> s(X)
r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2))
r17: activate(n__len(X)) -> len(activate(X))
r18: activate(X) -> X

The estimated dependency graph contains the following SCCs:

  {p1, p4, p5, p6, p7, p8}


-- Reduction pair.

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

p1: fst#(s(X),cons(Y,Z)) -> activate#(X)
p2: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2))
p3: fst#(s(X),cons(Y,Z)) -> activate#(Z)
p4: activate#(n__fst(X1,X2)) -> activate#(X1)
p5: activate#(n__fst(X1,X2)) -> activate#(X2)
p6: activate#(n__from(X)) -> activate#(X)

and R consists of:

r1: fst(|0|(),Z) -> nil()
r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z)))
r3: from(X) -> cons(X,n__from(n__s(X)))
r4: add(|0|(),X) -> X
r5: add(s(X),Y) -> s(n__add(activate(X),Y))
r6: len(nil()) -> |0|()
r7: len(cons(X,Z)) -> s(n__len(activate(Z)))
r8: fst(X1,X2) -> n__fst(X1,X2)
r9: from(X) -> n__from(X)
r10: s(X) -> n__s(X)
r11: add(X1,X2) -> n__add(X1,X2)
r12: len(X) -> n__len(X)
r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2))
r14: activate(n__from(X)) -> from(activate(X))
r15: activate(n__s(X)) -> s(X)
r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2))
r17: activate(n__len(X)) -> len(activate(X))
r18: activate(X) -> X

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18

Take the reduction pair:

  matrix interpretations:
  
    carrier: N^1
    order: standard order
    interpretations:
      fst#_A(x1,x2) = x1 + x2 + 1
      s_A(x1) = x1
      cons_A(x1,x2) = x2
      activate#_A(x1) = x1
      n__fst_A(x1,x2) = x1 + x2 + 1
      activate_A(x1) = x1
      n__from_A(x1) = x1
      fst_A(x1,x2) = x1 + x2 + 1
      |0|_A() = 1
      nil_A() = 2
      from_A(x1) = x1
      n__s_A(x1) = x1
      add_A(x1,x2) = x2 + 1
      n__add_A(x1,x2) = x2 + 1
      len_A(x1) = x1 + 1
      n__len_A(x1) = x1 + 1

The next rules are strictly ordered:

  p1, p3, p4, p5

We remove them from the problem.

-- SCC decomposition.

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

p1: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2))
p2: activate#(n__from(X)) -> activate#(X)

and R consists of:

r1: fst(|0|(),Z) -> nil()
r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z)))
r3: from(X) -> cons(X,n__from(n__s(X)))
r4: add(|0|(),X) -> X
r5: add(s(X),Y) -> s(n__add(activate(X),Y))
r6: len(nil()) -> |0|()
r7: len(cons(X,Z)) -> s(n__len(activate(Z)))
r8: fst(X1,X2) -> n__fst(X1,X2)
r9: from(X) -> n__from(X)
r10: s(X) -> n__s(X)
r11: add(X1,X2) -> n__add(X1,X2)
r12: len(X) -> n__len(X)
r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2))
r14: activate(n__from(X)) -> from(activate(X))
r15: activate(n__s(X)) -> s(X)
r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2))
r17: activate(n__len(X)) -> len(activate(X))
r18: activate(X) -> X

The estimated dependency graph contains the following SCCs:

  {p2}


-- Reduction pair.

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

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

and R consists of:

r1: fst(|0|(),Z) -> nil()
r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z)))
r3: from(X) -> cons(X,n__from(n__s(X)))
r4: add(|0|(),X) -> X
r5: add(s(X),Y) -> s(n__add(activate(X),Y))
r6: len(nil()) -> |0|()
r7: len(cons(X,Z)) -> s(n__len(activate(Z)))
r8: fst(X1,X2) -> n__fst(X1,X2)
r9: from(X) -> n__from(X)
r10: s(X) -> n__s(X)
r11: add(X1,X2) -> n__add(X1,X2)
r12: len(X) -> n__len(X)
r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2))
r14: activate(n__from(X)) -> from(activate(X))
r15: activate(n__s(X)) -> s(X)
r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2))
r17: activate(n__len(X)) -> len(activate(X))
r18: activate(X) -> X

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  matrix interpretations:
  
    carrier: N^1
    order: standard order
    interpretations:
      activate#_A(x1) = x1
      n__from_A(x1) = x1 + 1

The next rules are strictly ordered:

  p1
  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18

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