(** The assignment of function arguments to local variables (on the Cminor side) and pseudo-registers (on the RTL side) preserves matching between environments. *)

Lemma match_init_env_init_reg:
forall j params s0 rparams map1 s1 i1 vars rvars map2 s2 i2 vparams tvparams,
add_vars init_mapping params s0 = OK (rparams, map1) s1 i1 ->
add_vars map1 vars s1 = OK (rvars, map2) s2 i2 ->
val_list_inject j vparams tvparams ->
match_env j map2 (set_locals vars (set_params vparams params))
nil (init_regs tvparams rparams).