proposition: Lemma int_to_nat_nat n : int_to_nat Z N (f n) = n.
proof: Proof. apply (injective f). destruct (int_to_nat_spec (f n)) as [[??]|[? E]]; intuition. rewrite E, preserves_0. apply (antisymmetry (≤)); intuition. now apply to_semiring_nonneg. Qed.
imports: Coq.setoid_ring.Ring MathClasses.interfaces.naturals MathClasses.interfaces.abstract_algebra MathClasses.interfaces.orders MathClasses.orders.nat_int MathClasses.theory.integers MathClasses.theory.rings MathClasses.orders.rings