Definition marshal j m args tm targs :=
  Build_SM_Injection
  (fun _ => false) (fun _ => false)
  (fun _ => false) (fun _ => false)
  (fun _ => None)
  (DomSrc j)
  (DomTgt j)
  (REACH m (getBlocks args))
  (REACH tm (getBlocks targs))
  (as_inj j).

Lemma injsep_marshal' j j' m args tm targs m1 m2 : sm_inject_separated (marshal j m args tm targs) j' m1 m2 -> sm_inject_separated j j' m1 m2.