(** * Agreement between Mach registers and processor registers *)
Record agree (ms: Mach.regset) (sp: val) (rs: Asm.regset) : Prop := mkagree {
agree_sp: rs#SP = sp;
agree_sp_def: sp <> Vundef;
agree_mregs: forall r: mreg, Val.lessdef (ms r) (rs#(preg_of r))
}.

Lemma ireg_val:
forall ms sp rs r r',
agree ms sp rs ->
ireg_of r = OK r' ->
Val.lessdef (ms r) rs#r'.