proposition: Lemma fromNat_wrapMany n c : forall m, fromNat (n:=n) m = fromNat (n:=n) (m + c * 2^n).
proof: Proof. induction c => m. by rewrite mul0n addn0. rewrite mulSn (addnC (2^n)) addnA fromNat_wrap. rewrite IHc. by rewrite -addnA (addnC (2^n)) addnA. 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