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.