Module ErasureProof := erasure_proof.Parching.Module Erasure := ErasureFnctr ErasureProof.(*Definition local_erasure:= erasure initU init_rmap init_pmap init_rmap_perm.*)
  Definition step_diagram:= ErasureProof.core_diagram.

(* Specifications: *)
Lemma erasure_safety': forall n ge sch js jtr ds dtr m, ErasureProof.match_st ge js ds -> DryHybridMachine.invariant ds -> jm_csafe (sch, jtr, js) m n -> HybridMachineSig.HybridCoarseMachine.csafe (sch, dtr, ds) m n.
Theorem erasure_safety: forall ge cd j js ds m n, Erasure.match_state ge cd j js m ds m -> jm_csafe js m n -> HybridMachineSig.HybridCoarseMachine.csafe ds m n.
Lemma no_locks_no_locks_perm : forall r, Parching.no_locks_perm r <-> initial_world.no_locks r.
Lemma juice2Perm_match : forall m r, access_cohere' m r -> Parching.match_rmap_perm r (juice2Perm r m, empty_map).