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 extern_semantics_preservation c c' d m m' tm cd j ef sig args : trace_match_state cd j c m d tm -> corestep tr_source geS c m c' m' -> at_external source (snd c) = Some (ef, sig, args) -> exists cd' j' d' tm', corestep tr_target geT d tm d' tm' /\ trace_match_state cd' j' c' m' d' tm'.