mirror of
https://github.com/AdaCore/why3.git
synced 2026-02-12 12:34:55 -08:00
247 lines
12 KiB
XML
247 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
|
|
"https://www.why3.org/why3session.dtd">
|
|
<why3session shape_version="6">
|
|
<prover id="0" name="Alt-Ergo" version="2.6.2" timelimit="5" steplimit="0" memlimit="1000"/>
|
|
<prover id="2" name="CVC4" version="1.8" timelimit="5" steplimit="0" memlimit="1000"/>
|
|
<prover id="4" name="Z3" version="4.13.2" timelimit="5" steplimit="0" memlimit="1000"/>
|
|
<prover id="5" name="CVC5" version="1.2.0" timelimit="5" steplimit="0" memlimit="1000"/>
|
|
<file format="whyml" proved="true">
|
|
<path name=".."/><path name="pairing_heap.mlw"/>
|
|
<theory name="Heap" proved="true">
|
|
<goal name="empty'vc" expl="VC for empty" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.000000" steps="0"/></proof>
|
|
</goal>
|
|
</theory>
|
|
<theory name="Size" proved="true">
|
|
<goal name="size_nonneg'vc" expl="VC for size_nonneg" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.000000" steps="42"/></proof>
|
|
</goal>
|
|
<goal name="size_tree_nonneg'vc" expl="VC for size_tree_nonneg" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="41"/></proof>
|
|
</goal>
|
|
<goal name="size_list_nonneg'vc" expl="VC for size_list_nonneg" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.013765" steps="5421"/></proof>
|
|
</goal>
|
|
<goal name="size_empty'vc" expl="VC for size_empty" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.000000" steps="106"/></proof>
|
|
</goal>
|
|
</theory>
|
|
<theory name="Occ" proved="true">
|
|
<goal name="occ_nonneg'vc" expl="VC for occ_nonneg" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.000000" steps="41"/></proof>
|
|
</goal>
|
|
<goal name="occ_tree_nonneg'vc" expl="VC for occ_tree_nonneg" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.027128" steps="6832"/></proof>
|
|
</goal>
|
|
<goal name="occ_list_nonneg'vc" expl="VC for occ_list_nonneg" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.009725" steps="5748"/></proof>
|
|
</goal>
|
|
</theory>
|
|
<theory name="PairingHeap" proved="true">
|
|
<goal name="le_root_trans" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.040141" steps="71230"/></proof>
|
|
</goal>
|
|
<goal name="le_roots_trans" proved="true">
|
|
<transf name="induction_ty_lex" proved="true" >
|
|
<goal name="le_roots_trans.0" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="116"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="heap'vc" expl="VC for heap" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.027150" steps="2097"/></proof>
|
|
</goal>
|
|
<goal name="heap_mem'vc" expl="VC for heap_mem" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.041768" steps="3340"/></proof>
|
|
</goal>
|
|
<goal name="heap_mem_tree'vc" expl="VC for heap_mem_tree" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.060000" steps="184"/></proof>
|
|
</goal>
|
|
<goal name="heap_mem_list'vc" expl="VC for heap_mem_list" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.050000" steps="465"/></proof>
|
|
</goal>
|
|
<goal name="root_is_minimum'vc" expl="VC for root_is_minimum" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="root_is_minimum'vc.0" expl="unreachable point" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.052465" steps="2379"/></proof>
|
|
</goal>
|
|
<goal name="root_is_minimum'vc.1" expl="postcondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.076840" steps="88862"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="empty'vc" expl="VC for empty" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.062500" steps="2891"/></proof>
|
|
</goal>
|
|
<goal name="is_empty'vc" expl="VC for is_empty" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="42"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc" expl="VC for merge" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="merge'vc.0" expl="precondition" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.057565" steps="2599"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.1" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.000000" steps="21"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.2" expl="precondition" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.066797" steps="2641"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.3" expl="precondition" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.045498" steps="4928"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.4" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.030000" steps="210"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.5" expl="postcondition" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="merge'vc.5.0" expl="postcondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.000000" steps="18"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.5.1" expl="postcondition" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.072826" steps="2657"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.5.2" expl="postcondition" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.034096" steps="2661"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.5.3" expl="postcondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.018834" steps="24516"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="merge'vc.6" expl="postcondition" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="merge'vc.6.0" expl="postcondition" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.039384" steps="2773"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.6.1" expl="postcondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="41"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.6.2" expl="postcondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.007052" steps="18520"/></proof>
|
|
</goal>
|
|
<goal name="merge'vc.6.3" expl="postcondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.017911" steps="31632"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="insert'vc" expl="VC for insert" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.098360" steps="9270"/></proof>
|
|
</goal>
|
|
<goal name="find_min'vc" expl="VC for find_min" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.055548" steps="3380"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc" expl="VC for merge_pairs" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="merge_pairs'vc.0" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.000000" steps="16"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.1" expl="precondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.016330" steps="18117"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.2" expl="precondition" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.078569" steps="5141"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.3" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.020000" steps="26"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.4" expl="variant decrease" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="40"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.5" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="27"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.6" expl="postcondition" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="merge_pairs'vc.6.0" expl="postcondition" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.037674" steps="4733"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.6.1" expl="postcondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.000000" steps="34"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.6.2" expl="postcondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="61"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.7" expl="postcondition" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="merge_pairs'vc.7.0" expl="postcondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.028016" steps="25688"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.7.1" expl="postcondition" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.058408" steps="3963"/></proof>
|
|
</goal>
|
|
<goal name="merge_pairs'vc.7.2" expl="postcondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.022604" steps="42122"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="delete_min'vc" expl="VC for delete_min" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="delete_min'vc.0" expl="unreachable point" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.028800" steps="2507"/></proof>
|
|
</goal>
|
|
<goal name="delete_min'vc.1" expl="precondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.010860" steps="17365"/></proof>
|
|
</goal>
|
|
<goal name="delete_min'vc.2" expl="postcondition" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="delete_min'vc.2.0" expl="postcondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.013250" steps="19291"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="delete_min'vc.3" expl="postcondition" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="delete_min'vc.3.0" expl="postcondition" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.097052" steps="4297"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="delete_min'vc.4" expl="postcondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.039378" steps="42548"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</theory>
|
|
<theory name="Correct" proved="true">
|
|
<goal name="Heap.TotalPreOrder.Refl" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="17"/></proof>
|
|
</goal>
|
|
<goal name="Heap.TotalPreOrder.Trans" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.008133" steps="1522"/></proof>
|
|
</goal>
|
|
<goal name="Heap.TotalPreOrder.Total" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="19"/></proof>
|
|
</goal>
|
|
<goal name="Heap.min_def" proved="true">
|
|
<proof prover="5"><result status="valid" time="0.091176" steps="3878"/></proof>
|
|
</goal>
|
|
<goal name="Heap.empty'refn'vc" expl="VC for empty'refn" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="49"/></proof>
|
|
</goal>
|
|
<goal name="Heap.is_empty'refn'vc" expl="VC for is_empty'refn" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="28"/></proof>
|
|
</goal>
|
|
<goal name="Heap.merge'refn'vc" expl="VC for merge'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.063486" steps="6882"/></proof>
|
|
</goal>
|
|
<goal name="Heap.insert'refn'vc" expl="VC for insert'refn" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.015952" steps="22995"/></proof>
|
|
</goal>
|
|
<goal name="Heap.find_min'refn'vc" expl="VC for find_min'refn" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.010000" steps="23"/></proof>
|
|
</goal>
|
|
<goal name="Heap.delete_min'refn'vc" expl="VC for delete_min'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.084998" steps="6784"/></proof>
|
|
</goal>
|
|
</theory>
|
|
</file>
|
|
</why3session>
|