proposition: Theorem unconditional_secrecy : ∀ LA A, ValidPackage LA [interface #val #[i1] : 'word → 'word ] A_export A → Advantage IND_CPA A = 0.
proof: Proof. intros LA A vA. rewrite Advantage_E. eapply IND_CPA_ideal_real. 1: eauto. all: eapply fdisjoints0. Qed.
imports: Relational(OrderEnrichedCategory GenericRulesSimple) mathcomp(all_ssreflect all_algebra reals distr fingroup.fingroup realsum ssrnat ssreflect ssrfun ssrbool ssrnum eqtype choice seq) Crypt(Axioms ChoiceAsOrd SubDistr Couplings UniformDistrLemmas FreeProbProg Theta_dens RulesStateProb UniformStateProb pkg_composition pkg_rhl Package Prelude) Coq(Utf8 Lia) extructures(ord fset fmap) Equations(Equations)