intuition.
assert (sumList (filter (fun a0 : A => negb (P a0)) (getSupport c)) (evalDist c) == 1).
eapply leRat_impl_eqRat; trivial.
eapply leRat_trans.
eapply sumList_filter_le.
rewrite evalDist_lossless.
intuition.
trivial.
rewrite <- evalDist_lossless in H2; eauto.
rewrite (sumList_filter_partition P (getSupport c)) in H2.
symmetry in H2.
rewrite ratAdd_comm in H2.
apply ratAdd_arg_0 in H2.
eapply sumList_0 in H2; eauto.
eapply getSupport_In_evalDist.
eapply filter_In; eauto.
trivial.
Qed.

(* Specifications: *)
Theorem sumList_support_bool :
forall (c : Comp bool),
sumList (getSupport c) (evalDist c) ==
evalDist c true + evalDist c false.