fact: Definition repr_cmd {A} (c : command A) : rFreeF (@ops_StP heap_choiceType) (@ar_StP heap_choiceType) A := match c with | cmd_op o x => retrFree (chCanonical (chtgt o)) | cmd_get ℓ => bindrFree (ropr gett (λ s, retrFree (get_heap s ℓ))) (λ v, retrFree v) | cmd_put ℓ v => bindrFree (ropr gett (λ s, ropr (putt (set_heap s ℓ v)) (λ s, retrFree tt))) (λ s', retrFree s') | cmd_sample op => bindrFree (ropr (op_iota op) (λ v, retrFree v)) (λ s, retrFree s) end.
imports: Coq(Utf8) Relational(OrderEnrichedCategory OrderEnrichedRelativeMonadExamples) mathcomp(ssrnat ssreflect ssrfun ssrbool ssrnum eqtype choice reals distr seq all_algebra fintype realsum) extructures(ord fset fmap) Mon(SPropBase) Crypt(Prelude Axioms ChoiceAsOrd SubDistr Couplings RulesStateProb UniformStateProb UniformDistrLemmas StateTransfThetaDens StateTransformingLaxMorph choice_type pkg_core_definition pkg_notation pkg_tactics pkg_composition pkg_heap) Equations.Prop.DepElim Equations(Equations) Crypt(FreeProbProg)