proposition: Lemma shiftl_mul_pow2 : forall a n, a << n == a * 2^n.
proof: Proof. intros a n. bitwise as m. destruct (le_gt_cases n m) as [H|H]. - now rewrite shiftl_spec_high', mul_pow2_bits_high. - now rewrite shiftl_spec_low, mul_pow2_bits_low. Qed.
imports: Bool NAxioms NSub NPow NDiv NParity NLog