Definition halt_match c m d tm :=
  exists rv trv,
    halted source c = Some rv
    /\ halted target d = Some trv
    /\ P rv m
    /\ P trv tm.

Lemma corestep_ord': forall cd j, match_state cd j c m d tm -> halt_match c m d tm \/ (exists cd' j' c' m', corestep_plus source geS c m c' m' /\ ((match_state cd' j' c' m' d tm /\ halt_match c' m' d tm) \/ (exists d' tm', corestep_plus target geT d tm d' tm' /\ match_state cd' j' c' m' d' tm'))).