Definition IndexSeq_uncons l b:
    IndexSeq b l -> l <> nil -> exists l', exists p: Index, nb_val p = b /\ Permutation.Permutation (p :: l') l.

(* Specifications: *)
Lemma IndexSeq_cons_inv (b: Index) (l: list Index): IndexSeq b (b :: l) -> IndexSeq (S b) l.
Lemma vec_IndexSeq_nats_perm b n (v: Vector.t Index n): IndexSeq b v -> vec.Permutation (vec.map nb_val v) (vec.nb_nats b n).
Lemma nats_Permutation_IndexSeq' b n (l: Vector.t Index n): vec.Permutation (vec.map nb_val l) (vec.nb_nats b n) -> IndexSeq b l.