(* (Htp': tp' = updThread cnt0 (Kresume c) pmap_tid')
            (Htp'': tp'' = updLockSet tp' pmap_lp), *)
          Definition WorF (sh: share): permission:=
            if eq_dec sh Share.top then Freeable else Writable.Definition empty_delta_map: delta_map:= PTree.empty (Z -> option (option permission)).

Lemma core_diagram: forall (m : Mem.mem) (U0 U U': schedule) rmap pmap (ds : dstate) dtr (js js': jstate) jtr jtr' (m' : Mem.mem), corestep (JMachineSem U0 rmap) (U, jtr, js) m (U', jtr', js') m' -> match_st js ds -> invariant ds -> exists (ds' : dstate), invariant ds' /\ match_st js' ds' /\ exists dtr', corestep (ClightMachineSem U0 pmap) (U, dtr, ds) m (U', dtr ++ dtr', ds') m'.