fact: Definition ATTACK_GEN_pkg: package fset0 [interface #val #[query]: 'nat → ('seq 'word) × 'word ] [interface #val #[attack]: 'seq 'word → ('seq 'word) × 'word ] := [package #def #[attack] (m: 'seq 'word): ('seq 'word) × 'word { #import {sig #[query]: 'nat → ('seq 'word) × 'word } as query ;; ts ← query (size m) ;; c ← @map_loop _ 'word _ (zip (unzip2 ts.1) (unzip2 m)) tt (fun tm _ => let (ti, mi) := (tm.1, tm.2) in ret (enc ti mi, tt) ) ;; ret (c.1, ts.2) } ].
imports: Relational(OrderEnrichedCategory GenericRulesSimple) mathcomp(all_ssreflect all_algebra reals distr realsum ssrnat ssreflect ssrfun ssrbool ssrnum eqtype choice seq) Mon(SPropBase) Crypt(Axioms ChoiceAsOrd SubDistr Couplings UniformDistrLemmas FreeProbProg Theta_dens RulesStateProb pkg_core_definition choice_type pkg_composition pkg_rhl Package Prelude) extructures(ord fset fmap) Equations(Equations)