(* Create a frequency list from a message *)
Fixpoint frequency_list (l : list A) : list (A * nat) :=
  match l with
  | nil => nil
  | a :: l1 => add_frequency_list a (frequency_list l1)
  end.

Theorem frequency_list_in : forall a n m, In (a, n) (frequency_list m) -> In a m.