fact: Definition Pick_Decoder_For {S T} {cache : Cache} {monoid : Monoid T} Invariant FormatSpec (b : T) (ce : CacheFormat) := {a : option S | forall a' : S, a = Some a' <-> (exists b1 b2 (ce' : CacheFormat), computes_to (FormatSpec a' ce) (b1, ce') /\ b = mappend b1 b2 /\ Invariant a')}%comp.
imports: Coq.Lists.List Fiat.Common Fiat.Computation.Core Fiat.Computation.Notations Fiat.Narcissus.Common.Notations Fiat.Narcissus.Common.Monoid Fiat.Narcissus.Stores.Cache