fact: Fixpoint decode_list (s : nat) (b : T) (cd : CacheDecode) : option (list A * T * CacheDecode) := match s with | O => Some (nil, b, cd) | S s' => `(x, b1, e1) <- A_decode b cd; `(xs, b2, e2) <- decode_list s' b1 e1; Some (x :: xs, b2, e2) end.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.ZArith.ZArith Fiat.Narcissus.Common.Notations Fiat.Narcissus.Common.Specs Fiat.Narcissus.Common.ComposeOpt Fiat.Narcissus.BaseFormats Fiat.Narcissus.Formats.Base.FixFormat Coq.Lists.List