fact: Definition create_space_spec := DECLARE _create_space WITH sh: share, s: val, n: Z, gv: globals, rsh: share PRE [tptr space_type, if Archi.ptr64 then tulong else tuint] PROP (writable_share sh; readable_share rsh; 0 <= n <= MAX_SPACE_SIZE) PARAMS (s; if Archi.ptr64 then Vlong (Int64.repr n) else Vint (Int.repr n)) GLOBALS (gv) SEP (mem_mgr gv; all_string_constants rsh gv; data_at_ sh space_type s) POST [tvoid] EX p: val, PROP () RETURN () SEP (mem_mgr gv; all_string_constants rsh gv; malloc_token Ews (tarray int_or_ptr_type n) p; data_at_ Ews (tarray int_or_ptr_type n) p; data_at sh space_type (p, (p, (offset_val (WORD_SIZE * n) p,offset_val (WORD_SIZE * n) p))) s).
imports: VST.veric.rmaps CertiGraph.lib.List_ext CertiGraph.graph.graph_model CertiGraph.CertiGC.GCGraph CertiGraph.CertiGC.spatial_gcgraph CertiGraph.CertiGC.env_graph_gc CertiGraph.msl_ext.iter_sepcon