eapply leRat_trans.
eapply fundamental_lemma_h.
eapply  G2_3_4_bad_eq .
eapply  G2_3_4_eq_until_bad.
rewrite G2_3_bad_equiv.
rewrite G2_3_bad_small.
intuition.
Qed.
Definition G2_5 :=
[b, _] <-$2 A _ _ (fun s a => randomFunc_mem _ _ ({0, 1}^c) s a) nil;
ret b.

Theorem G2_4_5_equiv :
Pr[x <-$ G2_4; ret fst x] == Pr[G2_5].