(** And we can't find better approximations in general. - The upper bound is exact for powers of 2. - Concerning the lower bound, for any c>1, take a=b=2^c+1, then [log2_up (a*b) = c+c +1] while [(log2_up a) = (log2_up b) = c+1] *)
(** At least, we get back the usual equation when we multiply by 2 (or 2^k) *)

(** [log2_up] and successor : - the [log2_up] function climbs by at most 1 at a time - otherwise it stays at the same value - the +1 steps occur after powers of two *)
Lemma log2_up_succ_le : forall a, log2_up (S a) <= S (log2_up a).