Section VAL_INJ_OPS.
Variable f: meminj.
Remark add_inject:
forall v1 v1' v2 v2',
inject f v1 v1' ->
inject f v2 v2' ->
inject f (Val.add v1 v2) (Val.add v1' v2').
Remark sub_inject:
forall v1 v1' v2 v2',
inject f v1 v1' ->
inject f v2 v2' ->
inject f (Val.sub v1 v2) (Val.sub v1' v2').
Remark addl_inject:
forall v1 v1' v2 v2',
inject f v1 v1' ->
inject f v2 v2' ->
inject f (Val.addl v1 v2) (Val.addl v1' v2').
Remark subl_inject:
forall v1 v1' v2 v2',
inject f v1 v1' ->
inject f v2 v2' ->
inject f (Val.subl v1 v2) (Val.subl v1' v2').

Lemma offset_ptr_inject:
forall v v' ofs, inject f v v' -> inject f (offset_ptr v ofs) (offset_ptr v' ofs).