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]. *)

Theorem sub_lt : forall n m, m <= n -> 0 < m -> n - m < n.