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_agree:
forall s f rs m,
wt_state (Callstate s f rs m) ->
agree_callee_save rs (parent_locset s) /\ agree_outgoing_arguments (funsig f) rs (parent_locset s).