proposition: Lemma Vector_append_nil_r {A} : forall (sz : nat) (v : Vector.t A sz), v = eq_rect (sz + 0) _ (Vector.append v (Vector.nil A)) sz (sym_eq (plus_n_O _)).
proof: Proof. induction v; simpl; try (rewrite <- eq_rect_eq_dec; eauto with arith). rewrite IHv. erewrite eq_rect_Vector_cons; f_equal. repeat f_equal; eauto. 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