Set Implicit Arguments.
Unset Standard Proposition Elimination Names.
Arguments length {A}.
Section contents.
Variables (X: Set) (eq_X_dec: forall (x y: X), { x = y } + { x <> y }).
Definition beq_X (x y: X): bool := unsum_bool (eq_X_dec x y).

(* Specifications: *)
Lemma counts_0_length_0 (l: list X): (forall i, count (beq_X i) l = 0%nat) -> length l = 0%nat.
Proof with auto.