YES

Problem:
 and(true(),X) -> activate(X)
 and(false(),Y) -> false()
 if(true(),X,Y) -> activate(X)
 if(false(),X,Y) -> activate(Y)
 add(0(),X) -> activate(X)
 add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
 first(0(),X) -> nil()
 first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
 from(X) -> cons(activate(X),n__from(n__s(activate(X))))
 add(X1,X2) -> n__add(X1,X2)
 first(X1,X2) -> n__first(X1,X2)
 from(X) -> n__from(X)
 s(X) -> n__s(X)
 activate(n__add(X1,X2)) -> add(activate(X1),X2)
 activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
 activate(n__from(X)) -> from(X)
 activate(n__s(X)) -> s(X)
 activate(X) -> X

Proof:
 DP Processor:
  DPs:
   and#(true(),X) -> activate#(X)
   if#(true(),X,Y) -> activate#(X)
   if#(false(),X,Y) -> activate#(Y)
   add#(0(),X) -> activate#(X)
   add#(s(X),Y) -> activate#(Y)
   add#(s(X),Y) -> activate#(X)
   add#(s(X),Y) -> s#(n__add(activate(X),activate(Y)))
   first#(s(X),cons(Y,Z)) -> activate#(Z)
   first#(s(X),cons(Y,Z)) -> activate#(X)
   first#(s(X),cons(Y,Z)) -> activate#(Y)
   from#(X) -> activate#(X)
   activate#(n__add(X1,X2)) -> activate#(X1)
   activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
   activate#(n__first(X1,X2)) -> activate#(X2)
   activate#(n__first(X1,X2)) -> activate#(X1)
   activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
   activate#(n__from(X)) -> from#(X)
   activate#(n__s(X)) -> s#(X)
  TRS:
   and(true(),X) -> activate(X)
   and(false(),Y) -> false()
   if(true(),X,Y) -> activate(X)
   if(false(),X,Y) -> activate(Y)
   add(0(),X) -> activate(X)
   add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
   first(0(),X) -> nil()
   first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
   from(X) -> cons(activate(X),n__from(n__s(activate(X))))
   add(X1,X2) -> n__add(X1,X2)
   first(X1,X2) -> n__first(X1,X2)
   from(X) -> n__from(X)
   s(X) -> n__s(X)
   activate(n__add(X1,X2)) -> add(activate(X1),X2)
   activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
   activate(n__from(X)) -> from(X)
   activate(n__s(X)) -> s(X)
   activate(X) -> X
  TDG Processor:
   DPs:
    and#(true(),X) -> activate#(X)
    if#(true(),X,Y) -> activate#(X)
    if#(false(),X,Y) -> activate#(Y)
    add#(0(),X) -> activate#(X)
    add#(s(X),Y) -> activate#(Y)
    add#(s(X),Y) -> activate#(X)
    add#(s(X),Y) -> s#(n__add(activate(X),activate(Y)))
    first#(s(X),cons(Y,Z)) -> activate#(Z)
    first#(s(X),cons(Y,Z)) -> activate#(X)
    first#(s(X),cons(Y,Z)) -> activate#(Y)
    from#(X) -> activate#(X)
    activate#(n__add(X1,X2)) -> activate#(X1)
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    activate#(n__first(X1,X2)) -> activate#(X2)
    activate#(n__first(X1,X2)) -> activate#(X1)
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    activate#(n__from(X)) -> from#(X)
    activate#(n__s(X)) -> s#(X)
   TRS:
    and(true(),X) -> activate(X)
    and(false(),Y) -> false()
    if(true(),X,Y) -> activate(X)
    if(false(),X,Y) -> activate(Y)
    add(0(),X) -> activate(X)
    add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
    first(0(),X) -> nil()
    first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
    from(X) -> cons(activate(X),n__from(n__s(activate(X))))
    add(X1,X2) -> n__add(X1,X2)
    first(X1,X2) -> n__first(X1,X2)
    from(X) -> n__from(X)
    s(X) -> n__s(X)
    activate(n__add(X1,X2)) -> add(activate(X1),X2)
    activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
    activate(n__from(X)) -> from(X)
    activate(n__s(X)) -> s(X)
    activate(X) -> X
   graph:
    from#(X) -> activate#(X) -> activate#(n__s(X)) -> s#(X)
    from#(X) -> activate#(X) -> activate#(n__from(X)) -> from#(X)
    from#(X) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    from#(X) -> activate#(X) -> activate#(n__first(X1,X2)) -> activate#(X1)
    from#(X) -> activate#(X) -> activate#(n__first(X1,X2)) -> activate#(X2)
    from#(X) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    from#(X) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    first#(s(X),cons(Y,Z)) -> activate#(Z) ->
    activate#(n__s(X)) -> s#(X)
    first#(s(X),cons(Y,Z)) -> activate#(Z) ->
    activate#(n__from(X)) -> from#(X)
    first#(s(X),cons(Y,Z)) -> activate#(Z) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    first#(s(X),cons(Y,Z)) -> activate#(Z) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    first#(s(X),cons(Y,Z)) -> activate#(Z) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    first#(s(X),cons(Y,Z)) -> activate#(Z) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    first#(s(X),cons(Y,Z)) -> activate#(Z) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    first#(s(X),cons(Y,Z)) -> activate#(Y) ->
    activate#(n__s(X)) -> s#(X)
    first#(s(X),cons(Y,Z)) -> activate#(Y) ->
    activate#(n__from(X)) -> from#(X)
    first#(s(X),cons(Y,Z)) -> activate#(Y) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    first#(s(X),cons(Y,Z)) -> activate#(Y) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    first#(s(X),cons(Y,Z)) -> activate#(Y) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    first#(s(X),cons(Y,Z)) -> activate#(Y) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    first#(s(X),cons(Y,Z)) -> activate#(Y) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    first#(s(X),cons(Y,Z)) -> activate#(X) ->
    activate#(n__s(X)) -> s#(X)
    first#(s(X),cons(Y,Z)) -> activate#(X) ->
    activate#(n__from(X)) -> from#(X)
    first#(s(X),cons(Y,Z)) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    first#(s(X),cons(Y,Z)) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    first#(s(X),cons(Y,Z)) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    first#(s(X),cons(Y,Z)) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    first#(s(X),cons(Y,Z)) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    add#(s(X),Y) -> activate#(Y) -> activate#(n__s(X)) -> s#(X)
    add#(s(X),Y) -> activate#(Y) -> activate#(n__from(X)) -> from#(X)
    add#(s(X),Y) -> activate#(Y) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    add#(s(X),Y) -> activate#(Y) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    add#(s(X),Y) -> activate#(Y) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    add#(s(X),Y) -> activate#(Y) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    add#(s(X),Y) -> activate#(Y) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    add#(s(X),Y) -> activate#(X) -> activate#(n__s(X)) -> s#(X)
    add#(s(X),Y) -> activate#(X) -> activate#(n__from(X)) -> from#(X)
    add#(s(X),Y) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    add#(s(X),Y) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    add#(s(X),Y) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    add#(s(X),Y) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    add#(s(X),Y) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    add#(0(),X) -> activate#(X) -> activate#(n__s(X)) -> s#(X)
    add#(0(),X) -> activate#(X) -> activate#(n__from(X)) -> from#(X)
    add#(0(),X) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    add#(0(),X) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    add#(0(),X) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    add#(0(),X) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    add#(0(),X) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    if#(false(),X,Y) -> activate#(Y) -> activate#(n__s(X)) -> s#(X)
    if#(false(),X,Y) -> activate#(Y) ->
    activate#(n__from(X)) -> from#(X)
    if#(false(),X,Y) -> activate#(Y) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    if#(false(),X,Y) -> activate#(Y) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    if#(false(),X,Y) -> activate#(Y) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    if#(false(),X,Y) -> activate#(Y) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    if#(false(),X,Y) -> activate#(Y) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    if#(true(),X,Y) -> activate#(X) -> activate#(n__s(X)) -> s#(X)
    if#(true(),X,Y) -> activate#(X) ->
    activate#(n__from(X)) -> from#(X)
    if#(true(),X,Y) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    if#(true(),X,Y) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    if#(true(),X,Y) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    if#(true(),X,Y) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    if#(true(),X,Y) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    activate#(n__from(X)) -> from#(X) ->
    from#(X) -> activate#(X)
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) ->
    first#(s(X),cons(Y,Z)) -> activate#(Y)
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) ->
    first#(s(X),cons(Y,Z)) -> activate#(X)
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) ->
    first#(s(X),cons(Y,Z)) -> activate#(Z)
    activate#(n__first(X1,X2)) -> activate#(X2) ->
    activate#(n__s(X)) -> s#(X)
    activate#(n__first(X1,X2)) -> activate#(X2) ->
    activate#(n__from(X)) -> from#(X)
    activate#(n__first(X1,X2)) -> activate#(X2) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    activate#(n__first(X1,X2)) -> activate#(X2) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    activate#(n__first(X1,X2)) -> activate#(X2) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    activate#(n__first(X1,X2)) -> activate#(X2) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    activate#(n__first(X1,X2)) -> activate#(X2) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    activate#(n__first(X1,X2)) -> activate#(X1) ->
    activate#(n__s(X)) -> s#(X)
    activate#(n__first(X1,X2)) -> activate#(X1) ->
    activate#(n__from(X)) -> from#(X)
    activate#(n__first(X1,X2)) -> activate#(X1) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    activate#(n__first(X1,X2)) -> activate#(X1) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    activate#(n__first(X1,X2)) -> activate#(X1) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    activate#(n__first(X1,X2)) -> activate#(X1) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    activate#(n__first(X1,X2)) -> activate#(X1) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2) ->
    add#(s(X),Y) -> s#(n__add(activate(X),activate(Y)))
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2) ->
    add#(s(X),Y) -> activate#(X)
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2) ->
    add#(s(X),Y) -> activate#(Y)
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2) ->
    add#(0(),X) -> activate#(X)
    activate#(n__add(X1,X2)) -> activate#(X1) ->
    activate#(n__s(X)) -> s#(X)
    activate#(n__add(X1,X2)) -> activate#(X1) ->
    activate#(n__from(X)) -> from#(X)
    activate#(n__add(X1,X2)) -> activate#(X1) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    activate#(n__add(X1,X2)) -> activate#(X1) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    activate#(n__add(X1,X2)) -> activate#(X1) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    activate#(n__add(X1,X2)) -> activate#(X1) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    activate#(n__add(X1,X2)) -> activate#(X1) ->
    activate#(n__add(X1,X2)) -> activate#(X1)
    and#(true(),X) -> activate#(X) -> activate#(n__s(X)) -> s#(X)
    and#(true(),X) -> activate#(X) ->
    activate#(n__from(X)) -> from#(X)
    and#(true(),X) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
    and#(true(),X) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X1)
    and#(true(),X) -> activate#(X) ->
    activate#(n__first(X1,X2)) -> activate#(X2)
    and#(true(),X) -> activate#(X) ->
    activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
    and#(true(),X) -> activate#(X) -> activate#(n__add(X1,X2)) -> activate#(X1)
   SCC Processor:
    #sccs: 1
    #rules: 13
    #arcs: 99/324
    DPs:
     from#(X) -> activate#(X)
     activate#(n__add(X1,X2)) -> activate#(X1)
     activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
     add#(0(),X) -> activate#(X)
     activate#(n__first(X1,X2)) -> activate#(X2)
     activate#(n__first(X1,X2)) -> activate#(X1)
     activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
     first#(s(X),cons(Y,Z)) -> activate#(Z)
     activate#(n__from(X)) -> from#(X)
     first#(s(X),cons(Y,Z)) -> activate#(X)
     first#(s(X),cons(Y,Z)) -> activate#(Y)
     add#(s(X),Y) -> activate#(Y)
     add#(s(X),Y) -> activate#(X)
    TRS:
     and(true(),X) -> activate(X)
     and(false(),Y) -> false()
     if(true(),X,Y) -> activate(X)
     if(false(),X,Y) -> activate(Y)
     add(0(),X) -> activate(X)
     add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
     first(0(),X) -> nil()
     first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
     from(X) -> cons(activate(X),n__from(n__s(activate(X))))
     add(X1,X2) -> n__add(X1,X2)
     first(X1,X2) -> n__first(X1,X2)
     from(X) -> n__from(X)
     s(X) -> n__s(X)
     activate(n__add(X1,X2)) -> add(activate(X1),X2)
     activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
     activate(n__from(X)) -> from(X)
     activate(n__s(X)) -> s(X)
     activate(X) -> X
    Arctic Interpretation Processor:
     dimension: 1
     interpretation:
      [from#](x0) = x0 + 0,
      
      [first#](x0, x1) = 4x0 + 4x1 + 0,
      
      [add#](x0, x1) = x0 + 3x1 + 0,
      
      [activate#](x0) = x0 + 0,
      
      [n__from](x0) = x0,
      
      [n__s](x0) = x0,
      
      [from](x0) = x0,
      
      [n__first](x0, x1) = 4x0 + 4x1,
      
      [cons](x0, x1) = x0 + x1,
      
      [nil] = 0,
      
      [first](x0, x1) = 4x0 + 4x1,
      
      [n__add](x0, x1) = x0 + 3x1,
      
      [s](x0) = x0,
      
      [add](x0, x1) = x0 + 3x1,
      
      [0] = 1,
      
      [if](x0, x1, x2) = 2x1 + x2 + 4,
      
      [false] = 3,
      
      [activate](x0) = x0,
      
      [and](x0, x1) = x0 + 4x1 + 2,
      
      [true] = 2
     orientation:
      from#(X) = X + 0 >= X + 0 = activate#(X)
      
      activate#(n__add(X1,X2)) = X1 + 3X2 + 0 >= X1 + 0 = activate#(X1)
      
      activate#(n__add(X1,X2)) = X1 + 3X2 + 0 >= X1 + 3X2 + 0 = add#(activate(X1),X2)
      
      add#(0(),X) = 3X + 1 >= X + 0 = activate#(X)
      
      activate#(n__first(X1,X2)) = 4X1 + 4X2 + 0 >= X2 + 0 = activate#(X2)
      
      activate#(n__first(X1,X2)) = 4X1 + 4X2 + 0 >= X1 + 0 = activate#(X1)
      
      activate#(n__first(X1,X2)) = 4X1 + 4X2 + 0 >= 4X1 + 4X2 + 0 = first#(activate(X1),activate(X2))
      
      first#(s(X),cons(Y,Z)) = 4X + 4Y + 4Z + 0 >= Z + 0 = activate#(Z)
      
      activate#(n__from(X)) = X + 0 >= X + 0 = from#(X)
      
      first#(s(X),cons(Y,Z)) = 4X + 4Y + 4Z + 0 >= X + 0 = activate#(X)
      
      first#(s(X),cons(Y,Z)) = 4X + 4Y + 4Z + 0 >= Y + 0 = activate#(Y)
      
      add#(s(X),Y) = X + 3Y + 0 >= Y + 0 = activate#(Y)
      
      add#(s(X),Y) = X + 3Y + 0 >= X + 0 = activate#(X)
      
      and(true(),X) = 4X + 2 >= X = activate(X)
      
      and(false(),Y) = 4Y + 3 >= 3 = false()
      
      if(true(),X,Y) = 2X + Y + 4 >= X = activate(X)
      
      if(false(),X,Y) = 2X + Y + 4 >= Y = activate(Y)
      
      add(0(),X) = 3X + 1 >= X = activate(X)
      
      add(s(X),Y) = X + 3Y >= X + 3Y = s(n__add(activate(X),activate(Y)))
      
      first(0(),X) = 4X + 5 >= 0 = nil()
      
      first(s(X),cons(Y,Z)) = 4X + 4Y + 4Z >= 4X + Y + 4Z = cons(activate(Y),n__first(activate(X),activate(Z)))
      
      from(X) = X >= X = cons(activate(X),n__from(n__s(activate(X))))
      
      add(X1,X2) = X1 + 3X2 >= X1 + 3X2 = n__add(X1,X2)
      
      first(X1,X2) = 4X1 + 4X2 >= 4X1 + 4X2 = n__first(X1,X2)
      
      from(X) = X >= X = n__from(X)
      
      s(X) = X >= X = n__s(X)
      
      activate(n__add(X1,X2)) = X1 + 3X2 >= X1 + 3X2 = add(activate(X1),X2)
      
      activate(n__first(X1,X2)) = 4X1 + 4X2 >= 4X1 + 4X2 = first(activate(X1),activate(X2))
      
      activate(n__from(X)) = X >= X = from(X)
      
      activate(n__s(X)) = X >= X = s(X)
      
      activate(X) = X >= X = X
     problem:
      DPs:
       from#(X) -> activate#(X)
       activate#(n__add(X1,X2)) -> activate#(X1)
       activate#(n__add(X1,X2)) -> add#(activate(X1),X2)
       activate#(n__first(X1,X2)) -> activate#(X2)
       activate#(n__first(X1,X2)) -> activate#(X1)
       activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
       first#(s(X),cons(Y,Z)) -> activate#(Z)
       activate#(n__from(X)) -> from#(X)
       first#(s(X),cons(Y,Z)) -> activate#(X)
       first#(s(X),cons(Y,Z)) -> activate#(Y)
       add#(s(X),Y) -> activate#(Y)
       add#(s(X),Y) -> activate#(X)
      TRS:
       and(true(),X) -> activate(X)
       and(false(),Y) -> false()
       if(true(),X,Y) -> activate(X)
       if(false(),X,Y) -> activate(Y)
       add(0(),X) -> activate(X)
       add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
       first(0(),X) -> nil()
       first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
       from(X) -> cons(activate(X),n__from(n__s(activate(X))))
       add(X1,X2) -> n__add(X1,X2)
       first(X1,X2) -> n__first(X1,X2)
       from(X) -> n__from(X)
       s(X) -> n__s(X)
       activate(n__add(X1,X2)) -> add(activate(X1),X2)
       activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
       activate(n__from(X)) -> from(X)
       activate(n__s(X)) -> s(X)
       activate(X) -> X
     Arctic Interpretation Processor:
      dimension: 1
      interpretation:
       [from#](x0) = x0,
       
       [first#](x0, x1) = x0 + x1,
       
       [add#](x0, x1) = x0 + x1,
       
       [activate#](x0) = x0,
       
       [n__from](x0) = x0,
       
       [n__s](x0) = x0,
       
       [from](x0) = x0,
       
       [n__first](x0, x1) = x0 + x1,
       
       [cons](x0, x1) = x0 + x1,
       
       [nil] = 1,
       
       [first](x0, x1) = x0 + x1,
       
       [n__add](x0, x1) = 6x0 + 4x1,
       
       [s](x0) = x0,
       
       [add](x0, x1) = 6x0 + 4x1,
       
       [0] = 1,
       
       [if](x0, x1, x2) = 4x0 + 4x1 + x2 + 0,
       
       [false] = 0,
       
       [activate](x0) = x0,
       
       [and](x0, x1) = x1 + 0,
       
       [true] = 1
      orientation:
       from#(X) = X >= X = activate#(X)
       
       activate#(n__add(X1,X2)) = 6X1 + 4X2 >= X1 = activate#(X1)
       
       activate#(n__add(X1,X2)) = 6X1 + 4X2 >= X1 + X2 = add#(activate(X1),X2)
       
       activate#(n__first(X1,X2)) = X1 + X2 >= X2 = activate#(X2)
       
       activate#(n__first(X1,X2)) = X1 + X2 >= X1 = activate#(X1)
       
       activate#(n__first(X1,X2)) = X1 + X2 >= X1 + X2 = first#(activate(X1),activate(X2))
       
       first#(s(X),cons(Y,Z)) = X + Y + Z >= Z = activate#(Z)
       
       activate#(n__from(X)) = X >= X = from#(X)
       
       first#(s(X),cons(Y,Z)) = X + Y + Z >= X = activate#(X)
       
       first#(s(X),cons(Y,Z)) = X + Y + Z >= Y = activate#(Y)
       
       add#(s(X),Y) = X + Y >= Y = activate#(Y)
       
       add#(s(X),Y) = X + Y >= X = activate#(X)
       
       and(true(),X) = X + 0 >= X = activate(X)
       
       and(false(),Y) = Y + 0 >= 0 = false()
       
       if(true(),X,Y) = 4X + Y + 5 >= X = activate(X)
       
       if(false(),X,Y) = 4X + Y + 4 >= Y = activate(Y)
       
       add(0(),X) = 4X + 7 >= X = activate(X)
       
       add(s(X),Y) = 6X + 4Y >= 6X + 4Y = s(n__add(activate(X),activate(Y)))
       
       first(0(),X) = X + 1 >= 1 = nil()
       
       first(s(X),cons(Y,Z)) = X + Y + Z >= X + Y + Z = cons(activate(Y),n__first(activate(X),activate(Z)))
       
       from(X) = X >= X = cons(activate(X),n__from(n__s(activate(X))))
       
       add(X1,X2) = 6X1 + 4X2 >= 6X1 + 4X2 = n__add(X1,X2)
       
       first(X1,X2) = X1 + X2 >= X1 + X2 = n__first(X1,X2)
       
       from(X) = X >= X = n__from(X)
       
       s(X) = X >= X = n__s(X)
       
       activate(n__add(X1,X2)) = 6X1 + 4X2 >= 6X1 + 4X2 = add(activate(X1),X2)
       
       activate(n__first(X1,X2)) = X1 + X2 >= X1 + X2 = first(activate(X1),activate(X2))
       
       activate(n__from(X)) = X >= X = from(X)
       
       activate(n__s(X)) = X >= X = s(X)
       
       activate(X) = X >= X = X
      problem:
       DPs:
        from#(X) -> activate#(X)
        activate#(n__first(X1,X2)) -> activate#(X2)
        activate#(n__first(X1,X2)) -> activate#(X1)
        activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
        first#(s(X),cons(Y,Z)) -> activate#(Z)
        activate#(n__from(X)) -> from#(X)
        first#(s(X),cons(Y,Z)) -> activate#(X)
        first#(s(X),cons(Y,Z)) -> activate#(Y)
        add#(s(X),Y) -> activate#(Y)
        add#(s(X),Y) -> activate#(X)
       TRS:
        and(true(),X) -> activate(X)
        and(false(),Y) -> false()
        if(true(),X,Y) -> activate(X)
        if(false(),X,Y) -> activate(Y)
        add(0(),X) -> activate(X)
        add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
        first(0(),X) -> nil()
        first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
        from(X) -> cons(activate(X),n__from(n__s(activate(X))))
        add(X1,X2) -> n__add(X1,X2)
        first(X1,X2) -> n__first(X1,X2)
        from(X) -> n__from(X)
        s(X) -> n__s(X)
        activate(n__add(X1,X2)) -> add(activate(X1),X2)
        activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
        activate(n__from(X)) -> from(X)
        activate(n__s(X)) -> s(X)
        activate(X) -> X
      SCC Processor:
       #sccs: 1
       #rules: 8
       #arcs: 67/100
       DPs:
        from#(X) -> activate#(X)
        activate#(n__first(X1,X2)) -> activate#(X2)
        activate#(n__first(X1,X2)) -> activate#(X1)
        activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
        first#(s(X),cons(Y,Z)) -> activate#(Z)
        activate#(n__from(X)) -> from#(X)
        first#(s(X),cons(Y,Z)) -> activate#(X)
        first#(s(X),cons(Y,Z)) -> activate#(Y)
       TRS:
        and(true(),X) -> activate(X)
        and(false(),Y) -> false()
        if(true(),X,Y) -> activate(X)
        if(false(),X,Y) -> activate(Y)
        add(0(),X) -> activate(X)
        add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
        first(0(),X) -> nil()
        first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
        from(X) -> cons(activate(X),n__from(n__s(activate(X))))
        add(X1,X2) -> n__add(X1,X2)
        first(X1,X2) -> n__first(X1,X2)
        from(X) -> n__from(X)
        s(X) -> n__s(X)
        activate(n__add(X1,X2)) -> add(activate(X1),X2)
        activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
        activate(n__from(X)) -> from(X)
        activate(n__s(X)) -> s(X)
        activate(X) -> X
       Arctic Interpretation Processor:
        dimension: 1
        interpretation:
         [from#](x0) = 6x0 + 0,
         
         [first#](x0, x1) = 4x0 + 3x1 + 2,
         
         [activate#](x0) = 2x0 + 0,
         
         [n__from](x0) = 4x0,
         
         [n__s](x0) = x0,
         
         [from](x0) = 4x0,
         
         [n__first](x0, x1) = 4x0 + 1x1 + 0,
         
         [cons](x0, x1) = 4x0 + x1,
         
         [nil] = 6,
         
         [first](x0, x1) = 4x0 + 1x1 + 0,
         
         [n__add](x0, x1) = x0 + 1x1,
         
         [s](x0) = x0,
         
         [add](x0, x1) = x0 + 1x1,
         
         [0] = 2,
         
         [if](x0, x1, x2) = x0 + 4x1 + 4x2 + 10,
         
         [false] = 6,
         
         [activate](x0) = x0,
         
         [and](x0, x1) = 5x1 + 11,
         
         [true] = 3
        orientation:
         from#(X) = 6X + 0 >= 2X + 0 = activate#(X)
         
         activate#(n__first(X1,X2)) = 6X1 + 3X2 + 2 >= 2X2 + 0 = activate#(X2)
         
         activate#(n__first(X1,X2)) = 6X1 + 3X2 + 2 >= 2X1 + 0 = activate#(X1)
         
         activate#(n__first(X1,X2)) = 6X1 + 3X2 + 2 >= 4X1 + 3X2 + 2 = first#(activate(X1),activate(X2))
         
         first#(s(X),cons(Y,Z)) = 4X + 7Y + 3Z + 2 >= 2Z + 0 = activate#(Z)
         
         activate#(n__from(X)) = 6X + 0 >= 6X + 0 = from#(X)
         
         first#(s(X),cons(Y,Z)) = 4X + 7Y + 3Z + 2 >= 2X + 0 = activate#(X)
         
         first#(s(X),cons(Y,Z)) = 4X + 7Y + 3Z + 2 >= 2Y + 0 = activate#(Y)
         
         and(true(),X) = 5X + 11 >= X = activate(X)
         
         and(false(),Y) = 5Y + 11 >= 6 = false()
         
         if(true(),X,Y) = 4X + 4Y + 10 >= X = activate(X)
         
         if(false(),X,Y) = 4X + 4Y + 10 >= Y = activate(Y)
         
         add(0(),X) = 1X + 2 >= X = activate(X)
         
         add(s(X),Y) = X + 1Y >= X + 1Y = s(n__add(activate(X),activate(Y)))
         
         first(0(),X) = 1X + 6 >= 6 = nil()
         
         first(s(X),cons(Y,Z)) = 4X + 5Y + 1Z + 0 >= 4X + 4Y + 1Z + 0 = cons(activate(Y),n__first(activate(X),activate(Z)))
         
         from(X) = 4X >= 4X = cons(activate(X),n__from(n__s(activate(X))))
         
         add(X1,X2) = X1 + 1X2 >= X1 + 1X2 = n__add(X1,X2)
         
         first(X1,X2) = 4X1 + 1X2 + 0 >= 4X1 + 1X2 + 0 = n__first(X1,X2)
         
         from(X) = 4X >= 4X = n__from(X)
         
         s(X) = X >= X = n__s(X)
         
         activate(n__add(X1,X2)) = X1 + 1X2 >= X1 + 1X2 = add(activate(X1),X2)
         
         activate(n__first(X1,X2)) = 4X1 + 1X2 + 0 >= 4X1 + 1X2 + 0 = first(activate(X1),activate(X2))
         
         activate(n__from(X)) = 4X >= 4X = from(X)
         
         activate(n__s(X)) = X >= X = s(X)
         
         activate(X) = X >= X = X
        problem:
         DPs:
          from#(X) -> activate#(X)
          activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2))
          activate#(n__from(X)) -> from#(X)
         TRS:
          and(true(),X) -> activate(X)
          and(false(),Y) -> false()
          if(true(),X,Y) -> activate(X)
          if(false(),X,Y) -> activate(Y)
          add(0(),X) -> activate(X)
          add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
          first(0(),X) -> nil()
          first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
          from(X) -> cons(activate(X),n__from(n__s(activate(X))))
          add(X1,X2) -> n__add(X1,X2)
          first(X1,X2) -> n__first(X1,X2)
          from(X) -> n__from(X)
          s(X) -> n__s(X)
          activate(n__add(X1,X2)) -> add(activate(X1),X2)
          activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
          activate(n__from(X)) -> from(X)
          activate(n__s(X)) -> s(X)
          activate(X) -> X
        SCC Processor:
         #sccs: 1
         #rules: 2
         #arcs: 28/9
         DPs:
          from#(X) -> activate#(X)
          activate#(n__from(X)) -> from#(X)
         TRS:
          and(true(),X) -> activate(X)
          and(false(),Y) -> false()
          if(true(),X,Y) -> activate(X)
          if(false(),X,Y) -> activate(Y)
          add(0(),X) -> activate(X)
          add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
          first(0(),X) -> nil()
          first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
          from(X) -> cons(activate(X),n__from(n__s(activate(X))))
          add(X1,X2) -> n__add(X1,X2)
          first(X1,X2) -> n__first(X1,X2)
          from(X) -> n__from(X)
          s(X) -> n__s(X)
          activate(n__add(X1,X2)) -> add(activate(X1),X2)
          activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
          activate(n__from(X)) -> from(X)
          activate(n__s(X)) -> s(X)
          activate(X) -> X
         Subterm Criterion Processor:
          simple projection:
           pi(activate#) = 0
           pi(from#) = 0
          problem:
           DPs:
            from#(X) -> activate#(X)
           TRS:
            and(true(),X) -> activate(X)
            and(false(),Y) -> false()
            if(true(),X,Y) -> activate(X)
            if(false(),X,Y) -> activate(Y)
            add(0(),X) -> activate(X)
            add(s(X),Y) -> s(n__add(activate(X),activate(Y)))
            first(0(),X) -> nil()
            first(s(X),cons(Y,Z)) -> cons(activate(Y),n__first(activate(X),activate(Z)))
            from(X) -> cons(activate(X),n__from(n__s(activate(X))))
            add(X1,X2) -> n__add(X1,X2)
            first(X1,X2) -> n__first(X1,X2)
            from(X) -> n__from(X)
            s(X) -> n__s(X)
            activate(n__add(X1,X2)) -> add(activate(X1),X2)
            activate(n__first(X1,X2)) -> first(activate(X1),activate(X2))
            activate(n__from(X)) -> from(X)
            activate(n__s(X)) -> s(X)
            activate(X) -> X
          SCC Processor:
           #sccs: 0
           #rules: 0
           #arcs: 2/1