Definition Zcmp (op: comparison) : Z -> Z -> Prop :=
match op with
| Ceq => eq
| Cne => (fun i j => i<>j)
| Clt => Z.lt
| Cle => Z.le
| Cgt => Z.gt
| Cge => Z.ge
end.

(* Specifications: *)
Lemma int_cmp_repr:
forall op i j, repable_signed i -> repable_signed j ->
Int.cmp op (Int.repr i) (Int.repr j) = true ->
Zcmp op i j.
Lemma typed_false_cmp_repr:
forall op i j,
repable_signed i -> repable_signed j ->
typed_false tint (force_val (sem_cmp op tint tint
(Vint (Int.repr i))
(Vint (Int.repr j)) )) ->
Zcmp (negate_comparison op) i j.
Lemma typed_true_cmp_repr:
forall op i j,
repable_signed i -> repable_signed j ->
typed_true tint (force_val (sem_cmp op tint tint
(Vint (Int.repr i))
(Vint (Int.repr j)) )) ->
Zcmp op i j.