Class FineInit :=
      { init_mem : Memory.Mem.mem; (** some initial memory *)
        init_mem_wd: (** The initial memory is well-defined*)
          valid_mem init_mem;
        the_ge_wd:   (** The initial global env is well-defined*)
          ge_wd (id_ren init_mem) the_ge
      }.Class FineInit :=
      { init_mem : Memory.Mem.mem; (** some initial memory *)
        init_mem_wd: (** The initial memory is well-defined*)
          valid_mem init_mem;
        the_ge_wd:   (** The initial global env is well-defined*)
          ge_wd (id_ren init_mem) the_ge
      }.Class FineInit :=
      { init_mem : Memory.Mem.mem; (** some initial memory *)
        init_mem_wd: (** The initial memory is well-defined*)
          valid_mem init_mem;
        the_ge_wd:   (** The initial global env is well-defined*)
          ge_wd (id_ren init_mem) the_ge
      }.Class FineInit :=
      { init_mem : Memory.Mem.mem; (** some initial memory *)
        init_mem_wd: (** The initial memory is well-defined*)
          valid_mem init_mem;
        the_ge_wd:   (** The initial global env is well-defined*)
          ge_wd (id_ren init_mem) the_ge
      }.

Lemma strong_tsim_refl: forall pmap tp m' i (cnti: containsThread tp i) (Hcomp: mem_compatible tp m') (HcompF: mem_compatible tp (@diluteMem FineDilMem m')) (ARGS:valid_val_list (id_ren init_mem) arg), @init_mach DryHybridMachine.dryResources _ _ _ pmap init_mem tp m' f arg -> SimDefs.strong_tsim (id_ren m') cnti cnti Hcomp HcompF.