Definition genvs_domain_eq {F1 F2 V1 V2: Type} (ge1: Genv.t F1 V1) (ge2: Genv.t F2 V2) :=
  (forall b, fst (genv2blocks ge1) b <-> fst (genv2blocks ge2) b) /\
  (forall b, snd (genv2blocks ge1) b <-> snd (genv2blocks ge2) b).

Lemma meminj_preserves_incr_sep_vb: forall {F V:Type} ge j (PG: @meminj_preserves_globals F V ge j) m tm (VB: forall b1 b2 ofs, j b1 = Some(b2,ofs) -> (Mem.valid_block m b1 /\ Mem.valid_block tm b2)) j' (INCR : inject_incr j j') (SEP: inject_separated j j' m tm), meminj_preserves_globals ge j'.