(** Injections on registers *)

  Definition reg_ren f (r:PregEq.t) (rs rs' : regset) : Prop :=
    val_obs f (Pregmap.get r rs) (Pregmap.get r rs').Definition regset_ren f rs rs' : Prop :=
    forall r, reg_ren f r rs rs'.Definition core_inj f c c' :=
    match c, c' with State rs _, State rs' _ => regset_ren f rs rs' end.

Lemma make_arguments_wd: forall f rs rs' m m' loc args (Hrs_wd: regset_wd f rs) (Hmem_wd: valid_mem m) (Hdomain: domain_memren f m) (Hvalid_val: valid_val_list f args) (Hmake_args: make_arguments rs m loc args = Some (rs', m')), regset_wd f rs' /\ valid_mem m' /\ domain_memren f m'.