Fixpoint allNatsLt (n : nat) :=
  match n with
    | 0 => nil
    | S n' => allNatsLt n' ++ (n' :: nil)
  end.

Theorem map_eq_all : forall (A B : Type)(ls : list A)(f1 f2 : A -> B), map f1 ls = map f2 ls -> (forall a, In a ls -> f1 a = f2 a).