Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 24fc5f16 authored by Léon Gondelman's avatar Léon Gondelman
Browse files

new example for balance

parent 37162168
Branches
Tags
No related merge requests found
...@@ -50,3 +50,67 @@ module Balance ...@@ -50,3 +50,67 @@ module Balance
if balls[6] < balls[7] then 6 else 7 if balls[6] < balls[7] then 6 else 7
end end
module Balance12
use import int.Int
use import array.Array
(* All values in balls[lo..hi[ are equal to [w], apart from balls[lb]
which is of a different weight (lighter or heavier) . *)
predicate spec (balls: array int) (lo hi j: int) (w: int) (b: bool) =
0 <= lo <= j < hi <= length balls &&
(forall i: int. lo <= i < hi -> i <> j -> balls[i] = w) &&
(if b then balls[j] < w else balls[j] > w)
(* j : the index of the different ball,
b : the status (lighter or heavier) of the different ball
False True meaning heavier and True meaining lighter *)
let solve12 (balls: array int) (ghost w j: int) (ghost b: bool) : (int, bool)
requires { spec balls 0 12 j w b }
ensures { result = (j, b) }
=
if balls[0] + balls[1] + balls[2] + balls[3] =
balls[4] + balls[5] + balls[6] + balls[7]
then
if balls[0] + balls[8] = balls[9] + balls[10]
then
if balls[0] < balls[11]
then (11, False)
else (11, True)
else if balls[0] + balls[8] < balls[9] + balls[10]
then
if balls[9] = balls[10] then (8, True)
else if balls[9] < balls[10] then (10, False) else (9, False)
else
if balls[9] = balls[10] then (8, False)
else if balls[9] < balls[10] then (9, True) else (10, True)
else if balls[0] + balls[1] + balls[2] + balls[3] <
balls[4] + balls[5] + balls[6] + balls[7]
then
if balls[0] + balls[1] + balls[4] = balls[2] + balls[5] + balls[8]
then
if balls[6] = balls[7] then (3, True)
else if balls[6] < balls[7] then (7, False) else (6, False)
else if balls[0] + balls[1] + balls[4] < balls[2] + balls[5] + balls[8]
then
if balls[0] = balls[1] then (5, False)
else if balls[0] < balls[1] then (0, True) else (1, True)
else
if balls[4] = balls[8] then (2, True) else (4, False)
else
if balls[0] + balls[1] + balls[4] = balls[2] + balls[5] + balls[8]
then
if balls[6] = balls[7] then (3, False)
else if balls[6] < balls[7] then (6, True) else (7, True)
else if balls[0] + balls[1] + balls[4] < balls[2] + balls[5] + balls[8]
then
if balls[2] = balls[5] then (4, True )
else if balls[2] < balls[5] then (5, False) else (2, False)
else
if balls[0] = balls[1] then (5, True) else
if balls[0] < balls[1] then (1, False) else (0, False)
end
\ No newline at end of file
...@@ -5,6 +5,14 @@ ...@@ -5,6 +5,14 @@
id="0" id="0"
name="Alt-Ergo" name="Alt-Ergo"
version="0.95.1"/> version="0.95.1"/>
<prover
id="1"
name="Alt-Ergo"
version="0.95.2"/>
<prover
id="2"
name="CVC3"
version="2.4.1"/>
<file <file
name="../balance.mlw" name="../balance.mlw"
verified="true" verified="true"
...@@ -20,7 +28,7 @@ ...@@ -20,7 +28,7 @@
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="30" loccnumb="6" loccnume="12" loclnum="30" loccnumb="6" loccnume="12"
expl="VC for solve3" expl="VC for solve3"
sum="3ad2ea87083b374f53889b0a9978f4c5" sum="61ba3368e43fbedfd0d77a85c221861d"
proved="true" proved="true"
expanded="true" expanded="true"
shape="iainfix =iainfix +V2c2ainfix +V2c1ainfix &gt;agetV1V2agetV1V6V3Aainfix &lt;V2V0Aainfix &lt;=c0V2Aainfix &lt;V6V0Aainfix &lt;=c0V6Lainfix +V2c1ainfix =V2V3ainfix &lt;agetV1V2agetV1V5Aainfix &lt;V2V0Aainfix &lt;=c0V2Aainfix &lt;V5V0Aainfix &lt;=c0V5Lainfix +V2c1Iaspecamk arrayV0V1V2ainfix +V2c3V3V4Aainfix &lt;=c0V0F"> shape="iainfix =iainfix +V2c2ainfix +V2c1ainfix &gt;agetV1V2agetV1V6V3Aainfix &lt;V2V0Aainfix &lt;=c0V2Aainfix &lt;V6V0Aainfix &lt;=c0V6Lainfix +V2c1ainfix =V2V3ainfix &lt;agetV1V2agetV1V5Aainfix &lt;V2V0Aainfix &lt;=c0V2Aainfix &lt;V5V0Aainfix &lt;=c0V5Lainfix +V2c1Iaspecamk arrayV0V1V2ainfix +V2c3V3V4Aainfix &lt;=c0V0F">
...@@ -30,17 +38,25 @@ ...@@ -30,17 +38,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.02"/> <result status="valid" time="0.02"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8" name="WP_parameter solve8"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="VC for solve8" expl="VC for solve8"
sum="d31361585e559e5c179090a88a5ccdeb" sum="c7e175f18776c2a5fe136fb90574093f"
proved="true" proved="true"
expanded="true" expanded="true"
shape="iiainfix =ic7c6ainfix &lt;agetV1c6agetV1c7V2Aainfix &lt;c6V0Aainfix &lt;=c0c6Aainfix &lt;c7V0Aainfix &lt;=c0c7aspecV4c3ainfix +c3c3V2V3ainfix &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;=c0c5aspecV4c0ainfix +c0c3V2V3ainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="iiainfix =ic7c6ainfix &lt;agetV1c6agetV1c7V2Aainfix &lt;c6V0Aainfix &lt;=c0c6Aainfix &lt;c7V0Aainfix &lt;=c0c7aspecV4c3ainfix +c3c3V2V3ainfix &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;=c0c5aspecV4c0ainfix +c0c3V2V3ainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -55,7 +71,7 @@ ...@@ -55,7 +71,7 @@
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="1. index in array bounds" expl="1. index in array bounds"
sum="b2d40a695281102206c57ffef269a7bb" sum="6a926496ec2fc5fae3feee17218eafab"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -65,17 +81,25 @@ ...@@ -65,17 +81,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.02"/> <result status="valid" time="0.02"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8.2" name="WP_parameter solve8.2"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="2. index in array bounds" expl="2. index in array bounds"
sum="9c6175549bbf28b86d966b903bac4e62" sum="975c6025bde09cff09e970371f18f543"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -85,6 +109,14 @@ ...@@ -85,6 +109,14 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="true"
archived="false">
<result status="valid" time="0.01"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false" obsolete="false"
archived="false"> archived="false">
<result status="valid" time="0.01"/> <result status="valid" time="0.01"/>
...@@ -95,7 +127,7 @@ ...@@ -95,7 +127,7 @@
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="3. index in array bounds" expl="3. index in array bounds"
sum="f6912272fe1d882bc93fc208c49f7818" sum="479606dd06d14fc5f000f81557cd09e9"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -105,6 +137,14 @@ ...@@ -105,6 +137,14 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="true"
archived="false">
<result status="valid" time="0.01"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false" obsolete="false"
archived="false"> archived="false">
<result status="valid" time="0.01"/> <result status="valid" time="0.01"/>
...@@ -115,7 +155,7 @@ ...@@ -115,7 +155,7 @@
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="4. index in array bounds" expl="4. index in array bounds"
sum="312128fcc4d69b83a16700ff15607aff" sum="9b1074d5dcdc780843225fac52f28c88"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -125,6 +165,14 @@ ...@@ -125,6 +165,14 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="true"
archived="false">
<result status="valid" time="0.01"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false" obsolete="false"
archived="false"> archived="false">
<result status="valid" time="0.01"/> <result status="valid" time="0.01"/>
...@@ -135,7 +183,7 @@ ...@@ -135,7 +183,7 @@
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="5. index in array bounds" expl="5. index in array bounds"
sum="c39db593354d8d388a14517730b5a4ae" sum="ae8999d91cac2dc2f9f0c03bd79676b3"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -145,17 +193,25 @@ ...@@ -145,17 +193,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.03"/> <result status="valid" time="0.03"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8.6" name="WP_parameter solve8.6"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="6. index in array bounds" expl="6. index in array bounds"
sum="d48753cf76cd4c110f08b345e58b0577" sum="58a91047781856be201c8e4623240d88"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &lt;c0V0Aainfix &lt;=c0c0Iainfix &lt;c1V0Aainfix &lt;=c0c1Iainfix &lt;c2V0Aainfix &lt;=c0c2Iainfix &lt;c3V0Aainfix &lt;=c0c3Iainfix &lt;c4V0Aainfix &lt;=c0c4Iainfix &lt;c5V0Aainfix &lt;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -165,6 +221,14 @@ ...@@ -165,6 +221,14 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="true"
archived="false">
<result status="valid" time="0.00"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false" obsolete="false"
archived="false"> archived="false">
<result status="valid" time="0.00"/> <result status="valid" time="0.00"/>
...@@ -175,7 +239,7 @@ ...@@ -175,7 +239,7 @@
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="7. precondition" expl="7. precondition"
sum="013f897984932d02e06a771270dc3d1f" sum="34f24aec5759081fee36b1644c8429a2"
proved="true" proved="true"
expanded="false" expanded="false"
shape="preconditionaspecV4c0ainfix +c0c3V2V3Iainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="preconditionaspecV4c0ainfix +c0c3V2V3Iainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -185,17 +249,25 @@ ...@@ -185,17 +249,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.03"/> <result status="valid" time="0.03"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.05"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8.8" name="WP_parameter solve8.8"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="8. index in array bounds" expl="8. index in array bounds"
sum="1ceb9b706381e5de75351694ecf8dbe0" sum="88e96f60b490680d6c249a30486ace46"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -205,17 +277,25 @@ ...@@ -205,17 +277,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.02"/> <result status="valid" time="0.02"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8.9" name="WP_parameter solve8.9"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="9. index in array bounds" expl="9. index in array bounds"
sum="b0aa1e8c453fb14a0c496427fe72c261" sum="ac6ac6f1a460a5f86a3f2adf3ac50014"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -225,17 +305,25 @@ ...@@ -225,17 +305,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.01"/> <result status="valid" time="0.01"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8.10" name="WP_parameter solve8.10"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="10. index in array bounds" expl="10. index in array bounds"
sum="4d642559ec83039923a2496f4e23c8dd" sum="09e57bdf69b9d7e778bfcbec3f7b54eb"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -245,17 +333,25 @@ ...@@ -245,17 +333,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.00"/> <result status="valid" time="0.00"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8.11" name="WP_parameter solve8.11"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="11. index in array bounds" expl="11. index in array bounds"
sum="ccc3323c04090655cab8a1ff7873574b" sum="38b655ba3c73a177cfbf78b8baa6082a"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -265,17 +361,25 @@ ...@@ -265,17 +361,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.01"/> <result status="valid" time="0.01"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8.12" name="WP_parameter solve8.12"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="12. index in array bounds" expl="12. index in array bounds"
sum="2408d061a0b1ecd4c87f16d7e41725ae" sum="6d2c10b66c462a0d9b0f19a794da2a87"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -285,6 +389,14 @@ ...@@ -285,6 +389,14 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="true"
archived="false">
<result status="valid" time="0.02"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false" obsolete="false"
archived="false"> archived="false">
<result status="valid" time="0.02"/> <result status="valid" time="0.02"/>
...@@ -295,7 +407,7 @@ ...@@ -295,7 +407,7 @@
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="13. index in array bounds" expl="13. index in array bounds"
sum="690c698a413c66bc1693b12cb66955c7" sum="b47140fc58b644b4ac9d5b7679aee6f6"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -305,6 +417,14 @@ ...@@ -305,6 +417,14 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="true"
archived="false">
<result status="valid" time="0.01"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false" obsolete="false"
archived="false"> archived="false">
<result status="valid" time="0.01"/> <result status="valid" time="0.01"/>
...@@ -315,7 +435,7 @@ ...@@ -315,7 +435,7 @@
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="14. precondition" expl="14. precondition"
sum="2620171d7414e045b8365fbe66eb3348" sum="b3b8375d53b28e76a2d3682683a3c898"
proved="true" proved="true"
expanded="false" expanded="false"
shape="preconditionaspecV4c3ainfix +c3c3V2V3Iainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="preconditionaspecV4c3ainfix +c3c3V2V3Iainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -325,17 +445,25 @@ ...@@ -325,17 +445,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.04"/> <result status="valid" time="0.04"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.10"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8.15" name="WP_parameter solve8.15"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="15. index in array bounds" expl="15. index in array bounds"
sum="d9200f7b3d36b8483637f1183b331206" sum="831d05791c705cdc721163d39eecd416"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -345,17 +473,25 @@ ...@@ -345,17 +473,25 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.01"/> <result status="valid" time="0.01"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal> </goal>
<goal <goal
name="WP_parameter solve8.16" name="WP_parameter solve8.16"
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="16. index in array bounds" expl="16. index in array bounds"
sum="2fa7c6a4347a6f7978963a52fc87741f" sum="a62bd0cff55006d72867d31f0d27a80d"
proved="true" proved="true"
expanded="false" expanded="false"
shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> shape="index in array boundsainfix &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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
...@@ -365,6 +501,14 @@ ...@@ -365,6 +501,14 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="true"
archived="false">
<result status="valid" time="0.01"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false" obsolete="false"
archived="false"> archived="false">
<result status="valid" time="0.01"/> <result status="valid" time="0.01"/>
...@@ -375,9 +519,9 @@ ...@@ -375,9 +519,9 @@
locfile="../balance.mlw" locfile="../balance.mlw"
loclnum="39" loccnumb="6" loccnume="12" loclnum="39" loccnumb="6" loccnume="12"
expl="17. postcondition" expl="17. postcondition"
sum="a3b67d2c6ba952e455a09a5cdfe83011" sum="2440fb80af7ec657e33026f1e85b604f"
proved="true" proved="true"
expanded="true" expanded="false"
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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F"> 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;=c0c5IaspecV4c0c8V2V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
<label <label
name="expl:VC for solve8"/> name="expl:VC for solve8"/>
...@@ -385,13 +529,48 @@ ...@@ -385,13 +529,48 @@
prover="0" prover="0"
timelimit="10" timelimit="10"
memlimit="1000" memlimit="1000"
obsolete="false" obsolete="true"
archived="false"> archived="false">
<result status="valid" time="0.20"/> <result status="valid" time="0.20"/>
</proof> </proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.10"/>
</proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
</theory> </theory>
<theory
name="Balance12"
locfile="../balance.mlw"
loclnum="56" loccnumb="7" loccnume="16"
verified="true"
expanded="true">
<goal
name="WP_parameter solve12"
locfile="../balance.mlw"
loclnum="71" loccnumb="5" loccnume="12"
expl="VC for solve12"
sum="a05df0918d7e59201dc1c3ff73fdefe8"
proved="true"
expanded="false"
shape="iiiiiiainfix =V4aFalseAainfix =V3c0ainfix =V4aFalseAainfix =V3c1ainfix &lt;agetV1c0agetV1c1Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1ainfix =aTrueV4Aainfix =c5V3ainfix =agetV1c0agetV1c1Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1iiainfix =V4aFalseAainfix =V3c2ainfix =V4aFalseAainfix =V3c5ainfix &lt;agetV1c2agetV1c5Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c5V0Aainfix &lt;=c0c5ainfix =aTrueV4Aainfix =c4V3ainfix =agetV1c2agetV1c5Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c5V0Aainfix &lt;=c0c5ainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c4ainfix +ainfix +agetV1c2agetV1c5agetV1c8Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1Aainfix &lt;c4V0Aainfix &lt;=c0c4Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c5V0Aainfix &lt;=c0c5Aainfix &lt;c8V0Aainfix &lt;=c0c8iiainfix =V4aTrueAainfix =V3c7ainfix =V4aTrueAainfix =V3c6ainfix &lt;agetV1c6agetV1c7Aainfix &lt;c6V0Aainfix &lt;=c0c6Aainfix &lt;c7V0Aainfix &lt;=c0c7ainfix =aFalseV4Aainfix =c3V3ainfix =agetV1c6agetV1c7Aainfix &lt;c6V0Aainfix &lt;=c0c6Aainfix &lt;c7V0Aainfix &lt;=c0c7ainfix =ainfix +ainfix +agetV1c0agetV1c1agetV1c4ainfix +ainfix +agetV1c2agetV1c5agetV1c8Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1Aainfix &lt;c4V0Aainfix &lt;=c0c4Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c5V0Aainfix &lt;=c0c5Aainfix &lt;c8V0Aainfix &lt;=c0c8iiiainfix =V4aFalseAainfix =V3c4ainfix =V4aTrueAainfix =V3c2ainfix =agetV1c4agetV1c8Aainfix &lt;c4V0Aainfix &lt;=c0c4Aainfix &lt;c8V0Aainfix &lt;=c0c8iiainfix =V4aTrueAainfix =V3c1ainfix =V4aTrueAainfix =V3c0ainfix &lt;agetV1c0agetV1c1Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1ainfix =aFalseV4Aainfix =c5V3ainfix =agetV1c0agetV1c1Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1ainfix &lt;ainfix +ainfix +agetV1c0agetV1c1agetV1c4ainfix +ainfix +agetV1c2agetV1c5agetV1c8Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1Aainfix &lt;c4V0Aainfix &lt;=c0c4Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c5V0Aainfix &lt;=c0c5Aainfix &lt;c8V0Aainfix &lt;=c0c8iiainfix =V4aFalseAainfix =V3c6ainfix =V4aFalseAainfix =V3c7ainfix &lt;agetV1c6agetV1c7Aainfix &lt;c6V0Aainfix &lt;=c0c6Aainfix &lt;c7V0Aainfix &lt;=c0c7ainfix =aTrueV4Aainfix =c3V3ainfix =agetV1c6agetV1c7Aainfix &lt;c6V0Aainfix &lt;=c0c6Aainfix &lt;c7V0Aainfix &lt;=c0c7ainfix =ainfix +ainfix +agetV1c0agetV1c1agetV1c4ainfix +ainfix +agetV1c2agetV1c5agetV1c8Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1Aainfix &lt;c4V0Aainfix &lt;=c0c4Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c5V0Aainfix &lt;=c0c5Aainfix &lt;c8V0Aainfix &lt;=c0c8ainfix &lt;ainfix +ainfix +ainfix +agetV1c0agetV1c1agetV1c2agetV1c3ainfix +ainfix +ainfix +agetV1c4agetV1c5agetV1c6agetV1c7Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c3V0Aainfix &lt;=c0c3Aainfix &lt;c4V0Aainfix &lt;=c0c4Aainfix &lt;c5V0Aainfix &lt;=c0c5Aainfix &lt;c6V0Aainfix &lt;=c0c6Aainfix &lt;c7V0Aainfix &lt;=c0c7iiiiainfix =V4aTrueAainfix =V3c10ainfix =V4aTrueAainfix =V3c9ainfix &lt;agetV1c9agetV1c10Aainfix &lt;c9V0Aainfix &lt;=c0c9Aainfix &lt;c10V0Aainfix &lt;=c0c10ainfix =aFalseV4Aainfix =c8V3ainfix =agetV1c9agetV1c10Aainfix &lt;c9V0Aainfix &lt;=c0c9Aainfix &lt;c10V0Aainfix &lt;=c0c10iiainfix =V4aFalseAainfix =V3c9ainfix =V4aFalseAainfix =V3c10ainfix &lt;agetV1c9agetV1c10Aainfix &lt;c9V0Aainfix &lt;=c0c9Aainfix &lt;c10V0Aainfix &lt;=c0c10ainfix =aTrueV4Aainfix =c8V3ainfix =agetV1c9agetV1c10Aainfix &lt;c9V0Aainfix &lt;=c0c9Aainfix &lt;c10V0Aainfix &lt;=c0c10ainfix &lt;ainfix +agetV1c0agetV1c8ainfix +agetV1c9agetV1c10Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c8V0Aainfix &lt;=c0c8Aainfix &lt;c9V0Aainfix &lt;=c0c9Aainfix &lt;c10V0Aainfix &lt;=c0c10iainfix =V4aTrueAainfix =V3c11ainfix =V4aFalseAainfix =V3c11ainfix &lt;agetV1c0agetV1c11Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c11V0Aainfix &lt;=c0c11ainfix =ainfix +agetV1c0agetV1c8ainfix +agetV1c9agetV1c10Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c8V0Aainfix &lt;=c0c8Aainfix &lt;c9V0Aainfix &lt;=c0c9Aainfix &lt;c10V0Aainfix &lt;=c0c10ainfix =ainfix +ainfix +ainfix +agetV1c0agetV1c1agetV1c2agetV1c3ainfix +ainfix +ainfix +agetV1c4agetV1c5agetV1c6agetV1c7Aainfix &lt;c0V0Aainfix &lt;=c0c0Aainfix &lt;c1V0Aainfix &lt;=c0c1Aainfix &lt;c2V0Aainfix &lt;=c0c2Aainfix &lt;c3V0Aainfix &lt;=c0c3Aainfix &lt;c4V0Aainfix &lt;=c0c4Aainfix &lt;c5V0Aainfix &lt;=c0c5Aainfix &lt;c6V0Aainfix &lt;=c0c6Aainfix &lt;c7V0Aainfix &lt;=c0c7Iaspecamk arrayV0V1c0c12V3V2V4Aainfix &lt;=c0V0F">
<label
name="expl:VC for solve12"/>
<proof
prover="2"
timelimit="5"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="1.10"/>
</proof>
</goal>
</theory>
</file> </file>
</why3session> </why3session>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment