fact: Definition do_scan_spec := DECLARE _do_scan WITH rsh: share, sh: share, gv: globals, g: LGraph, h: heap, hp: val, rootpairs: list rootpair, roots : roots_t, outlier: outlier_t, from: nat, to: nat, to_index: nat PRE [tptr int_or_ptr_type, tptr int_or_ptr_type, tptr int_or_ptr_type, tptr (tptr int_or_ptr_type)] PROP (readable_share rsh; writable_share sh; super_compatible g h rootpairs roots outlier; forward_condition g h from to; from <> to; closure_has_index g to to_index; 0 < gen_size h to; gen_unmarked g to) PARAMS (gen_start g from; limit_address g h from; offset_val (- WORD_SIZE) (vertex_address g (to, to_index)); heap_next_address hp to) GLOBALS () SEP (all_string_constants rsh gv; outlier_rep outlier; graph_rep g; roots_rep sh rootpairs; heap_rep sh h hp) POST [tvoid] EX g': LGraph, EX h': heap, PROP (super_compatible g' h' rootpairs roots outlier; forward_condition g' h' from to; do_scan_relation from to to_index g g'; heap_relation h h') RETURN () SEP (all_string_constants rsh gv; outlier_rep outlier; graph_rep g'; roots_rep sh rootpairs; heap_rep sh h' hp).
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