proposition: Lemma malloc_pq: forall v, malloc_compatible (sizeof (Tstruct _structPQ noattr)) v -> (data_at_ Tsh (tarray tint (sizeof (Tstruct _structPQ noattr) / sizeof tint)) v) |-- (data_at_ Tsh t_pq v).
proof: Proof. intros v H. sep_apply data_at__memory_block_cancel. change (sizeof (tarray _ _)) with (sizeof t_pq). rewrite memory_block_data_at_. apply derives_refl. apply malloc_compatible_field_compatible in H; auto. Qed.
imports: RelationClasses VST.floyd.proofauto CertiGraph.lib.List_ext CertiGraph.binheap.binary_heap_pro CertiGraph.binheap.binary_heap_malloc_spec CertiGraph.binheap.binary_heap_model CertiGraph.binheap.binary_heap_Zmodel