Definition int_op e :=
  match e with
  | Load v | Store v => tc_val tint v
  | CAS r c w => tc_val tint r /\ tc_val tint c /\ tc_val tint w
  end.Definition make_int v := match v with Vint i => Int.signed i | _ => 0 end.

(* Specifications: *)
Lemma make_int_spec : forall v, tc_val tint v -> vint (make_int v) = v.
Lemma make_int_repable : forall v, repable_signed (make_int v).
Lemma int_op_value : forall e, int_op e -> tc_val tint (value_of e).