proposition: Lemma nat_le_plus {x y: N}: x ≤ y ↔ ∃ z, y = x + z.
proof: Proof. split; intros E. destruct (decompose_le E) as [z [Ez1 Ez2]]. now exists z. destruct E as [z Ez]. apply compose_le with z; [solve_propholds | easy]. Qed.
imports: Coq.setoid_ring.Ring MathClasses.interfaces.abstract_algebra MathClasses.interfaces.naturals MathClasses.interfaces.orders MathClasses.orders.rings MathClasses.orders.nat_int