End ZIndexed.
Module ZMap := IMap(ZIndexed).
Module NIndexed.
Definition t := N.
Definition index (n: N): positive :=
match n with
| N0 => xH
| Npos p => xO p
end.

(* Specifications: *)
Lemma index_inj: forall (x y: N), index x = index y -> x = y.
Lemma eq: forall (x y: N), {x = y} + {x <> y}.
End NIndexed.
Lemma index_inj: forall (x y: N), index x = index y -> x = y.
Lemma eq: forall (x y: N), {x = y} + {x <> y}.
End NIndexed.