proposition: Lemma kgen_valid {L I} (l: nat): ('option 'word ; l) \in L -> ValidCode L I (kgen ('option 'word ; l)).
proof: Proof. move=> H. apply: valid_getr => [// | [k|]]. 1: by apply: valid_ret. apply: valid_sampler => k. apply: valid_putr => //. by apply: valid_ret => //. Qed.
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)