proposition: Lemma log2_lt_cancel : forall a b, log2 a < log2 b -> a < b.
proof: Proof. intros a b H. destruct (le_gt_cases b 0) as [Hb|Hb]. - rewrite (log2_nonpos b) in H; trivial. generalize (log2_nonneg a); order. - destruct (le_gt_cases a 0) as [Ha|Ha]. + order. + destruct (log2_spec a Ha) as (_,LTa). destruct (log2_spec b Hb) as (LEb,_). apply le_succ_l in H. apply (pow_le_mono_r_iff 2) in H; order_pos. Qed.
imports: NZAxioms NZMulOrder NZPow