Commit 98e4eca4 authored by MARCHE Claude's avatar MARCHE Claude

example sumrange in progress, part cumulative array proved

parent 579ea58c
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="0" name="CVC4" version="1.4" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="1" name="Z3" version="4.5.0" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="2" name="CVC4" version="1.5" timelimit="1" steplimit="0" memlimit="1000"/>
<file name="../sumrange.mlw">
<theory name="ArraySum" proved="true" sum="c43abcc65051af09a54f471f27f69208">
<goal name="sum_right" proved="true">
<transf name="assert" proved="true" arg1="(forall x. 0 &lt; x &lt; j -&gt; sum a (j-x) j = sum a (j-x) (j-1) + a[j-1])">
<goal name="sum_right.0" proved="true">
<transf name="induction" proved="true" arg1="x">
<goal name="sum_right.0.0" proved="true">
<proof prover="2"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="sum_right.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.02"/></proof>
</goal>
</transf>
</goal>
<goal name="sum_right.1" proved="true">
<transf name="instantiate" proved="true" arg1="h" arg2="(j-i)">
<goal name="sum_right.1.0" proved="true">
<proof prover="1"><result status="valid" time="0.09"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</theory>
<theory name="Simple" proved="true" sum="17809040d6493313e8bff554cd196ef3">
<goal name="WP_parameter query" expl="VC for query" proved="true">
<proof prover="0"><result status="valid" time="0.03"/></proof>
<proof prover="1"><result status="valid" time="0.02"/></proof>
<transf name="split_goal_wp" proved="true" >
<goal name="WP_parameter query.0" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter query.1" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
<proof prover="2"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter query.2" expl="index in array bounds" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter query.3" expl="loop invariant preservation" proved="true">
<proof prover="0"><result status="valid" time="0.02"/></proof>
<proof prover="1"><result status="valid" time="0.02"/></proof>
<proof prover="2"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter query.4" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="CumulativeArray" proved="true" sum="26b3e456f7b133ab67010bf9177097cd">
<goal name="WP_parameter create" expl="VC for create" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="sum_concat" proved="true">
<transf name="induction" proved="true" arg1="k">
<goal name="sum_concat.0" proved="true">
<proof prover="2"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="sum_concat.1" proved="true">
<proof prover="2"><result status="valid" time="0.02"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter query" expl="VC for query" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="sum_frame" proved="true">
<transf name="assert" proved="true" arg1="(forall x. 0 &lt;= x &lt;= j-i -&gt; sum a1 (j-x) j = sum a2 (j-x) j)">
<goal name="sum_frame.0" proved="true">
<transf name="induction" proved="true" arg1="x">
<goal name="sum_frame.0.0" proved="true">
<proof prover="2"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="sum_frame.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.02"/></proof>
</goal>
</transf>
</goal>
<goal name="sum_frame.1" proved="true">
<transf name="instantiate" proved="true" arg1="h" arg2="(j-i)">
<goal name="sum_frame.1.0" proved="true">
<proof prover="2"><result status="valid" time="0.01"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="WP_parameter sum_update" expl="VC for sum_update" proved="true">
<proof prover="2"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="WP_parameter update" expl="VC for update" proved="true">
<proof prover="1"><result status="valid" time="0.05"/></proof>
</goal>
</theory>
<theory name="CumulativeTree" sum="6ef30ae4a2b600c91ffdb138f2642e54">
<goal name="WP_parameter sum_concat" expl="VC for sum_concat">
</goal>
<goal name="WP_parameter tree_of_array" expl="VC for tree_of_array">
</goal>
<goal name="WP_parameter create" expl="VC for create">
</goal>
<goal name="WP_parameter query_aux" expl="VC for query_aux">
</goal>
<goal name="WP_parameter query" expl="VC for query">
</goal>
<goal name="WP_parameter query2" expl="VC for query2">
</goal>
<goal name="WP_parameter query3" expl="VC for query3">
</goal>
<goal name="WP_parameter is_tree_for_frame" expl="VC for is_tree_for_frame">
</goal>
<goal name="WP_parameter sum_right" expl="VC for sum_right">
</goal>
<goal name="WP_parameter sum_frame" expl="VC for sum_frame">
</goal>
<goal name="WP_parameter sum_update" expl="VC for sum_update">
</goal>
<goal name="WP_parameter update_aux" expl="VC for update_aux">
</goal>
<goal name="WP_parameter update" expl="VC for update">
</goal>
<goal name="WP_parameter update_compl" expl="VC for update_compl">
</goal>
<goal name="WP_parameter depth_is_log" expl="VC for depth_is_log">
</goal>
</theory>
</file>
</why3session>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment