Section applications.
Variable log2 : forall n : nat, 0 < n -> log2_spec n.
(* logarithm by excess *)
(***********************)
(**********************************************)
(* logarithm by default *)

Lemma floor_log2 :
forall n : nat,
0 < n -> {l : nat | two_power l <= n /\ n < two_power (S l)}.