Definition val_inject_opt (j: meminj) (v1 v2: option val) :=
  match v1, v2 with Some v1', Some v2' => val_inject j v1' v2'
  | None, None => True
  | _, _ => False
  end.

Lemma forall_val_inject_compose: forall vals1 vals2 j1 (ValsInj12 : Forall2 (val_inject j1) vals1 vals2) vals3 j2 (ValsInj23 : Forall2 (val_inject j2) vals2 vals3), Forall2 (val_inject (compose_meminj j1 j2)) vals1 vals3.