proposition: Lemma build_aligned_ByteString_cons {numBytes} : forall (v : ByteBuffer.t (S numBytes)), (build_aligned_ByteString v) = ByteString_enqueue_ByteString (build_aligned_ByteString (Vector.cons _ (Vector.hd v) _ (ByteBuffer.nil))) (build_aligned_ByteString (Vector.tl v)).
proof: Proof. intros; rewrite <- (build_aligned_ByteString_append (Vector.tl v) (Vector.cons _ (Vector.hd v) _ (ByteBuffer.nil))). pattern numBytes, v; apply Vector.caseS; simpl; intros; reflexivity. 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