proposition: Lemma Npow2_S: forall n, Npow2 (S n) = (Npow2 n + Npow2 n)%N.
proof: Proof. simpl; intros. destruct (Npow2 n); auto. rewrite <-Pos.add_diag. reflexivity. Qed.
imports: Coq.Classes.Morphisms Coq.Classes.Morphisms_Prop Coq.Bool.Bool Coq.Arith.Arith Coq.micromega.Lia Coq.NArith.NArith Coq.ZArith.ZArith bbv.N_Z_nat_conversions bbv.Nomega