induction ls; intuition; simpl in *.
unfold sumList; simpl.
eapply refl.
symmetry.
eapply ratMult_0_l.
eapply trans.
eapply refl.
eapply sumList_cons.
eapply trans.
2:{
eapply refl.
symmetry.
eapply eqRat_trans.
eapply ratMult_eqRat_compat.
eapply sumList_cons.
eapply eqRat_refl.
eapply ratMult_distrib_r.
}
eapply add_proper.
eapply refl.
intuition.
eapply IHls; intuition.
Qed.

(* Specifications: *)
Theorem evalDist_irr_l :
forall (A B : Set)(c : Comp A)(f : A -> Comp B)(y : B) rel v,
RatRel rel ->
well_formed_comp c ->
(forall x, In x (getSupport c) -> rel (evalDist (f x) y) v) ->
rel (evalDist (Bind c f) y) v.