fact: Definition option_decode {S T} {cache : Cache} {cacheAddNat : CacheAdd cache nat} (monoid : Monoid T) (decode_Some : DecodeM (S * T) T) (decode_None : DecodeM (() * T) T) (b' : bool) : DecodeM (option S * T) T := (fun (b : T) (env : CacheDecode) => If b' Then match decode_Some b env with | Some (a, b, c) => Some ((Some a, b), c) | None => None end Else match decode_None b env with | Some (a, b, c) => Some ((None, b), c) | None => None end).
imports: Fiat.Common Fiat.Computation Fiat.Computation.Notations Fiat.Narcissus.Common.Specs Fiat.Narcissus.Common.WordFacts Fiat.Narcissus.BaseFormats