proposition: Lemma log2_up_eq_succ_iff_pow2 : forall a, 0<a -> (log2_up (S a) == S (log2_up a) <-> exists b, a == 2^b).
proof: Proof. intros a Ha. split. - apply log2_up_eq_succ_is_pow2. - intros (b,Hb). destruct (lt_ge_cases b 0) as [Hb'|Hb']. + rewrite pow_neg_r in Hb; order. + rewrite Hb, log2_up_pow2; try order'. now rewrite log2_up_succ_pow2. Qed.
imports: NZAxioms NZMulOrder NZPow