fact: Fixpoint decode_string (s : nat) (b : B) (cd : CacheDecode) : option (string * B * CacheDecode) := match s with | O => Some (EmptyString, b, cd) | S s' => `(x, b1, e1) <- decode_ascii b cd; `(xs, b2, e2) <- decode_string s' b1 e1; Some (String x xs, b2, e2) end.
imports: Fiat.Narcissus.Common.Specs Fiat.Narcissus.Formats.AsciiOpt Bedrock.Word Coq.Strings.Ascii Coq.Strings.String