Inductive repr : Z -> val -> Prop :=
| mk_repr : forall z, z >= 0 -> repr z (Vint (Int.repr z)).Inductive repr : Z -> val -> Prop :=
| mk_repr : forall z, z >= 0 -> repr z (Vint (Int.repr z)).

(* Specifications: *)
Lemma repr0_not_odd z n : repr z (Vint n) -> Int.eq n (Int.repr 0) = true -> Z.odd z = false.
Lemma repr0_even z n : repr z (Vint n) -> Int.eq n (Int.repr 0) = true -> Z.even z = true.
Lemma repr_eq0_not0 z : Int.eq (Int.repr z) (Int.repr 0) = false -> z <> 0.