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