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 safe_match_target_step cd j c m d tm z tr : (forall n, safeN tr_source geS n (z,tr,c) m) -> match_state cd j c m d tm -> ~TraceSemantics.yielded target d -> exists c' m' d' tm' n tn, corestepN source geS n c m c' m' /\ corestepN target geT (S tn) d tm d' tm' /\ exists cd' j', match_state cd' j' c' m' d' tm'.