(* listRepeat is used to show some interesting properties of rel_map and pred_count. *)
Fixpoint listRepeat(A : Type)(a : A) n :=
  match n with
    | 0 => nil
    | S n' => a :: (listRepeat a n')
  end.

Lemma pred_count_listRepeat_ne_inv : forall n (A : Type)(a1 a2 : A) count, a1 <> a2 -> pred_count (eq a1) (listRepeat a2 n) count -> count = O.