Proof using.
intros l1; elim l1; simpl in |- *; auto.
intros a l H l2 a0; case (eqA_dec a0 a); intros H1; simpl in |- *; auto.
Qed.

(* Specifications: *)
(* Permutation preserves the number of occurrences *)
Theorem number_of_occurrences_permutation :
forall l1 l2 a,
permutation l1 l2 -> number_of_occurrences a l1 = number_of_occurrences a l2.