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 setMaxPerm_inv: forall m, SimDefs.max_inv (@diluteMem FineDilMem m).