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

Lemma mult_pow2_bound_ex: forall a c x y, x < pow2 a -> y < pow2 (c - a) -> c >= a -> x * y < pow2 c.