(** * Correctness of the smart constructors for division and modulus *)
Section CMCONSTRS.
Variable prog: program.
Variable hf: helper_functions.
Hypothesis HELPERS: helper_functions_declared prog hf.
Let ge := Genv.globalenv prog.
Variable sp: val.
Variable e: env.
Variable m: mem.

(* Specifications: *)
Lemma is_intconst_sound:
forall v a n le,
is_intconst a = Some n -> eval_expr ge sp e m le a v -> v = Vint n.