(** 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_set_locals:
forall map1 s1,
map_wf map1 ->
forall il rl map2 s2 e le rs i,
match_env map1 e le rs ->
(forall r, reg_fresh r s1 -> rs#r = Vundef) ->
add_vars map1 il s1 = OK (rl, map2) s2 i ->
match_env map2 (set_locals il e) le rs.