(********************************************)

(* Specifications: *)
Lemma two_power_S : forall n : nat, two_power (S n) = two_power n * two.
(**************************************************)
Lemma two_power_S_lt : forall n : nat, two_power n < two_power (S n).
(***************************************************************)
Lemma two_power_mono : forall n p : nat, n < p -> two_power n < two_power p.
(*************************************************************)
Lemma two_power_le : forall n p : nat, n <= p -> two_power n <= two_power p.
(**************************************************************)
Lemma two_power_monoR : forall n p : nat, two_power n < two_power p -> n < p.
(****************************************************************)
(* if 2^n < z <2^(n+1), then z cannot be a power of 2 ! *)
(*********************************************************)
Lemma holes_in_powers :
forall n z : nat,
two_power n < z -> z < two_power (S n) -> forall p : nat, z <> two_power p.