Module Nat2Pos.
(** [Pos.of_nat] is a bijection between non-zero [nat] and [positive], with [Pos.to_nat] as reciprocal. See [Pos2Nat.id] above for the dual equation. *)

(* Specifications: *)
Theorem id (n:nat) : n<>0 -> Pos.to_nat (Pos.of_nat n) = n.
Theorem id_max (n:nat) : Pos.to_nat (Pos.of_nat n) = max 1 n.
(** [Pos.of_nat] is hence injective for non-zero numbers *)
Lemma inj (n m : nat) : n<>0 -> m<>0 -> Pos.of_nat n = Pos.of_nat m -> n = m.
Lemma inj_iff (n m : nat) : n<>0 -> m<>0 ->
(Pos.of_nat n = Pos.of_nat m <-> n = m).