Commit 94e5b4f5 authored by Jean-Christophe Filliâtre's avatar Jean-Christophe Filliâtre
Browse files

new example (in progress)

parent 4161b62b
(* 8 balls, one is lighter than the others
Given a Roberval balance, use it only twice to find the lighter ball *)
module Balance
use import int.Int
use import array.Array
let solve3 (balls: array int) (s: int) (ghost lb: int) (ghost w: int) : int
requires { 0 <= s && s+3 <= length balls }
requires { s <= lb < s+3 }
requires { forall i: int. s <= i < s+3 -> i <> lb -> balls[i] = w }
requires { balls[lb] < w }
ensures { result = lb }
=
absurd
let solve8 (balls: array int) (ghost lb: int) (ghost w: int) : int
requires { length balls = 8 }
requires { 0 <= lb < 8 }
requires { forall i: int. 0 <= i < 8 -> i<> lb -> balls[i] = w }
requires { balls[lb] < w }
ensures { result = lb }
=
if balls[0] + balls[1] + balls[2] < balls[3] + balls[4] + balls[5] then
solve3 balls 0 lb w
else if balls[0] + balls[1] + balls[2] > balls[3] + balls[4] + balls[5] then
solve3 balls 3 lb w
else
if balls[6] < balls[7] then 6 else 7
end
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v2//EN" "http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover
id="0"
name="Alt-Ergo"
version="0.95.1"/>
<file
name="../balance.mlw"
verified="false"
expanded="true">
<theory
name="Balance"
locfile="../balance.mlw"
loclnum="5" loccnumb="7" loccnume="14"
verified="false"
expanded="true">
<goal
name="WP_parameter solve3"
locfile="../balance.mlw"
loclnum="10" loccnumb="6" loccnume="12"
expl="unreachable point"
sum="b2a63f377abdee0fbc3c0ae8891bbb7e"
proved="false"
expanded="true"
shape="unreachable pointfIainfix &lt;agetV1V3V4Aainfix =agetV1V5V4INainfix =V5V3Iainfix &lt;V5ainfix +V2c3Aainfix &lt;=V2V5FAainfix &lt;V3ainfix +V2c3Aainfix &lt;=V2V3Aainfix &lt;=ainfix +V2c3V0Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve3"/>
</goal>
<goal
name="WP_parameter solve8"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="VC for solve8"
sum="062e154a2be7b3d57b0e4d0ee103c730"
proved="true"
expanded="true"
shape="iiainfix =ic7c6ainfix &lt;agetV1c6agetV1c7V2Aainfix &lt;c6V0Aainfix &lt;=c0c6Aainfix &lt;c7V0Aainfix &lt;=c0c7ainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4ainfix +c3c3Aainfix &lt;=c3V4FAainfix &lt;V2ainfix +c3c3Aainfix &lt;=c3V2Aainfix &lt;=ainfix +c3c3V0Aainfix &lt;=c0c3ainfix &gt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c3V0Aainfix &lt;=c0c3Aainfix &lt;c4V0Aainfix &lt;=c0c4Aainfix &lt;c5V0Aainfix &lt;=c0c5ainfix &lt;agetV1V2V3Aainfix =agetV1V5V3INainfix =V5V2Iainfix &lt;V5ainfix +c0c3Aainfix &lt;=c0V5FAainfix &lt;V2ainfix +c0c3Aainfix &lt;=c0V2Aainfix &lt;=ainfix +c0c3V0Aainfix &lt;=c0c0ainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c3V0Aainfix &lt;=c0c3Aainfix &lt;c4V0Aainfix &lt;=c0c4Aainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V6V3INainfix =V6V2Iainfix &lt;V6c8Aainfix &lt;=c0V6FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<transf
name="split_goal_wp"
proved="true"
expanded="true">
<goal
name="WP_parameter solve8.1"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="1. precondition"
sum="7f452b09485f0078ffed1ea16f1be0c5"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.2"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="2. precondition"
sum="8a74fda882f4c11c54d691683922b732"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.3"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="3. precondition"
sum="527d583719351f0fc801bd489f6717e0"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.4"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="4. precondition"
sum="56332e1fe78f7395f51c48c14ea31ea9"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.5"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="5. precondition"
sum="2296fe0195456e89247530015312d062"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.6"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="6. precondition"
sum="a4d4b4ae913f623446b966af997e7e14"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.7"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="7. precondition"
sum="a490b137e0954bf5daffeef216bd2131"
proved="true"
expanded="false"
shape="preconditionainfix &lt;=ainfix +c0c3V0Aainfix &lt;=c0c0Iainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.8"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="8. precondition"
sum="38df1c4f04c42a836da184789b1df060"
proved="true"
expanded="false"
shape="preconditionainfix &lt;V2ainfix +c0c3Aainfix &lt;=c0V2Iainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.9"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="9. precondition"
sum="1259c80f5be2ee25a2a22a66c04a851e"
proved="true"
expanded="false"
shape="preconditionainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4ainfix +c0c3Aainfix &lt;=c0V4FIainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V5V3INainfix =V5V2Iainfix &lt;V5c8Aainfix &lt;=c0V5FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.04"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.10"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="10. precondition"
sum="8bd01f6a6d3d14059a7e60330115478c"
proved="true"
expanded="false"
shape="preconditionainfix &lt;agetV1V2V3Iainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.11"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="11. precondition"
sum="856cc17689ab76bbb0eeedb528ffa3bb"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.03"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.12"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="12. precondition"
sum="4552bbae3e407ac9329cf175de1df5eb"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.13"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="13. precondition"
sum="962c6f38a56801a3a92ceb5765dee9bf"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.14"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="14. precondition"
sum="d5ff71bcc68643d2d4394bfa480b7ff9"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.15"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="15. precondition"
sum="a90347d2290c70643d49850b30c27412"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.16"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="16. precondition"
sum="9a5a2d73649cf393c09ce4c7b2dbc93c"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.17"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="17. precondition"
sum="f1e9ec7b5c1464c3c1154a2edeafa8d0"
proved="true"
expanded="false"
shape="preconditionainfix &lt;=ainfix +c3c3V0Aainfix &lt;=c0c3Iainfix &gt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.18"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="18. precondition"
sum="d2f6255a0b65552fb98255dd57d6eab6"
proved="true"
expanded="false"
shape="preconditionainfix &lt;V2ainfix +c3c3Aainfix &lt;=c3V2Iainfix &gt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.19"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="19. precondition"
sum="c27de6f7a459e4f8f842b768d72e1cf9"
proved="true"
expanded="false"
shape="preconditionainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4ainfix +c3c3Aainfix &lt;=c3V4FIainfix &gt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V5V3INainfix =V5V2Iainfix &lt;V5c8Aainfix &lt;=c0V5FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.03"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.20"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="20. precondition"
sum="f7bd2f02ee8e000ae0fca5f6195571d7"
proved="true"
expanded="false"
shape="preconditionainfix &lt;agetV1V2V3Iainfix &gt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.21"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="21. precondition"
sum="7cfcc7bd211ed84a6cb3f5bdcaaebf34"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c7V0Aainfix &lt;=c0c7INainfix &gt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.22"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="22. precondition"
sum="188a2cc8e56a4b16a7a367eaa4a5cabf"
proved="true"
expanded="false"
shape="preconditionainfix &lt;c6V0Aainfix &lt;=c0c6Iainfix &lt;c7V0Aainfix &lt;=c0c7INainfix &gt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal
name="WP_parameter solve8.23"
locfile="../balance.mlw"
loclnum="19" loccnumb="6" loccnume="12"
expl="23. postcondition"
sum="e659b1b9da3390b03243de101f441589"
proved="true"
expanded="true"
shape="postconditionainfix =ic7c6ainfix &lt;agetV1c6agetV1c7V2Iainfix &lt;c6V0Aainfix &lt;=c0c6Iainfix &lt;c7V0Aainfix &lt;=c0c7INainfix &gt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5INainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c2ainfix +ainfix +agetV1c3agetV1c4agetV1c5Iainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5Iainfix &lt;agetV1V2V3Aainfix =agetV1V4V3INainfix =V4V2Iainfix &lt;V4c8Aainfix &lt;=c0V4FAainfix &lt;V2c8Aainfix &lt;=c0V2Aainfix =V0c8Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve8"/>
<proof
prover="0"
timelimit="10"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.03"/>
</proof>
</goal>
</transf>
</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