proposition: Lemma decompose_le {x y} : x ≤ y → ∃ z, 0 ≤ z ∧ y = x + z.
proof: Proof. intros E. destruct (srorder_partial_minus x y E) as [z Ez]. exists z. split; [| easy]. apply (order_reflecting (x+)). now rewrite plus_0_r, <-Ez. Qed.
imports: Coq.setoid_ring.Ring MathClasses.interfaces.abstract_algebra MathClasses.interfaces.orders MathClasses.theory.rings MathClasses.orders.orders MathClasses.orders.maps