Notation pow2 := (Nat.pow 2).Fixpoint Npow2 (n : nat) : N :=
  match n with
    | O => 1
    | S n' => 2 * Npow2 n'
  end%N.

Lemma mul_div_exact: forall (a b: nat), b <> 0 -> a mod b = 0 -> b * (a / b) = a.