Module Type ZMulOrderProp (Import Z : ZAxiomsMiniSig').
Include ZAddOrderProp Z.
Notation mul_pos := lt_0_mul (only parsing).
Notation mul_neg := lt_mul_0 (only parsing).
Notation mul_nonneg := le_0_mul (only parsing).
Notation mul_nonpos := le_mul_0 (only parsing).
Notation le_0_square := square_nonneg (only parsing).

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