fact: Definition build_heap_spec := DECLARE _build_heap WITH sh : share, arr: val, arr_contents: list heap_item, size : Z PRE [tptr t_struct_edge, tuint] PROP (readable_share sh; writable_share sh; size > 0 ; Zlength arr_contents = size; size <= Int.max_signed) PARAMS (arr; Vint (Int.repr size)) GLOBALS () SEP (harray sh arr_contents arr) POST [tvoid] EX arr_contents' : list heap_item, PROP (heap_ordered arr_contents'; Permutation arr_contents arr_contents') LOCAL () SEP (harray sh arr_contents' arr).
imports: CertiGraph.unionfind.env_unionfind_arr CertiGraph.unionfind.uf_arr_specs VST.floyd.library RelationClasses CertiGraph.binheap.binary_heap_model CertiGraph.binheap.binary_heap_Zmodel Sorting CertiGraph.kruskal.WeightedEdgeListGraph CertiGraph.kruskal.env_kruskal_edgelist CertiGraph.kruskal.spatial_wedgearray_graph CertiGraph.graph.graph_model CertiGraph.floyd_ext.share