a>=asizeV0c0ICtaEa>=asize1V1c0aTwVV0ACtaEa>=asize1V2c0aTwVV0F
VC for size_nonneg
a>=asizeV0c0F
a=V1aEqa=asizeV1c0F
empty_shape
a>=aoccV0V1c0ICtaEa>=aocc1V0V2c0aTwVV1ACtaEa>=aocc1V0V3c0aTwVV1F
VC for occ_nonneg
aleV0V0F
aleV1V3IaleV2V3IaleV1V2F
aleV5V4OaleV4V5F
ale_rootV6V8Iale_rootV7V8IaleV6V7F
Cale_root_treeV9V11Iale_root_treeV10V11IaleV9V10aEmptyale_root_treeV9V11Iale_root_treeV10V11IaleV9V10Iale_root_treeV9V12Iale_root_treeV10V12IaleV9V10Iale_root_treeV9V14Iale_root_treeV10V14IaleV9V10aNodeVVVV11F
ale_root_treeV9V11Iale_root_treeV10V11IaleV9V10F
a=aminimumaTV12V13V12F
aleV15V16IamemV16V14FIale_root_treeV15V14FICtaEmptyaleV19V20IamemV20V18FIale_root_treeV19V18FAaleV21V22IamemV22V17FIale_root_treeV21V17FaNodeVwVV14ACtaEmptyaheap_treeV24ACfaEmptya=V26V24Oa=V25V24aNodeVwVV14IaleV27V28IamemV28V23FIale_root_treeV27V23FAaheap_treeV23ACfaEmptya=V30V23Oa=V29V23aNodeVwVV14aNodeVwVV14Iaheap_treeV14F
VC for mem_heap_tree
aleV15V16IamemV16V14FIale_root_treeV15V14FIaheap_treeV14F
aleV18V19Iamem1V19V17FIale_rootV18V17FICtaEaleV21V22IamemV22V20FIale_root_treeV21V20FaTwVV17ACtaEaheap_treeV23aTwVV17IaheapV17F
VC for mem_heap
aleV18V19Iamem1V19V17FIale_rootV18V17FIaheapV17F
ais_minimumaminimumV20V20Ia<c0asizeV20IaheapV20F
Namem1V22V21FAa=asizeV21c0AaheapV21LaE
VC for empty
Namem1V21aemptyFAa=asizeaemptyc0Aaheapaempty
a=asizeV22c0qa=V23aTrueICa=V23aTrueaEa=V23aFalsewV22FF
VC for is_empty
t
VC for size
a=aoccV25V24a+aoccV25V22aoccV25V23FAa=asizeV24a+asizeV22asizeV23AaheapV24ICCa=V24V23aEa=V24V22wV22aECa=V24V23aEia=V24aTV26aNodeV29V28V27a=V24aTV28aNodeV27V26V29aleV28V26aTVVV22aTVVV23FIaheapV23AaheapV22F
VC for merge
a=asizeV25a+asizeV23c1Aa=aoccV26V25aoccV26V23INa=V22V26FAa=aoccV22V25a+aoccV22V23c1AaheapV25Ia=aoccV27V25a+aoccV27V24aoccV27V23FAa=asizeV25a+asizeV24asizeV23AaheapV25FAaheapV23AaheapV24LaTV22aEmptyIaheapV23F
VC for insert
a=V23aminimumV22ICfaEa=V23V24aTVwV22FACfaEtaTVwV22Ia<c0asizeV22AaheapV22F
VC for find_min
a=aoccV24V23aocc1V24V22FAa=asizeV23asize1V22AaheapV23ICa=V23aEaEmptya=V23aTV26V25aNodeVVaEmptya=aoccV36V23a+aoccV36V35aoccV36V34FAa=asizeV23a+asizeV35asizeV34AaheapV23Aa=aoccV37V35a+aoccV37V32aoccV37V33FAa=asizeV35a+asizeV32asizeV33AaheapV35EAa=aoccV38V34aocc1V38V31FAa=asizeV34asize1V31AaheapV34ELaTV30V29LaTV28V27aNodeVVaNodeVVVV22FACtaEmptytaNodeVVaEmptyaheapV48AaheapV49Ia=aoccV50V49a+aoccV50V46aoccV50V47FAa=asizeV49a+asizeV46asizeV47AaheapV49FAaheapV47AaheapV46Ia=aoccV51V48aocc1V51V45FAa=asizeV48asize1V45AaheapV48FAaheap_treeV45Aa<asize1V45asize1V22Aa<=c0asize1V22LaTV44V43LaTV42V41aNodeVVaNodeVVVV22Iaheap_treeV22F
VC for merge_pairs
a=asizeV23a-asizeV22c1Aa=aoccV24V23aoccV24V22INa=V24aminimumV22FAa=aoccaminimumV22V23a-aoccaminimumV22V22c1AaheapV23ICfaEa=aoccV26V23aocc1V26V25FAa=asizeV23asize1V25AaheapV23aTwVV22FACfaEaheap_treeV27aTwVV22Ia<c0asizeV22AaheapV22F
VC for delete_min

7d6716f8cb94cf5ed534297b161318c3 1H0
ea568df238e2442238544056214b89f1 4H3H2
a55755aa178a48d7c9e6a207121fd017 6H5
164dcae46db6ce806b0bfa81ec9f7763 4H10H9H8H7
99c52b73a6c04d0d7ffbb794dc4536e3 4H12H10H9H8H7
99b2d583620ad5810255b908856ffec5 4H11H10H9H8H7
7663e930b97f64852c00ed3218cc44c4 15H14H13H12H10H9H8H7
d1eaa6e221edc77341ff8f986ac1de35 18H17H16H13H12H10H9H8H7
ee203819b06a916081f1de0e19245cc3 4H20H19H16H13H12H10H9H8H7
e95d5ebc4da894c0abd629e83b391bdb 22H21H20H19H16H13H12H10H9H8H7
3b2eed6ca04d0a770127ddf1e2b61507 25H24H23H20H19H16H13H12H10H9H8H7
10c771aa8b17601f00b6d17de3cf2f2b 27H26H23H20H19H16H13H12H10H9H8H7
446fa3452b54790f4f2308f362140bdb 29H28H23H20H19H16H13H12H10H9H8H7
fa78714a5484953903f0689d56bdbc21 31H30H23H20H19H16H13H12H10H9H8H7
fe12fe20b0280f69d607e9ea3df089bb 33H32H23H20H19H16H13H12H10H9H8H7
6451f94d747971a991c3c95d9e37ed62 35H34H23H20H19H16H13H12H10H9H8H7
a59a561265c57980f5cf35eeec5f10ca 37H36H23H20H19H16H13H12H10H9H8H7
