unfold ListHybrid_Advantage.
rewrite G_1_hybrid_eq.
rewrite G_2_hybrid_eq.
rewrite ratDistance_comm.
rewrite (@ratDistance_sequence_sum (fun i => Pr[G_hybrid i])); intuition.
eapply sumList_le.
intuition.
eapply eqRat_impl_leRat.
eapply hybrid_incr_close.
Qed.
Variable maxDistance : Rat.
Hypothesis maxDistance_correct :
forall i, DistSingle_Adv c1 c2 (B1 i) B2 <= maxDistance.

(* Specifications: *)
Theorem Single_impl_ListHybrid :
ListHybrid_Advantage <= maxA / 1 * maxDistance.