proposition: Lemma fromNatDouble b n : forall m, cons_tuple b (fromNat (n:=n) m) = fromNat (b + m.*2).
proof: Proof. move => m. rewrite /fromNat-/fromNat/=. rewrite oddD odd_double. destruct b. simpl. by rewrite uphalf_double. by rewrite add0n half_double. Qed.
imports: HB(structures) mathcomp.ssreflect.ssreflect mathcomp(ssrfun ssrbool eqtype ssrnat seq fintype tuple zmodp div) ssrextra.tuple ssrextra.nat spec spec.properties operations