Section SOUNDNESS.
Variable prog: program.
Let ge := Genv.globalenv prog.
Hypothesis wt_prog:
forall i fd, In (i, Gfun fd) prog.(prog_defs) -> wt_fundef fd.
End SOUNDNESS.
(** Properties of well-typed states that are used in [Stackingproof]. *)

Lemma wt_callstate_wt_regs:
forall s f rs m,
wt_state (Callstate s f rs m) ->
forall r, Val.has_type (rs (R r)) (mreg_type r).