TRS:
 {             first(0(), X) -> nil(),
     first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z))),
                     from(X) -> cons(X, n__from(s(X))),
               first(X1, X2) -> n__first(X1, X2),
                     from(X) -> n__from(X),
  activate(n__first(X1, X2)) -> first(X1, X2),
        activate(n__from(X)) -> from(X),
                 activate(X) -> X}
 MPO:
  Prec:
   0 > nil, 
   first ~ activate ~ from > n__first, 
   first ~ activate ~ from > n__from, 
   first ~ activate ~ from > s, 
   first ~ activate ~ from > cons
   empty
  Strict:
   {}
   Weak:
    {}
  Qed