proposition: Lemma divide_pos_le : forall n m, 0 < m -> (n | m) -> n <= m.
proof: Proof. intros n m Hm (q,Hq). destruct (le_gt_cases n 0) as [Hn|Hn]. - order. - rewrite Hq. destruct (lt_ge_cases q 0) as [Hq'|Hq']. + generalize (mul_neg_pos q n Hq' Hn). order. + le_elim Hq'. * rewrite <- (mul_1_l n) at 1. apply mul_le_mono_pos_r; trivial. now rewrite one_succ, le_succ_l. * rewrite <- Hq', mul_0_l in Hq. order. Qed.
imports: NZAxioms NZMulOrder