intuition.
simpl.
destruct (bind_eq_dec ({ 0 , 1 }^1) (fun m : Bvector 1 => ret Vector.hd m)
false true).
discriminate.
unfold sumList.
simpl.
destruct (EqDec_dec bool_EqDec true false).
discriminate.
destruct (EqDec_dec bool_EqDec false true).
discriminate.
destruct (EqDec_dec bool_EqDec true true).
destruct (EqDec_dec bool_EqDec false false).
repeat rewrite <- ratAdd_0_l.
repeat rewrite ratMult_0_r.
repeat rewrite <- ratAdd_0_r.
repeat rewrite <- ratAdd_0_l.
repeat rewrite ratMult_1_r.
eapply ratAdd_eqRat_compat;
eapply ratMult_eqRat_compat; intuition.
intuition.
intuition.
Qed.
Section TwoWorldsEquiv.
Variable f : nat -> bool -> Comp bool.
Hypothesis f_wf : forall n b, well_formed_comp (f n b).
Section TwoWorldsEquiv_eta.
Variable eta : nat.
Definition StandardDef_G :=
b <-$ {0, 1};
b' <-$ f eta b;
ret (eqb b b').

Theorem StandardDef_equiv_2W_h :
| Pr[StandardDef_G] - 1 / 2 | == (1 / 2) * | Pr[f eta true] - Pr[f eta false] |.