fact: Definition CorrectDecoderFor {S T} {cache : Cache} {monoid : Monoid T} Invariant FormatSpec := { decodePlusCacheInv : _ | exists P_inv, (cache_inv_Property (snd decodePlusCacheInv) P_inv -> CorrectDecoder (S := S) monoid Invariant Invariant eq FormatSpec (fst decodePlusCacheInv) (snd decodePlusCacheInv) FormatSpec) /\ cache_inv_Property (snd decodePlusCacheInv) P_inv}.
imports: Coq.Lists.List Fiat.Common Fiat.Computation.Core Fiat.Computation.Notations Fiat.Narcissus.Common.Notations Fiat.Narcissus.Common.Monoid Fiat.Narcissus.Stores.Cache