fact: Definition TAG_GUESS_pkg: package TAG_GUESS_locs [interface #val #[lookup]: 'word → 'word ; #val #[guess]: 'word × 'word → 'bool ] [interface #val #[gettag]: 'word → 'word ; #val #[checktag]: 'word × 'word → 'bool ] := [package #def #[gettag] (m: 'word): 'word { #import {sig #[lookup]: 'word → 'word } as lookup ;; S ← get S_loc ;; t ← lookup m ;; #put S_loc := setm S (m, t) tt ;; ret t } ; #def #[checktag] ('(m, t): 'word × 'word): 'bool { #import {sig #[guess]: 'word × 'word → 'bool } as guess ;; r ← guess (m, t) ;; ret r } ].
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)