TRS:
 {      fst(0(), Z) -> nil(),
  fst(s(), cons(Y)) -> cons(Y),
            from(X) -> cons(X),
        add(0(), X) -> X,
        add(s(), Y) -> s(),
         len(nil()) -> 0(),
       len(cons(X)) -> s()}
 MPO:
  Prec:
   from > cons, 
   fst > nil, 
   len > s, 
   len > 0
   empty
  Strict:
   {}
   Weak:
    {}
  Qed