fact: Fixpoint Vector_split {A} (n m : nat) (v : Vector.t A (n + m)) : Vector.t A n * Vector.t A m := match n return Vector.t A (n + m) -> Vector.t A n * Vector.t A m with | 0 => fun v => (Vector.nil _, v) | S n' => fun v => let (v', v'') := Vector_split n' m (Vector.tl v) in (Vector.cons _ (Vector.hd v) _ v', v'') end v.
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