Definition closed_wrt_modvars c (F: assert) : Prop :=
    closed_wrt_vars (modifiedvars c) F.Definition genv_symb_injective {F V} (ge: Genv.t F V) : extspec.injective_PTree block.Definition jsafeN {Z} (Hspec : juicy_ext_spec Z) (ge: genv) :=
  @jsafeN_ genv _ _ genv_symb_injective (*(genv_symb := fun ge: genv => Genv.genv_symb ge)*)
               (cl_core_sem ge) Hspec ge.

(* Specifications: *)
Lemma ext_join_approx : forall {Z} (z : Z) n g, joins g (Some (ghost_PCM.ext_ref z, NoneP) :: nil) -> joins (ghost_fmap (approx n) (approx n) g) (Some (ghost_PCM.ext_ref z, NoneP) :: nil).
Lemma ext_join_unapprox : forall {Z} (z : Z) n g, joins (ghost_fmap (approx n) (approx n) g) (Some (ghost_PCM.ext_ref z, NoneP) :: nil) -> joins g (Some (ghost_PCM.ext_ref z, NoneP) :: nil).