Files
why3/examples/stooge_sort/why3session.xml
Jean-Christophe Filliatre e9dda0e0ad stooge_sort: simplified proof
2025-05-08 08:27:19 +02:00

257 lines
13 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="CVC5" version="1.1.2" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="1" name="CVC4" version="1.8" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="2" name="Z3" version="4.14.1" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="3" name="Alt-Ergo" version="2.6.0" timelimit="1" steplimit="0" memlimit="1000"/>
<file format="whyml" proved="true">
<path name=".."/><path name="stooge_sort.mlw"/>
<theory name="Top" proved="true">
<goal name="key_lemma&#39;vc" expl="VC for key_lemma" proved="true">
<transf name="split_vc" proved="true" >
<goal name="key_lemma&#39;vc.0" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.028294" steps="65931"/></proof>
</goal>
<goal name="key_lemma&#39;vc.1" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.010133" steps="90093"/></proof>
</goal>
<goal name="key_lemma&#39;vc.2" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.026804" steps="123395"/></proof>
</goal>
<goal name="key_lemma&#39;vc.3" expl="loop invariant init" proved="true">
<proof prover="2"><result status="valid" time="0.011788" steps="10366"/></proof>
</goal>
<goal name="key_lemma&#39;vc.4" expl="postcondition" proved="true">
<transf name="split_vc" proved="true" >
<goal name="key_lemma&#39;vc.4.0" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.044775" steps="113290"/></proof>
</goal>
<goal name="key_lemma&#39;vc.4.1" expl="postcondition" proved="true">
<proof prover="3" timelimit="5"><result status="valid" time="0.077436" steps="160"/></proof>
</goal>
</transf>
</goal>
<goal name="key_lemma&#39;vc.5" expl="loop invariant preservation" proved="true">
<proof prover="2"><result status="valid" time="0.020314" steps="152641"/></proof>
</goal>
<goal name="key_lemma&#39;vc.6" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.026779" steps="111792"/></proof>
</goal>
<goal name="key_lemma&#39;vc.7" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.160979" steps="34899"/></proof>
</goal>
<goal name="key_lemma&#39;vc.8" expl="unreachable point" proved="true">
<proof prover="0"><result status="valid" time="0.154592" steps="27563"/></proof>
</goal>
<goal name="key_lemma&#39;vc.9" expl="out of loop bounds" proved="true">
<proof prover="2"><result status="valid" time="0.013062" steps="10603"/></proof>
</goal>
<goal name="key_lemma&#39;vc.10" expl="postcondition" proved="true">
<proof prover="3"><result status="valid" time="0.287573" steps="755"/></proof>
</goal>
</transf>
</goal>
<goal name="stooge_sort_rec&#39;vc" expl="VC for stooge_sort_rec" proved="true">
<transf name="split_vc" proved="true" >
<goal name="stooge_sort_rec&#39;vc.0" expl="index in array bounds" proved="true">
<proof prover="2"><result status="valid" time="0.020682" steps="79472"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.1" expl="index in array bounds" proved="true">
<proof prover="2"><result status="valid" time="0.017079" steps="79166"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.2" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.022450" steps="74873"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.3" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.014724" steps="6256"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.4" expl="variant decrease" proved="true">
<proof prover="2"><result status="valid" time="0.033495" steps="9869"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.5" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.066963" steps="9875"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.6" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.009795" steps="6951"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.7" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.012732" steps="6964"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.8" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.025305" steps="9947"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.9" expl="variant decrease" proved="true">
<proof prover="2"><result status="valid" time="0.035649" steps="9976"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.10" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.025401" steps="9958"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.11" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.006721" steps="6985"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.12" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.028764" steps="9992"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.13" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.012989" steps="9991"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.14" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.010554" steps="10020"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.15" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.030111" steps="10065"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.16" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.009713" steps="7072"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.17" expl="assertion" proved="true">
<proof prover="3" timelimit="5"><result status="valid" time="0.031170" steps="20"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.18" expl="variant decrease" proved="true">
<proof prover="2"><result status="valid" time="0.033902" steps="10494"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.19" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.027657" steps="10496"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.20" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.006995" steps="7369"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.21" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.013586" steps="7382"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.22" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.027547" steps="10519"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.23" expl="assertion" proved="true">
<proof prover="2"><result status="valid" time="0.012931" steps="10558"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.24" expl="postcondition" proved="true">
<transf name="split_vc" proved="true" >
<goal name="stooge_sort_rec&#39;vc.24.0" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.014086" steps="10588"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.24.1" expl="postcondition" proved="true">
<proof prover="3"><result status="valid" time="0.031807" steps="8"/></proof>
</goal>
</transf>
</goal>
<goal name="stooge_sort_rec&#39;vc.25" expl="postcondition" proved="true">
<transf name="split_vc" proved="true" >
<goal name="stooge_sort_rec&#39;vc.25.0" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.010215" steps="10595"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.25.1" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.036139" steps="6837"/></proof>
</goal>
</transf>
</goal>
<goal name="stooge_sort_rec&#39;vc.26" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.135999" steps="22898"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.27" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.021683" steps="76835"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.28" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.007829" steps="6226"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.29" expl="variant decrease" proved="true">
<proof prover="2"><result status="valid" time="0.028862" steps="95122"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.30" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.049749" steps="91515"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.31" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.009040" steps="6929"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.32" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.009660" steps="6942"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.33" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.031846" steps="94006"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.34" expl="variant decrease" proved="true">
<proof prover="2"><result status="valid" time="0.028447" steps="108244"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.35" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.035759" steps="99116"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.36" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.007231" steps="6963"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.37" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.023930" steps="100326"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.38" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.016273" steps="46513"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.39" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.027787" steps="104745"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.40" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.008121" steps="104512"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.41" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.010940" steps="7050"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.42" expl="assertion" proved="true">
<transf name="case" proved="true" arg1="(i &lt; lo+w)">
<goal name="stooge_sort_rec&#39;vc.42.0" expl="true case (assertion)" proved="true">
<transf name="instantiate" proved="true" arg1="Ensures" arg2="j">
<goal name="stooge_sort_rec&#39;vc.42.0.0" expl="true case (assertion)" proved="true">
<proof prover="0"><result status="valid" time="0.569792" steps="48724"/></proof>
</goal>
</transf>
</goal>
<goal name="stooge_sort_rec&#39;vc.42.1" expl="false case (assertion)" proved="true">
<proof prover="2"><result status="valid" time="0.027651" steps="110645"/></proof>
</goal>
</transf>
</goal>
<goal name="stooge_sort_rec&#39;vc.43" expl="variant decrease" proved="true">
<proof prover="2"><result status="valid" time="0.031136" steps="119532"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.44" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.044510" steps="105330"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.45" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.019618" steps="7347"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.46" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.008984" steps="7360"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.47" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.045750" steps="106649"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.48" expl="assertion" proved="true">
<proof prover="3"><result status="valid" time="0.421338" steps="723"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.49" expl="postcondition" proved="true">
<proof prover="3"><result status="valid" time="0.338499" steps="729"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.50" expl="postcondition" proved="true">
<transf name="split_vc" proved="true" >
<goal name="stooge_sort_rec&#39;vc.50.0" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.032542" steps="10536"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.50.1" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.008960" steps="95687"/></proof>
</goal>
</transf>
</goal>
<goal name="stooge_sort_rec&#39;vc.51" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.100536" steps="19655"/></proof>
</goal>
<goal name="stooge_sort_rec&#39;vc.52" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.031448" steps="90447"/></proof>
</goal>
</transf>
</goal>
<goal name="stooge_sort&#39;vc" expl="VC for stooge_sort" proved="true">
<proof prover="2"><result status="valid" time="0.026614" steps="75869"/></proof>
</goal>
</theory>
</file>
</why3session>