Module Type NSubProp (Import N : NAxiomsMiniSig').
Include NMulOrderProp N.
(* This could be proved by adding m to both sides. Then the proof would use add_sub_assoc and sub_0_le, which is proven below. *)
(** Sub and order *)
(** Unfortunately, we do not have [n < m + p -> n - p < m]. For instance [1<0+2] but not [1-2<0]. *)
(** Unfortunately, we do not have [n <= m - p -> n + p <= m]. For instance [0<=1-2] but not [2+0<=1]. *)

Lemma sub_le_mono_r : forall n m p, n <= m -> n-p <= m-p.