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

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