proposition: Theorem IND_CPA_SecretKey_2Proc_impl_O : IND_CPA_SecretKey_O_3Proc_Advantage == IND_CPA_SecretKey_O_Advantage A_c _ ptDefault.
proof: Proof. unfold IND_CPA_SecretKey_O_3Proc_Advantage, IND_CPA_SecretKey_O_Advantage. unfold IND_CPA_SecretKey_O_3Proc_G0, IND_CPA_SecretKey_O_3Proc_G1. unfold IND_CPA_SecretKey_O_G0, IND_CPA_SecretKey_O_G1. unfold A_c. Local Opaque evalDist. simpl. eapply ratDistance_eqRat_compat. comp_at comp_inline rightc 1%nat. comp_swap_r. inline_first. comp_skip. comp_simp. comp_skip. simpl. inline_first. comp_skip. comp_simp. inline_first. rewrite <- evalDist_right_ident. comp_skip. comp_simp. reflexivity. comp_at comp_inline rightc 1%nat. comp_swap_r. inline_first. comp_skip. comp_simp. comp_skip. simpl. inline_first. comp_skip. comp_simp. inline_first. rewrite <- evalDist_right_ident. comp_skip. comp_simp. reflexivity. Qed.
imports: FCF.FCF FCF.CompFold FCF.Hybrid