(** Utility proofs for mixed 32bit and 64bit arithmetic *)
Remark int_unsigned_range:
forall x, 0 <= Int.unsigned x <= max_unsigned.
Remark int_unsigned_repr:
forall x, unsigned (repr (Int.unsigned x)) = Int.unsigned x.

(* Specifications: *)
Lemma int_sub_ltu:
forall x y,
Int.ltu x y= true ->
Int.unsigned (Int.sub y x) = unsigned (sub (repr (Int.unsigned y)) (repr (Int.unsigned x))).
Lemma int_sub_ltu:
forall x y,
Int.ltu x y= true ->
Int.unsigned (Int.sub y x) = unsigned (sub (repr (Int.unsigned y)) (repr (Int.unsigned x))).