proposition: Lemma pow2_add_mul: forall a b, pow2 (a + b) = (pow2 a) * (pow2 b).
proof: Proof. induction a; destruct b; firstorder auto with arith; simpl. repeat rewrite Nat.add_0_r. rewrite Nat.mul_1_r; auto. repeat rewrite Nat.add_0_r. rewrite IHa. simpl. repeat rewrite Nat.add_0_r. rewrite Nat.mul_add_distr_r; auto. 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