proposition: Lemma Vector_append_destruct3 {A n1 n2 n3} (v : Vector.t A (n1+(n2+n3))) : exists v1 v2 v3, v = Vector.append v1 (Vector.append v2 v3).
proof: Proof. destruct (Vector_append_destruct v) as [v1 [v23 ?]]. destruct (Vector_append_destruct v23) as [v2 [v3 ?]]. exists v1, v2, v3. subst. 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 Coq.Strings.String Coq.Vectors.Vector Fiat.Narcissus.Formats.WordOpt Fiat.Common.Equality