proposition: Lemma length_ByteString_queue_into_ByteString' : forall (l : BitString) (bs : ByteString), length_ByteString (List.fold_left (fun bs' b => ByteString_enqueue b bs') l bs) = Datatypes.length l + length_ByteString bs.
proof: Proof. induction l; simpl; intros; eauto. rewrite IHl; simpl. pose proof (@measure_enqueue ByteString _ _ _ a bs) as H; simpl in H; rewrite H; simpl; omega. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Bedrock.Word Coq.ZArith.ZArith Coq.NArith.NArith Coq.Arith.Arith Coq.Numbers.Natural.Peano.NPeano Coq.Logic.Eqdep_dec Fiat.Narcissus.Common.Specs Fiat.Narcissus.BinLib.Core Fiat.Narcissus.Formats.ByteBuffer Coq.Strings.String Coq.Vectors.Vector Fiat.Narcissus.Formats.WordOpt Fiat.Common.Equality