(* A minimal preservation property we sometimes require.*)
Definition mem_forward (m1 m2:mem) :=
(forall b, Mem.valid_block m1 b ->
Mem.valid_block m2 b /\
forall ofs p, Mem.perm m2 b ofs Max p -> Mem.perm m1 b ofs Max p).

Lemma valinject_hastype:  forall j v v'
(V: (val_inject j) v v') T,
Val.has_type v' T -> Val.has_type v T.