mirror of
https://github.com/AdaCore/why3.git
synced 2026-02-12 12:34:55 -08:00
168 lines
8.6 KiB
XML
168 lines
8.6 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="1" name="CVC5" version="1.0.5" timelimit="1" steplimit="0" memlimit="1000"/>
|
|
<prover id="2" name="CVC4" version="1.6" timelimit="1" steplimit="0" memlimit="1000"/>
|
|
<prover id="6" name="Alt-Ergo" version="2.3.0" timelimit="1" steplimit="0" memlimit="1000"/>
|
|
<file format="whyml" proved="true">
|
|
<path name=".."/><path name="queue_two_lists.mlw"/>
|
|
<theory name="Queue" proved="true">
|
|
<goal name="t'vc" expl="VC for t" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.060000" steps="18164"/></proof>
|
|
</goal>
|
|
<goal name="create'vc" expl="VC for create" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.040000" steps="19001"/></proof>
|
|
</goal>
|
|
<goal name="push'vc" expl="VC for push" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.180000" steps="798"/></proof>
|
|
</goal>
|
|
<goal name="nth_append'vc" expl="VC for nth_append" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.040000" steps="300"/></proof>
|
|
</goal>
|
|
<goal name="nth_rev'vc" expl="VC for nth_rev" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020000" steps="207"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc" expl="VC for pop" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="pop'vc.0" expl="exceptional postcondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="36"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.1" expl="precondition" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="37"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.2" expl="type invariant" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="50"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.3" expl="type invariant" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="18"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.4" expl="type invariant" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.070000" steps="206"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.5" expl="postcondition" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="49"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.6" expl="postcondition" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="80"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.7" expl="postcondition" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="20"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.8" expl="precondition" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="41"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.9" expl="type invariant" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="51"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.10" expl="type invariant" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="56"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.11" expl="type invariant" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="1.640000" steps="4155"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.12" expl="postcondition" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="48"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.13" expl="postcondition" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.010000" steps="85"/></proof>
|
|
</goal>
|
|
<goal name="pop'vc.14" expl="postcondition" proved="true">
|
|
<proof prover="6" timelimit="10"><result status="valid" time="0.000000" steps="20"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="peek'vc" expl="VC for peek" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020000" steps="128"/></proof>
|
|
</goal>
|
|
<goal name="safe_pop'vc" expl="VC for safe_pop" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="18"/></proof>
|
|
</goal>
|
|
<goal name="safe_peek'vc" expl="VC for safe_peek" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="14"/></proof>
|
|
</goal>
|
|
<goal name="clear'vc" expl="VC for clear" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="68"/></proof>
|
|
</goal>
|
|
<goal name="copy'vc" expl="VC for copy" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020000" steps="92"/></proof>
|
|
</goal>
|
|
<goal name="is_empty'vc" expl="VC for is_empty" proved="true">
|
|
<proof prover="1"><result status="valid" time="0.080000" steps="15104"/></proof>
|
|
</goal>
|
|
<goal name="length'vc" expl="VC for length" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020000" steps="137"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc" expl="VC for transfer" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="transfer'vc.0" expl="type invariant" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="28"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc.1" expl="type invariant" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="32"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc.2" expl="type invariant" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="65"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc.3" expl="postcondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="32"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc.4" expl="postcondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020000" steps="119"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc.5" expl="type invariant" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="30"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc.6" expl="type invariant" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020000" steps="91"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc.7" expl="type invariant" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.420000" steps="894"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc.8" expl="postcondition" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.060000" steps="19586"/></proof>
|
|
</goal>
|
|
<goal name="transfer'vc.9" expl="postcondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="34"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</theory>
|
|
<theory name="Correct" proved="true">
|
|
<goal name="Queue.create'refn'vc" expl="VC for create'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.030000" steps="11753"/></proof>
|
|
</goal>
|
|
<goal name="Queue.push'refn'vc" expl="VC for push'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.060000" steps="10734"/></proof>
|
|
</goal>
|
|
<goal name="Queue.pop'refn'vc" expl="VC for pop'refn" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010000" steps="4"/></proof>
|
|
</goal>
|
|
<goal name="Queue.peek'refn'vc" expl="VC for peek'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.050000" steps="12563"/></proof>
|
|
</goal>
|
|
<goal name="Queue.safe_pop'refn'vc" expl="VC for safe_pop'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.040000" steps="11757"/></proof>
|
|
</goal>
|
|
<goal name="Queue.safe_peek'refn'vc" expl="VC for safe_peek'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.050000" steps="11757"/></proof>
|
|
</goal>
|
|
<goal name="Queue.clear'refn'vc" expl="VC for clear'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.050000" steps="10734"/></proof>
|
|
</goal>
|
|
<goal name="Queue.copy'refn'vc" expl="VC for copy'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.020000" steps="11890"/></proof>
|
|
</goal>
|
|
<goal name="Queue.is_empty'refn'vc" expl="VC for is_empty'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.050000" steps="13325"/></proof>
|
|
</goal>
|
|
<goal name="Queue.length'refn'vc" expl="VC for length'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.040000" steps="10734"/></proof>
|
|
</goal>
|
|
<goal name="Queue.transfer'refn'vc" expl="VC for transfer'refn" proved="true">
|
|
<proof prover="2"><result status="valid" time="0.040000" steps="10734"/></proof>
|
|
</goal>
|
|
</theory>
|
|
</file>
|
|
</why3session>
|