proposition: Lemma split2eta : forall n2 n1 p, let (p1,p2) := split2 n1 n2 p in p = p1 ## p2.
proof: Proof. unfold split2. induction n2. - move =>n1 p. by rewrite /catB catNil. - move => n1. case/tupleP => x p. rewrite /= (IHn2 n1 p). rewrite beheadCons theadCons high_catB low_catB. by rewrite /catB catCons. Qed.
imports: Coq(ZArith.ZArith) mathcomp.ssreflect.ssreflect mathcomp(ssrfun ssrbool eqtype ssrnat seq fintype tuple div zmodp ssralg) ssrextra.nat ssrextra.tuple spec.spec