Mise à jour terminée. Pour connaître les apports de la version 13.8.4 par rapport à notre ancienne version vous pouvez lire les "Release Notes" suivantes :
https://about.gitlab.com/releases/2021/02/11/security-release-gitlab-13-8-4-released/
https://about.gitlab.com/releases/2021/02/05/gitlab-13-8-3-released/

Commit 717baeab authored by Andrei Paskevich's avatar Andrei Paskevich

do not refresh non-aliased regions at the start of a function WP

parent fda65f6b
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -28,10 +28,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="VC for quicksort"
sum="58fde39b3de57a13ada8d66fc6adb75e"
sum="e7a9e5262f0a3ce52cb36df9234c1156"
proved="true"
expanded="true"
shape="iasorted_subV3V1ainfix +V2c1Aapermut_subV3V3V1ainfix +V2c1asorted_subV8V1ainfix +V2c1Aapermut_subV3V8V1ainfix +V2c1Aapermut_subV7V8V1ainfix +V2c1Iasorted_subV8V5ainfix +V2c1Aapermut_subV7V8V5ainfix +V2c1Aainfix <=c0V0FAainfix <V2V0Aainfix <=V5V2Aainfix <=c0V5Aainfix <ainfix -V2V5ainfix -V2V1Aainfix <=c0ainfix -V2V1Aapermut_subV6V7V1ainfix +V2c1Iasorted_subV7V1ainfix +V4c1Aapermut_subV6V7V1ainfix +V4c1Aainfix <=c0V0FAainfix <V4V0Aainfix <=V1V4Aainfix <=c0V1Aainfix <ainfix -V4V1ainfix -V2V1Aainfix <=c0ainfix -V2V1Iainfix >=agetV6V10V9Iainfix <=V10V2Aainfix <=V5V10FAainfix =agetV6V11V9Iainfix <V11V5Aainfix <V4V11FAainfix <=agetV6V12V9Iainfix <=V12V4Aainfix <=V1V12FEAapermut_subV3V6V1ainfix +V2c1Aainfix <=V5V2Aainfix <V4V5Aainfix <=V1V4Aainfix <=c0V0FAainfix <V2V0Aainfix <V1V2Aainfix <=c0V1ainfix <V1V2Iainfix <V2V0Aainfix <=V1V2Aainfix <=c0V1Aainfix <=c0V0FF">
shape="iasorted_subV1V2ainfix +V3c1Aapermut_subV1V1V2ainfix +V3c1asorted_subV8V2ainfix +V3c1Aapermut_subV1V8V2ainfix +V3c1Aapermut_subV7V8V2ainfix +V3c1Iasorted_subV8V5ainfix +V3c1Aapermut_subV7V8V5ainfix +V3c1Aainfix <=c0V0FAainfix <V3V0Aainfix <=V5V3Aainfix <=c0V5Aainfix <ainfix -V3V5ainfix -V3V2Aainfix <=c0ainfix -V3V2Aapermut_subV6V7V2ainfix +V3c1Iasorted_subV7V2ainfix +V4c1Aapermut_subV6V7V2ainfix +V4c1Aainfix <=c0V0FAainfix <V4V0Aainfix <=V2V4Aainfix <=c0V2Aainfix <ainfix -V4V2ainfix -V3V2Aainfix <=c0ainfix -V3V2Iainfix >=agetV6V10V9Iainfix <=V10V3Aainfix <=V5V10FAainfix =agetV6V11V9Iainfix <V11V5Aainfix <V4V11FAainfix <=agetV6V12V9Iainfix <=V12V4Aainfix <=V2V12FEAapermut_subV1V6V2ainfix +V3c1Aainfix <=V5V3Aainfix <V4V5Aainfix <=V2V4Aainfix <=c0V0FAainfix <V3V0Aainfix <V2V3Aainfix <=c0V2ainfix <V2V3Iainfix <V3V0Aainfix <=V2V3Aainfix <=c0V2Aainfix <=c0V0F">
<label
name="expl:VC for quicksort"/>
<transf
......@@ -43,10 +43,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="1. precondition"
sum="3c43f6f2c8269df69c948249e7e1e382"
sum="10046b5481a01c5b51bb31be6e4d4d4e"
proved="true"
expanded="true"
shape="preconditionainfix &lt;V2V0Aainfix &lt;V1V2Aainfix &lt;=c0V1Iainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="preconditionainfix &lt;V3V0Aainfix &lt;V2V3Aainfix &lt;=c0V2Iainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -63,10 +63,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="2. variant decrease"
sum="e4af12d56325fd83d45591296cbe3447"
sum="125a91b9e4bd34db62afce1be81eee91"
proved="true"
expanded="true"
shape="variant decreaseainfix &lt;ainfix -V4V1ainfix -V2V1Aainfix &lt;=c0ainfix -V2V1Iainfix &gt;=agetV6V8V7Iainfix &lt;=V8V2Aainfix &lt;=V5V8FAainfix =agetV6V9V7Iainfix &lt;V9V5Aainfix &lt;V4V9FAainfix &lt;=agetV6V10V7Iainfix &lt;=V10V4Aainfix &lt;=V1V10FEAapermut_subV3V6V1ainfix +V2c1Aainfix &lt;=V5V2Aainfix &lt;V4V5Aainfix &lt;=V1V4Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;V1V2Aainfix &lt;=c0V1Iainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="variant decreaseainfix &lt;ainfix -V4V2ainfix -V3V2Aainfix &lt;=c0ainfix -V3V2Iainfix &gt;=agetV6V8V7Iainfix &lt;=V8V3Aainfix &lt;=V5V8FAainfix =agetV6V9V7Iainfix &lt;V9V5Aainfix &lt;V4V9FAainfix &lt;=agetV6V10V7Iainfix &lt;=V10V4Aainfix &lt;=V2V10FEAapermut_subV1V6V2ainfix +V3c1Aainfix &lt;=V5V3Aainfix &lt;V4V5Aainfix &lt;=V2V4Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;V2V3Aainfix &lt;=c0V2Iainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -83,10 +83,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="3. precondition"
sum="6b486a7a19953085f8a449593e49e9e3"
sum="0f09d807de4624d527adb62488c5fcf4"
proved="true"
expanded="true"
shape="preconditionainfix &lt;V4V0Aainfix &lt;=V1V4Aainfix &lt;=c0V1Iainfix &gt;=agetV6V8V7Iainfix &lt;=V8V2Aainfix &lt;=V5V8FAainfix =agetV6V9V7Iainfix &lt;V9V5Aainfix &lt;V4V9FAainfix &lt;=agetV6V10V7Iainfix &lt;=V10V4Aainfix &lt;=V1V10FEAapermut_subV3V6V1ainfix +V2c1Aainfix &lt;=V5V2Aainfix &lt;V4V5Aainfix &lt;=V1V4Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;V1V2Aainfix &lt;=c0V1Iainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="preconditionainfix &lt;V4V0Aainfix &lt;=V2V4Aainfix &lt;=c0V2Iainfix &gt;=agetV6V8V7Iainfix &lt;=V8V3Aainfix &lt;=V5V8FAainfix =agetV6V9V7Iainfix &lt;V9V5Aainfix &lt;V4V9FAainfix &lt;=agetV6V10V7Iainfix &lt;=V10V4Aainfix &lt;=V2V10FEAapermut_subV1V6V2ainfix +V3c1Aainfix &lt;=V5V3Aainfix &lt;V4V5Aainfix &lt;=V2V4Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;V2V3Aainfix &lt;=c0V2Iainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -103,10 +103,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="4. assertion"
sum="b203e24ff20076cb2659b3454a5a6012"
sum="2172d6511ad64bce0cb9797f4cc5c3d5"
proved="true"
expanded="true"
shape="assertionapermut_subV6V7V1ainfix +V2c1Iasorted_subV7V1ainfix +V4c1Aapermut_subV6V7V1ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V1V4Aainfix &lt;=c0V1Iainfix &gt;=agetV6V9V8Iainfix &lt;=V9V2Aainfix &lt;=V5V9FAainfix =agetV6V10V8Iainfix &lt;V10V5Aainfix &lt;V4V10FAainfix &lt;=agetV6V11V8Iainfix &lt;=V11V4Aainfix &lt;=V1V11FEAapermut_subV3V6V1ainfix +V2c1Aainfix &lt;=V5V2Aainfix &lt;V4V5Aainfix &lt;=V1V4Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;V1V2Aainfix &lt;=c0V1Iainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="assertionapermut_subV6V7V2ainfix +V3c1Iasorted_subV7V2ainfix +V4c1Aapermut_subV6V7V2ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V2V4Aainfix &lt;=c0V2Iainfix &gt;=agetV6V9V8Iainfix &lt;=V9V3Aainfix &lt;=V5V9FAainfix =agetV6V10V8Iainfix &lt;V10V5Aainfix &lt;V4V10FAainfix &lt;=agetV6V11V8Iainfix &lt;=V11V4Aainfix &lt;=V2V11FEAapermut_subV1V6V2ainfix +V3c1Aainfix &lt;=V5V3Aainfix &lt;V4V5Aainfix &lt;=V2V4Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;V2V3Aainfix &lt;=c0V2Iainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -123,10 +123,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="5. variant decrease"
sum="6cf15418ef8d15af54e3962c629dabd3"
sum="8a7ae232d6b324b953a510937681d83d"
proved="true"
expanded="true"
shape="variant decreaseainfix &lt;ainfix -V2V5ainfix -V2V1Aainfix &lt;=c0ainfix -V2V1Iapermut_subV6V7V1ainfix +V2c1Iasorted_subV7V1ainfix +V4c1Aapermut_subV6V7V1ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V1V4Aainfix &lt;=c0V1Iainfix &gt;=agetV6V9V8Iainfix &lt;=V9V2Aainfix &lt;=V5V9FAainfix =agetV6V10V8Iainfix &lt;V10V5Aainfix &lt;V4V10FAainfix &lt;=agetV6V11V8Iainfix &lt;=V11V4Aainfix &lt;=V1V11FEAapermut_subV3V6V1ainfix +V2c1Aainfix &lt;=V5V2Aainfix &lt;V4V5Aainfix &lt;=V1V4Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;V1V2Aainfix &lt;=c0V1Iainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="variant decreaseainfix &lt;ainfix -V3V5ainfix -V3V2Aainfix &lt;=c0ainfix -V3V2Iapermut_subV6V7V2ainfix +V3c1Iasorted_subV7V2ainfix +V4c1Aapermut_subV6V7V2ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V2V4Aainfix &lt;=c0V2Iainfix &gt;=agetV6V9V8Iainfix &lt;=V9V3Aainfix &lt;=V5V9FAainfix =agetV6V10V8Iainfix &lt;V10V5Aainfix &lt;V4V10FAainfix &lt;=agetV6V11V8Iainfix &lt;=V11V4Aainfix &lt;=V2V11FEAapermut_subV1V6V2ainfix +V3c1Aainfix &lt;=V5V3Aainfix &lt;V4V5Aainfix &lt;=V2V4Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;V2V3Aainfix &lt;=c0V2Iainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -143,10 +143,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="6. precondition"
sum="a1a8658fb645764ad38241ce182e9b8a"
sum="f51f242786a7b28b3858df083de84603"
proved="true"
expanded="true"
shape="preconditionainfix &lt;V2V0Aainfix &lt;=V5V2Aainfix &lt;=c0V5Iapermut_subV6V7V1ainfix +V2c1Iasorted_subV7V1ainfix +V4c1Aapermut_subV6V7V1ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V1V4Aainfix &lt;=c0V1Iainfix &gt;=agetV6V9V8Iainfix &lt;=V9V2Aainfix &lt;=V5V9FAainfix =agetV6V10V8Iainfix &lt;V10V5Aainfix &lt;V4V10FAainfix &lt;=agetV6V11V8Iainfix &lt;=V11V4Aainfix &lt;=V1V11FEAapermut_subV3V6V1ainfix +V2c1Aainfix &lt;=V5V2Aainfix &lt;V4V5Aainfix &lt;=V1V4Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;V1V2Aainfix &lt;=c0V1Iainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="preconditionainfix &lt;V3V0Aainfix &lt;=V5V3Aainfix &lt;=c0V5Iapermut_subV6V7V2ainfix +V3c1Iasorted_subV7V2ainfix +V4c1Aapermut_subV6V7V2ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V2V4Aainfix &lt;=c0V2Iainfix &gt;=agetV6V9V8Iainfix &lt;=V9V3Aainfix &lt;=V5V9FAainfix =agetV6V10V8Iainfix &lt;V10V5Aainfix &lt;V4V10FAainfix &lt;=agetV6V11V8Iainfix &lt;=V11V4Aainfix &lt;=V2V11FEAapermut_subV1V6V2ainfix +V3c1Aainfix &lt;=V5V3Aainfix &lt;V4V5Aainfix &lt;=V2V4Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;V2V3Aainfix &lt;=c0V2Iainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -163,10 +163,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="7. assertion"
sum="d4c5f783e016831c9b4150a9a837996b"
sum="290e8d20829c2ea09f8ca6ac6219aa2c"
proved="true"
expanded="true"
shape="assertionapermut_subV7V8V1ainfix +V2c1Iasorted_subV8V5ainfix +V2c1Aapermut_subV7V8V5ainfix +V2c1Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;=V5V2Aainfix &lt;=c0V5Iapermut_subV6V7V1ainfix +V2c1Iasorted_subV7V1ainfix +V4c1Aapermut_subV6V7V1ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V1V4Aainfix &lt;=c0V1Iainfix &gt;=agetV6V10V9Iainfix &lt;=V10V2Aainfix &lt;=V5V10FAainfix =agetV6V11V9Iainfix &lt;V11V5Aainfix &lt;V4V11FAainfix &lt;=agetV6V12V9Iainfix &lt;=V12V4Aainfix &lt;=V1V12FEAapermut_subV3V6V1ainfix +V2c1Aainfix &lt;=V5V2Aainfix &lt;V4V5Aainfix &lt;=V1V4Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;V1V2Aainfix &lt;=c0V1Iainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="assertionapermut_subV7V8V2ainfix +V3c1Iasorted_subV8V5ainfix +V3c1Aapermut_subV7V8V5ainfix +V3c1Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=V5V3Aainfix &lt;=c0V5Iapermut_subV6V7V2ainfix +V3c1Iasorted_subV7V2ainfix +V4c1Aapermut_subV6V7V2ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V2V4Aainfix &lt;=c0V2Iainfix &gt;=agetV6V10V9Iainfix &lt;=V10V3Aainfix &lt;=V5V10FAainfix =agetV6V11V9Iainfix &lt;V11V5Aainfix &lt;V4V11FAainfix &lt;=agetV6V12V9Iainfix &lt;=V12V4Aainfix &lt;=V2V12FEAapermut_subV1V6V2ainfix +V3c1Aainfix &lt;=V5V3Aainfix &lt;V4V5Aainfix &lt;=V2V4Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;V2V3Aainfix &lt;=c0V2Iainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -183,10 +183,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="8. postcondition"
sum="7b2272981678c505d00d003541a25323"
sum="1fc81bbf8033f10f80a871666ff638d6"
proved="true"
expanded="true"
shape="postconditionapermut_subV3V8V1ainfix +V2c1Iapermut_subV7V8V1ainfix +V2c1Iasorted_subV8V5ainfix +V2c1Aapermut_subV7V8V5ainfix +V2c1Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;=V5V2Aainfix &lt;=c0V5Iapermut_subV6V7V1ainfix +V2c1Iasorted_subV7V1ainfix +V4c1Aapermut_subV6V7V1ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V1V4Aainfix &lt;=c0V1Iainfix &gt;=agetV6V10V9Iainfix &lt;=V10V2Aainfix &lt;=V5V10FAainfix =agetV6V11V9Iainfix &lt;V11V5Aainfix &lt;V4V11FAainfix &lt;=agetV6V12V9Iainfix &lt;=V12V4Aainfix &lt;=V1V12FEAapermut_subV3V6V1ainfix +V2c1Aainfix &lt;=V5V2Aainfix &lt;V4V5Aainfix &lt;=V1V4Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;V1V2Aainfix &lt;=c0V1Iainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="postconditionapermut_subV1V8V2ainfix +V3c1Iapermut_subV7V8V2ainfix +V3c1Iasorted_subV8V5ainfix +V3c1Aapermut_subV7V8V5ainfix +V3c1Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=V5V3Aainfix &lt;=c0V5Iapermut_subV6V7V2ainfix +V3c1Iasorted_subV7V2ainfix +V4c1Aapermut_subV6V7V2ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V2V4Aainfix &lt;=c0V2Iainfix &gt;=agetV6V10V9Iainfix &lt;=V10V3Aainfix &lt;=V5V10FAainfix =agetV6V11V9Iainfix &lt;V11V5Aainfix &lt;V4V11FAainfix &lt;=agetV6V12V9Iainfix &lt;=V12V4Aainfix &lt;=V2V12FEAapermut_subV1V6V2ainfix +V3c1Aainfix &lt;=V5V3Aainfix &lt;V4V5Aainfix &lt;=V2V4Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;V2V3Aainfix &lt;=c0V2Iainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -203,10 +203,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="9. postcondition"
sum="39cbb1c21ab896a97d894567ed414a90"
sum="2732ec2f89e2400f11d3e0afede93c7a"
proved="true"
expanded="true"
shape="postconditionasorted_subV8V1ainfix +V2c1Iapermut_subV7V8V1ainfix +V2c1Iasorted_subV8V5ainfix +V2c1Aapermut_subV7V8V5ainfix +V2c1Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;=V5V2Aainfix &lt;=c0V5Iapermut_subV6V7V1ainfix +V2c1Iasorted_subV7V1ainfix +V4c1Aapermut_subV6V7V1ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V1V4Aainfix &lt;=c0V1Iainfix &gt;=agetV6V10V9Iainfix &lt;=V10V2Aainfix &lt;=V5V10FAainfix =agetV6V11V9Iainfix &lt;V11V5Aainfix &lt;V4V11FAainfix &lt;=agetV6V12V9Iainfix &lt;=V12V4Aainfix &lt;=V1V12FEAapermut_subV3V6V1ainfix +V2c1Aainfix &lt;=V5V2Aainfix &lt;V4V5Aainfix &lt;=V1V4Aainfix &lt;=c0V0FIainfix &lt;V2V0Aainfix &lt;V1V2Aainfix &lt;=c0V1Iainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="postconditionasorted_subV8V2ainfix +V3c1Iapermut_subV7V8V2ainfix +V3c1Iasorted_subV8V5ainfix +V3c1Aapermut_subV7V8V5ainfix +V3c1Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=V5V3Aainfix &lt;=c0V5Iapermut_subV6V7V2ainfix +V3c1Iasorted_subV7V2ainfix +V4c1Aapermut_subV6V7V2ainfix +V4c1Aainfix &lt;=c0V0FIainfix &lt;V4V0Aainfix &lt;=V2V4Aainfix &lt;=c0V2Iainfix &gt;=agetV6V10V9Iainfix &lt;=V10V3Aainfix &lt;=V5V10FAainfix =agetV6V11V9Iainfix &lt;V11V5Aainfix &lt;V4V11FAainfix &lt;=agetV6V12V9Iainfix &lt;=V12V4Aainfix &lt;=V2V12FEAapermut_subV1V6V2ainfix +V3c1Aainfix &lt;=V5V3Aainfix &lt;V4V5Aainfix &lt;=V2V4Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;V2V3Aainfix &lt;=c0V2Iainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -219,11 +219,11 @@
</proof>
<proof
prover="2"
timelimit="50"
timelimit="100"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="16.52"/>
<result status="valid" time="55.75"/>
</proof>
</goal>
<goal
......@@ -231,10 +231,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="10. postcondition"
sum="c9aee77b1de0f789e80a8d6207e238a8"
sum="52fed150ed032a75da9910f9c6ae9717"
proved="true"
expanded="true"
shape="postconditionapermut_subV3V3V1ainfix +V2c1INainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="postconditionapermut_subV1V1V2ainfix +V3c1INainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......@@ -251,10 +251,10 @@
locfile="../algo64.mlw"
loclnum="37" loccnumb="10" loccnume="19"
expl="11. postcondition"
sum="324cbdea9c2d639c2179bcbffb508f78"
sum="269e484c5a64ce4d6cc45e556594ed2e"
proved="true"
expanded="true"
shape="postconditionasorted_subV3V1ainfix +V2c1INainfix &lt;V1V2Iainfix &lt;V2V0Aainfix &lt;=V1V2Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="postconditionasorted_subV1V2ainfix +V3c1INainfix &lt;V2V3Iainfix &lt;V3V0Aainfix &lt;=V2V3Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for quicksort"/>
<proof
......
This diff is collapsed.
......@@ -24,10 +24,10 @@
locfile="../assigning_meanings_to_programs.mlw"
loclnum="12" loccnumb="6" loccnume="9"
expl="VC for sum"
sum="e0ca4e8622864551ab60bb029148376f"
sum="9ce3e09613751b22aec78ab286a1ccb3"
proved="true"
expanded="true"
shape="iainfix =V3asumV2c1ainfix +V1c1ainfix &lt;ainfix -V1V6ainfix -V1V4Aainfix &lt;=c0ainfix -V1V4Aainfix =V5asumV2c1V6Aainfix &lt;=V6ainfix +V1c1Aainfix &lt;=c1V6Iainfix =V6ainfix +V4c1FIainfix =V5ainfix +V3agetV2V4FAainfix &lt;V4V0Aainfix &lt;=c0V4ainfix &lt;=V4V1Iainfix =V3asumV2c1V4Aainfix &lt;=V4ainfix +V1c1Aainfix &lt;=c1V4FAainfix =c0asumV2c1c1Aainfix &lt;=c1ainfix +V1c1Aainfix &lt;=c1c1Iainfix &lt;V1V0Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
shape="iainfix =V3asumV1c1ainfix +V2c1ainfix &lt;ainfix -V2V6ainfix -V2V4Aainfix &lt;=c0ainfix -V2V4Aainfix =V5asumV1c1V6Aainfix &lt;=V6ainfix +V2c1Aainfix &lt;=c1V6Iainfix =V6ainfix +V4c1FIainfix =V5ainfix +V3agetV1V4FAainfix &lt;V4V0Aainfix &lt;=c0V4ainfix &lt;=V4V2Iainfix =V3asumV1c1V4Aainfix &lt;=V4ainfix +V2c1Aainfix &lt;=c1V4FAainfix =c0asumV1c1c1Aainfix &lt;=c1ainfix +V2c1Aainfix &lt;=c1c1Iainfix &lt;V2V0Aainfix &lt;=c0V2Aainfix &lt;=c0V0F">
<label
name="expl:VC for sum"/>
<proof
......
(* This file is generated by Why3's Coq driver *)
(* This file is generated by Why3's Coq 8.4 driver *)
(* Beware! Only edit allowed sections below *)
Require Import BuiltIn.
Require BuiltIn.
......@@ -60,6 +60,12 @@ Parameter remove: forall {a:Type} {a_WT:WhyType a}, a -> (@set a a_WT)
Axiom remove_def1 : forall {a:Type} {a_WT:WhyType a}, forall (x:a) (y:a)
(s:(@set a a_WT)), (mem x (remove y s)) <-> ((~ (x = y)) /\ (mem x s)).
Axiom add_remove : forall {a:Type} {a_WT:WhyType a}, forall (x:a) (s:(@set
a a_WT)), (mem x s) -> ((add x (remove x s)) = s).
Axiom remove_add : forall {a:Type} {a_WT:WhyType a}, forall (x:a) (s:(@set
a a_WT)), ((remove x (add x s)) = (remove x s)).
Axiom subset_remove : forall {a:Type} {a_WT:WhyType a}, forall (x:a) (s:(@set
a a_WT)), (subset (remove x s) s).
......@@ -349,10 +355,10 @@ Ltac ae := why3 "alt-ergo".
Require Import Classical.
(* Why3 goal *)
Theorem WP_parameter_relax : forall (u:vertex) (v:vertex) (pass:Z) (via:(@set
(vertex* vertex)%type _)), forall (m:(@map.Map.map vertex vertex_WhyType
t t_WhyType)), ((((1%Z < pass)%Z \/ (1%Z = pass)) /\ ((mem (u, v) edges) /\
~ (mem (u, v) via))) /\ forall (v1:vertex), (mem v1 vertices) ->
Theorem WP_parameter_relax : forall (m:(@map.Map.map vertex vertex_WhyType
t t_WhyType)) (u:vertex) (v:vertex) (pass:Z) (via:(@set (vertex*
vertex)%type _)), ((((1%Z < pass)%Z \/ (1%Z = pass)) /\ ((mem (u, v)
edges) /\ ~ (mem (u, v) via))) /\ forall (v1:vertex), (mem v1 vertices) ->
match (map.Map.get m
v1) with
| (Finite n) => (exists l:(list vertex), (path s l v1) /\ ((path_weight l
......@@ -384,8 +390,7 @@ Theorem WP_parameter_relax : forall (u:vertex) (v:vertex) (pass:Z) (via:(@set
v1) = n)
| Infinite => True
end).
(* Why3 intros u v pass via m ((h1,(h2,h3)),h4) h5 m1 h6 v1 h7. *)
intros u v pass via m ((hpass, (h1, h2)), h3).
intros m u v pass via ((hpass, (h1, h2)), h3).
destruct (Map.get m u) as [] _eqn. 2:intuition.
intros hlt m1 eqm1 v1 hv1.
destruct (classic (v1 = v)) as [h|h].
......
This diff is collapsed.
......@@ -24,10 +24,10 @@
locfile="../binary_search.mlw"
loclnum="17" loccnumb="6" loccnume="19"
expl="VC for binary_search"
sum="56a7828114cad28fdbf0f3086ba665f0"
sum="08847e78e28f9e02c4b8da41705b16fc"
proved="true"
expanded="true"
shape="iNainfix =agetV2V5V1Iainfix &lt;V5V0Aainfix &lt;=c0V5Fiiainfix =agetV2V6V1Aainfix &lt;V6V0Aainfix &lt;=c0V6ainfix &lt;ainfix -V7V4ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V8V7Aainfix &lt;=V4V8Iainfix =agetV2V8V1Iainfix &lt;V8V0Aainfix &lt;=c0V8FAainfix &lt;V7V0Aainfix &lt;=c0V4Iainfix =V7ainfix -V6c1Fainfix &gt;agetV2V6V1Aainfix &lt;V6V0Aainfix &lt;=c0V6ainfix &lt;ainfix -V3V9ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V10V3Aainfix &lt;=V9V10Iainfix =agetV2V10V1Iainfix &lt;V10V0Aainfix &lt;=c0V10FAainfix &lt;V3V0Aainfix &lt;=c0V9Iainfix =V9ainfix +V6c1Fainfix &lt;agetV2V6V1Aainfix &lt;V6V0Aainfix &lt;=c0V6Aainfix &lt;=V6V3Aainfix &lt;=V4V6Lainfix +V4adivainfix -V3V4c2ainfix &lt;=V4V3Iainfix &lt;=V11V3Aainfix &lt;=V4V11Iainfix =agetV2V11V1Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;V3V0Aainfix &lt;=c0V4FAainfix &lt;=V12ainfix -V0c1Aainfix &lt;=c0V12Iainfix =agetV2V12V1Iainfix &lt;V12V0Aainfix &lt;=c0V12FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0c0Iainfix &lt;=agetV2V13agetV2V14Iainfix &lt;V14V0Aainfix &lt;=V13V14Aainfix &lt;=c0V13FAainfix &lt;=c0V0FF">
shape="iNainfix =agetV1V5V2Iainfix &lt;V5V0Aainfix &lt;=c0V5Fiiainfix =agetV1V6V2Aainfix &lt;V6V0Aainfix &lt;=c0V6ainfix &lt;ainfix -V7V4ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V8V7Aainfix &lt;=V4V8Iainfix =agetV1V8V2Iainfix &lt;V8V0Aainfix &lt;=c0V8FAainfix &lt;V7V0Aainfix &lt;=c0V4Iainfix =V7ainfix -V6c1Fainfix &gt;agetV1V6V2Aainfix &lt;V6V0Aainfix &lt;=c0V6ainfix &lt;ainfix -V3V9ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V10V3Aainfix &lt;=V9V10Iainfix =agetV1V10V2Iainfix &lt;V10V0Aainfix &lt;=c0V10FAainfix &lt;V3V0Aainfix &lt;=c0V9Iainfix =V9ainfix +V6c1Fainfix &lt;agetV1V6V2Aainfix &lt;V6V0Aainfix &lt;=c0V6Aainfix &lt;=V6V3Aainfix &lt;=V4V6Lainfix +V4adivainfix -V3V4c2ainfix &lt;=V4V3Iainfix &lt;=V11V3Aainfix &lt;=V4V11Iainfix =agetV1V11V2Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;V3V0Aainfix &lt;=c0V4FAainfix &lt;=V12ainfix -V0c1Aainfix &lt;=c0V12Iainfix =agetV1V12V2Iainfix &lt;V12V0Aainfix &lt;=c0V12FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0c0Iainfix &lt;=agetV1V13agetV1V14Iainfix &lt;V14V0Aainfix &lt;=V13V14Aainfix &lt;=c0V13FAainfix &lt;=c0V0F">
<label
name="expl:VC for binary_search"/>
<proof
......@@ -59,10 +59,10 @@
locfile="../binary_search.mlw"
loclnum="60" loccnumb="6" loccnume="19"
expl="VC for binary_search"
sum="469d933c0ef6d53b10a8af8040766229"
sum="7302df6e214500c9c3bd1a2ae61f34ce"
proved="true"
expanded="true"
shape="iNainfix =agetV2V5V1Iainfix &lt;V5V0Aainfix &lt;=c0V5Fiiainfix =agetV2V6V1Aainfix &lt;V6V0Aainfix &lt;=c0V6ainfix &lt;ainfix -V7V4ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V8V7Aainfix &lt;=V4V8Iainfix =agetV2V8V1Iainfix &lt;V8V0Aainfix &lt;=c0V8FAainfix &lt;V7V0Aainfix &lt;=c0V4Iainfix =V7ainfix -V6c1Fainfix &gt;agetV2V6V1Aainfix &lt;V6V0Aainfix &lt;=c0V6ainfix &lt;ainfix -V3V9ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V10V3Aainfix &lt;=V9V10Iainfix =agetV2V10V1Iainfix &lt;V10V0Aainfix &lt;=c0V10FAainfix &lt;V3V0Aainfix &lt;=c0V9Iainfix =V9ainfix +V6c1Fainfix &lt;agetV2V6V1Aainfix &lt;V6V0Aainfix &lt;=c0V6Iainfix &lt;=V6V3Aainfix &lt;=V4V6FAainfix &lt;=V4V3ainfix &lt;=V4V3Iainfix &lt;=V11V3Aainfix &lt;=V4V11Iainfix =agetV2V11V1Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;V3V0Aainfix &lt;=c0V4FAainfix &lt;=V12ainfix -V0c1Aainfix &lt;=c0V12Iainfix =agetV2V12V1Iainfix &lt;V12V0Aainfix &lt;=c0V12FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0c0Iainfix &lt;=agetV2V13agetV2V14Iainfix &lt;V14V0Aainfix &lt;=V13V14Aainfix &lt;=c0V13FAainfix &lt;=c0V0FF">
shape="iNainfix =agetV1V5V2Iainfix &lt;V5V0Aainfix &lt;=c0V5Fiiainfix =agetV1V6V2Aainfix &lt;V6V0Aainfix &lt;=c0V6ainfix &lt;ainfix -V7V4ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V8V7Aainfix &lt;=V4V8Iainfix =agetV1V8V2Iainfix &lt;V8V0Aainfix &lt;=c0V8FAainfix &lt;V7V0Aainfix &lt;=c0V4Iainfix =V7ainfix -V6c1Fainfix &gt;agetV1V6V2Aainfix &lt;V6V0Aainfix &lt;=c0V6ainfix &lt;ainfix -V3V9ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V10V3Aainfix &lt;=V9V10Iainfix =agetV1V10V2Iainfix &lt;V10V0Aainfix &lt;=c0V10FAainfix &lt;V3V0Aainfix &lt;=c0V9Iainfix =V9ainfix +V6c1Fainfix &lt;agetV1V6V2Aainfix &lt;V6V0Aainfix &lt;=c0V6Iainfix &lt;=V6V3Aainfix &lt;=V4V6FAainfix &lt;=V4V3ainfix &lt;=V4V3Iainfix &lt;=V11V3Aainfix &lt;=V4V11Iainfix =agetV1V11V2Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;V3V0Aainfix &lt;=c0V4FAainfix &lt;=V12ainfix -V0c1Aainfix &lt;=c0V12Iainfix =agetV1V12V2Iainfix &lt;V12V0Aainfix &lt;=c0V12FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0c0Iainfix &lt;=agetV1V13agetV1V14Iainfix &lt;V14V0Aainfix &lt;=V13V14Aainfix &lt;=c0V13FAainfix &lt;=c0V0F">
<label
name="expl:VC for binary_search"/>
<proof
......@@ -86,10 +86,10 @@
locfile="../binary_search.mlw"
loclnum="100" loccnumb="6" loccnume="19"
expl="VC for binary_search"
sum="b4024703c302726d0965763f55ca4a89"
sum="65cd85f330f0ad5752c4568a313833cc"
proved="true"
expanded="true"
shape="iNainfix =agetV2V5V1Iainfix &lt;V5V0Aainfix &lt;=c0V5Fiiainfix =agetV2V7V1Aainfix &lt;V7V0Aainfix &lt;=c0V7ainfix &lt;ainfix -V8V4ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V9V8Aainfix &lt;=V4V9Iainfix =agetV2V9V1Iainfix &lt;V9V0Aainfix &lt;=c0V9FAainfix &lt;V8V0Aainfix &lt;=c0V4Iainfix =V8ainfix -V7c1FAainfix &lt;=ainfix -V7c1amax_intAainfix &lt;=amin_intainfix -V7c1ainfix &gt;agetV2V7V1Aainfix &lt;V7V0Aainfix &lt;=c0V7ainfix &lt;ainfix -V3V10ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V11V3Aainfix &lt;=V10V11Iainfix =agetV2V11V1Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;V3V0Aainfix &lt;=c0V10Iainfix =V10ainfix +V7c1FAainfix &lt;=ainfix +V7c1amax_intAainfix &lt;=amin_intainfix +V7c1ainfix &lt;agetV2V7V1Aainfix &lt;V7V0Aainfix &lt;=c0V7Aainfix &lt;=V7V3Aainfix &lt;=V4V7Lainfix +V4V6Aainfix &lt;=ainfix +V4V6amax_intAainfix &lt;=amin_intainfix +V4V6Ladivainfix -V3V4c2Aainfix &lt;=ainfix -V3V4amax_intAainfix &lt;=amin_intainfix -V3V4ainfix &lt;=V4V3Iainfix &lt;=V12V3Aainfix &lt;=V4V12Iainfix =agetV2V12V1Iainfix &lt;V12V0Aainfix &lt;=c0V12FAainfix &lt;V3V0Aainfix &lt;=c0V4FAainfix &lt;=V13ainfix -V0c1Aainfix &lt;=c0V13Iainfix =agetV2V13V1Iainfix &lt;V13V0Aainfix &lt;=c0V13FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0c0Aainfix &lt;=ainfix -V0c1amax_intAainfix &lt;=amin_intainfix -V0c1Iainfix &lt;=agetV2V14agetV2V15Iainfix &lt;V15V0Aainfix &lt;=V14V15Aainfix &lt;=c0V14FAainfix &lt;=V0amax_intAainfix &lt;=c0V0FF">
shape="iNainfix =agetV1V5V2Iainfix &lt;V5V0Aainfix &lt;=c0V5Fiiainfix =agetV1V7V2Aainfix &lt;V7V0Aainfix &lt;=c0V7ainfix &lt;ainfix -V8V4ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V9V8Aainfix &lt;=V4V9Iainfix =agetV1V9V2Iainfix &lt;V9V0Aainfix &lt;=c0V9FAainfix &lt;V8V0Aainfix &lt;=c0V4Iainfix =V8ainfix -V7c1FAainfix &lt;=ainfix -V7c1amax_intAainfix &lt;=amin_intainfix -V7c1ainfix &gt;agetV1V7V2Aainfix &lt;V7V0Aainfix &lt;=c0V7ainfix &lt;ainfix -V3V10ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix &lt;=V11V3Aainfix &lt;=V10V11Iainfix =agetV1V11V2Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;V3V0Aainfix &lt;=c0V10Iainfix =V10ainfix +V7c1FAainfix &lt;=ainfix +V7c1amax_intAainfix &lt;=amin_intainfix +V7c1ainfix &lt;agetV1V7V2Aainfix &lt;V7V0Aainfix &lt;=c0V7Aainfix &lt;=V7V3Aainfix &lt;=V4V7Lainfix +V4V6Aainfix &lt;=ainfix +V4V6amax_intAainfix &lt;=amin_intainfix +V4V6Ladivainfix -V3V4c2Aainfix &lt;=ainfix -V3V4amax_intAainfix &lt;=amin_intainfix -V3V4ainfix &lt;=V4V3Iainfix &lt;=V12V3Aainfix &lt;=V4V12Iainfix =agetV1V12V2Iainfix &lt;V12V0Aainfix &lt;=c0V12FAainfix &lt;V3V0Aainfix &lt;=c0V4FAainfix &lt;=V13ainfix -V0c1Aainfix &lt;=c0V13Iainfix =agetV1V13V2Iainfix &lt;V13V0Aainfix &lt;=c0V13FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0c0Aainfix &lt;=ainfix -V0c1amax_intAainfix &lt;=amin_intainfix -V0c1Iainfix &lt;=agetV1V14agetV1V15Iainfix &lt;V15V0Aainfix &lt;=V14V15Aainfix &lt;=c0V14FAainfix &lt;=V0amax_intAainfix &lt;=c0V0F">
<label
name="expl:VC for binary_search"/>
<proof
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
......@@ -65,10 +65,10 @@
locfile="../fill.mlw"
loclnum="25" loccnumb="10" loccnume="14"
expl="VC for fill"
sum="5df68a32d3f9841b38b6a7d3c14662ce"
sum="0b3b1c0d5b82819f85c764c60b0fee14"
proved="true"
expanded="true"
shape="CacontainsV0agetV3V4Iainfix &lt;V4V2Aainfix &lt;=V2V4FAainfix =agetV3V5agetV3V5Iainfix &lt;V5V2Aainfix &lt;=c0V5FAainfix &lt;=V2V1Aainfix &lt;=V2V2aNulliacontainsV0agetV9V11Iainfix &lt;V11V10Aainfix &lt;=V2V11FAainfix =agetV9V12agetV3V12Iainfix &lt;V12V2Aainfix &lt;=c0V12FAainfix &lt;=V10V1Aainfix &lt;=V2V10acontainsV0agetV15V17Iainfix &lt;V17V16Aainfix &lt;=V2V17FAainfix =agetV15V18agetV3V18Iainfix &lt;V18V2Aainfix &lt;=c0V18FAainfix &lt;=V16V1Aainfix &lt;=V2V16IacontainsV8agetV15V19Iainfix &lt;V19V16Aainfix &lt;=V14V19FAainfix =agetV15V20agetV13V20Iainfix &lt;V20V14Aainfix &lt;=c0V20FAainfix &lt;=V16V1Aainfix &lt;=V14V16Aainfix &lt;=c0V1FFAainfix &lt;=V14V1Aainfix &lt;=c0V14Aainfix &lt;asizeV8asizeV0Aainfix &lt;=c0asizeV0Lainfix +V10c1Iainfix =V13asetV9V10V7Aainfix &lt;=c0V1FAainfix &lt;V10V1Aainfix &lt;=c0V10Nainfix =V10V1IacontainsV6agetV9V21Iainfix &lt;V21V10Aainfix &lt;=V2V21FAainfix =agetV9V22agetV3V22Iainfix &lt;V22V2Aainfix &lt;=c0V22FAainfix &lt;=V10V1Aainfix &lt;=V2V10Aainfix &lt;=c0V1FFAainfix &lt;=V2V1Aainfix &lt;=c0V2Aainfix &lt;asizeV6asizeV0Aainfix &lt;=c0asizeV0aNodeVVVV0Iainfix &lt;=V2V1Aainfix &lt;=c0V2Aainfix &lt;=c0V1FF">
shape="CacontainsV0agetV2V4Iainfix &lt;V4V3Aainfix &lt;=V3V4FAainfix =agetV2V5agetV2V5Iainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;=V3V1Aainfix &lt;=V3V3aNulliacontainsV0agetV9V11Iainfix &lt;V11V10Aainfix &lt;=V3V11FAainfix =agetV9V12agetV2V12Iainfix &lt;V12V3Aainfix &lt;=c0V12FAainfix &lt;=V10V1Aainfix &lt;=V3V10acontainsV0agetV15V17Iainfix &lt;V17V16Aainfix &lt;=V3V17FAainfix =agetV15V18agetV2V18Iainfix &lt;V18V3Aainfix &lt;=c0V18FAainfix &lt;=V16V1Aainfix &lt;=V3V16IacontainsV8agetV15V19Iainfix &lt;V19V16Aainfix &lt;=V14V19FAainfix =agetV15V20agetV13V20Iainfix &lt;V20V14Aainfix &lt;=c0V20FAainfix &lt;=V16V1Aainfix &lt;=V14V16Aainfix &lt;=c0V1FFAainfix &lt;=V14V1Aainfix &lt;=c0V14Aainfix &lt;asizeV8asizeV0Aainfix &lt;=c0asizeV0Lainfix +V10c1Iainfix =V13asetV9V10V7Aainfix &lt;=c0V1FAainfix &lt;V10V1Aainfix &lt;=c0V10Nainfix =V10V1IacontainsV6agetV9V21Iainfix &lt;V21V10Aainfix &lt;=V3V21FAainfix =agetV9V22agetV2V22Iainfix &lt;V22V3Aainfix &lt;=c0V22FAainfix &lt;=V10V1Aainfix &lt;=V3V10Aainfix &lt;=c0V1FFAainfix &lt;=V3V1Aainfix &lt;=c0V3Aainfix &lt;asizeV6asizeV0Aainfix &lt;=c0asizeV0aNodeVVVV0Iainfix &lt;=V3V1Aainfix &lt;=c0V3Aainfix &lt;=c0V1F">
<label
name="expl:VC for fill"/>
<proof
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -28,10 +28,10 @@
locfile="../array_max.mlw"
loclnum="21" loccnumb="6" loccnume="9"
expl="VC for max"
sum="5ed42e90bbec3cbdc0758b633b7d78a7"
sum="c3ec2b5cc0b8c3ed0c6ab2fadf5dc1bc"
proved="true"
expanded="true"
shape="iainfix &lt;=agetV1V4agetV1V3Iainfix &lt;V4V0Aainfix &lt;=c0V4FAainfix &lt;V3V0Aainfix &lt;=c0V3iainfix &lt;ainfix -V5V3ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Aainfix &lt;=agetV1V6amaxagetV1V3agetV1V5Iainfix &lt;V6V0Aainfix &lt;V5V6Oainfix &lt;V6V3Aainfix &lt;=c0V6FAainfix &lt;V5V0Aainfix &lt;=V3V5Aainfix &lt;=c0V3Iainfix =V5ainfix -V2c1Fainfix &lt;ainfix -V2V7ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Aainfix &lt;=agetV1V8amaxagetV1V7agetV1V2Iainfix &lt;V8V0Aainfix &lt;V2V8Oainfix &lt;V8V7Aainfix &lt;=c0V8FAainfix &lt;V2V0Aainfix &lt;=V7V2Aainfix &lt;=c0V7Iainfix =V7ainfix +V3c1Fainfix &lt;=agetV1V3agetV1V2Aainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V2V0Aainfix &lt;=c0V2Nainfix =V3V2Iainfix &lt;=agetV1V9amaxagetV1V3agetV1V2Iainfix &lt;V9V0Aainfix &lt;V2V9Oainfix &lt;V9V3Aainfix &lt;=c0V9FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FAainfix &lt;=agetV1V10amaxagetV1c0agetV1ainfix -V0c1Iainfix &lt;V10V0Aainfix &lt;ainfix -V0c1V10Oainfix &lt;V10c0Aainfix &lt;=c0V10FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0ainfix -V0c1Aainfix &lt;=c0c0Iainfix &lt;c0V0Aainfix &lt;=c0V0FF">
shape="iainfix &lt;=agetV1V4agetV1V3Iainfix &lt;V4V0Aainfix &lt;=c0V4FAainfix &lt;V3V0Aainfix &lt;=c0V3iainfix &lt;ainfix -V5V3ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Aainfix &lt;=agetV1V6amaxagetV1V3agetV1V5Iainfix &lt;V6V0Aainfix &lt;V5V6Oainfix &lt;V6V3Aainfix &lt;=c0V6FAainfix &lt;V5V0Aainfix &lt;=V3V5Aainfix &lt;=c0V3Iainfix =V5ainfix -V2c1Fainfix &lt;ainfix -V2V7ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Aainfix &lt;=agetV1V8amaxagetV1V7agetV1V2Iainfix &lt;V8V0Aainfix &lt;V2V8Oainfix &lt;V8V7Aainfix &lt;=c0V8FAainfix &lt;V2V0Aainfix &lt;=V7V2Aainfix &lt;=c0V7Iainfix =V7ainfix +V3c1Fainfix &lt;=agetV1V3agetV1V2Aainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V2V0Aainfix &lt;=c0V2Nainfix =V3V2Iainfix &lt;=agetV1V9amaxagetV1V3agetV1V2Iainfix &lt;V9V0Aainfix &lt;V2V9Oainfix &lt;V9V3Aainfix &lt;=c0V9FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FAainfix &lt;=agetV1V10amaxagetV1c0agetV1ainfix -V0c1Iainfix &lt;V10V0Aainfix &lt;ainfix -V0c1V10Oainfix &lt;V10c0Aainfix &lt;=c0V10FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0ainfix -V0c1Aainfix &lt;=c0c0Iainfix &lt;c0V0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......
......@@ -35,10 +35,10 @@
locfile="../duplets.mlw"
loclnum="43" loccnumb="6" loccnume="12"
expl="VC for duplet"
sum="b41a7cf20b4225ab9f2aa039728fabc4"
sum="da16a325dd41dd659b5e6a62813bdfb9"
proved="true"
expanded="true"
shape="fINais_dupletV3V5V6INCfaNoneainfix =V7agetV2V5aSomeVV1Iainfix &lt;V6V0Aainfix &lt;V5V6Aainfix &lt;V5ainfix +V4c1Aainfix &lt;=c0V5FAiNais_dupletV3V12V13INCfaNoneainfix =V14agetV2V12aSomeVV1Iainfix &lt;V13V0Aainfix &lt;V12V13Aainfix &lt;V12ainfix +V8c1Aainfix &lt;=c0V12FINais_dupletV3V8V15Iainfix &lt;V15ainfix +V10c1Aainfix &lt;V8V15FAiNais_dupletV3V8V17Iainfix &lt;V17ainfix +V16c1Aainfix &lt;V8V17FNCfaNoneainfix =V20agetV2V18aSomeVV1Aais_dupletV3V18V19Iainfix =V19V16Aainfix =V18V8Fainfix =agetV2V16V9Aainfix &lt;V16V0Aainfix &lt;=c0V16INais_dupletV3V8V21Iainfix &lt;V21V16Aainfix &lt;V8V21FIainfix &lt;=V16V10Aainfix &lt;=V11V16FANais_dupletV3V8V22Iainfix &lt;V22V11Aainfix &lt;V8V22FIainfix &lt;=V11V10ANais_dupletV3V23V24INCfaNoneainfix =V25agetV2V23aSomeVV1Iainfix &lt;V24V0Aainfix &lt;V23V24Aainfix &lt;V23ainfix +V8c1Aainfix &lt;=c0V23FIainfix &gt;V11V10Lainfix +V8c1Lainfix -V0c1Nais_dupletV3V26V27INCfaNoneainfix =V28agetV2V26aSomeVV1Iainfix &lt;V27V0Aainfix &lt;V26V27Aainfix &lt;V26ainfix +V8c1Aainfix &lt;=c0V26FCfaNoneainfix =V29V9aSomeVV1LagetV2V8Aainfix &lt;V8V0Aainfix &lt;=c0V8INais_dupletV3V30V31INCfaNoneainfix =V32agetV2V30aSomeVV1Iainfix &lt;V31V0Aainfix &lt;V30V31Aainfix &lt;V30V8Aainfix &lt;=c0V30FIainfix &lt;=V8V4Aainfix &lt;=c0V8FANais_dupletV3V33V34INCfaNoneainfix =V35agetV2V33aSomeVV1Iainfix &lt;V34V0Aainfix &lt;V33V34Aainfix &lt;V33c0Aainfix &lt;=c0V33FIainfix &lt;=c0V4AfIainfix &gt;c0V4Lainfix -V0c2INCfaNoneainfix =V38agetV2V36aSomeVV1Aais_dupletV3V36V37EAainfix &lt;=c2V0Aainfix &lt;=c0V0Lamk arrayV0V2FF">
shape="fINais_dupletV3V5V6INCfaNoneainfix =V7agetV1V5aSomeVV2Iainfix &lt;V6V0Aainfix &lt;V5V6Aainfix &lt;V5ainfix +V4c1Aainfix &lt;=c0V5FAiNais_dupletV3V12V13INCfaNoneainfix =V14agetV1V12aSomeVV2Iainfix &lt;V13V0Aainfix &lt;V12V13Aainfix &lt;V12ainfix +V8c1Aainfix &lt;=c0V12FINais_dupletV3V8V15Iainfix &lt;V15ainfix +V10c1Aainfix &lt;V8V15FAiNais_dupletV3V8V17Iainfix &lt;V17ainfix +V16c1Aainfix &lt;V8V17FNCfaNoneainfix =V20agetV1V18aSomeVV2Aais_dupletV3V18V19Iainfix =V19V16Aainfix =V18V8Fainfix =agetV1V16V9Aainfix &lt;V16V0Aainfix &lt;=c0V16INais_dupletV3V8V21Iainfix &lt;V21V16Aainfix &lt;V8V21FIainfix &lt;=V16V10Aainfix &lt;=V11V16FANais_dupletV3V8V22Iainfix &lt;V22V11Aainfix &lt;V8V22FIainfix &lt;=V11V10ANais_dupletV3V23V24INCfaNoneainfix =V25agetV1V23aSomeVV2Iainfix &lt;V24V0Aainfix &lt;V23V24Aainfix &lt;V23ainfix +V8c1Aainfix &lt;=c0V23FIainfix &gt;V11V10Lainfix +V8c1Lainfix -V0c1Nais_dupletV3V26V27INCfaNoneainfix =V28agetV1V26aSomeVV2Iainfix &lt;V27V0Aainfix &lt;V26V27Aainfix &lt;V26ainfix +V8c1Aainfix &lt;=c0V26FCfaNoneainfix =V29V9aSomeVV2LagetV1V8Aainfix &lt;V8V0Aainfix &lt;=c0V8INais_dupletV3V30V31INCfaNoneainfix =V32agetV1V30aSomeVV2Iainfix &lt;V31V0Aainfix &lt;V30V31Aainfix &lt;V30V8Aainfix &lt;=c0V30FIainfix &lt;=V8V4Aainfix &lt;=c0V8FANais_dupletV3V33V34INCfaNoneainfix =V35agetV1V33aSomeVV2Iainfix &lt;V34V0Aainfix &lt;V33V34Aainfix &lt;V33c0Aainfix &lt;=c0V33FIainfix &lt;=c0V4AfIainfix &gt;c0V4Lainfix -V0c2INCfaNoneainfix =V38agetV1V36aSomeVV2Aais_dupletV3V36V37EAainfix &lt;=c2V0Aainfix &lt;=c0V0Lamk arrayV0V1F">
<label
name="expl:VC for duplet"/>
<proof
......@@ -63,10 +63,10 @@
locfile="../duplets.mlw"
loclnum="74" loccnumb="6" loccnume="13"
expl="VC for duplets"
sum="5b32d6254bf85f82fcee6b1f8aaf4928"
sum="4658940c6746265baf8a378b2918b363"
proved="true"
expanded="true"
shape="Nainfix =agetV1V3agetV1V5Aais_dupletV2V5V6Aais_dupletV2V3V4INainfix =agetV1V4agetV1V5Aais_dupletV2V5V6FANainfix =agetV1V4agetV1V7Aais_dupletV2V7V8EAainfix &lt;=c2V0Aainfix &lt;V4V0Aainfix &lt;=c0V4Iais_dupletV2V3V4FAais_dupletV2V9V10EAainfix &lt;=c2V0INainfix =agetV1V11agetV1V13Aais_dupletV2V13V14Aais_dupletV2V11V12EAainfix &lt;=c4V0Aainfix &lt;=c0V0Lamk arrayV0V1FF">
shape="Nainfix =agetV1V3agetV1V5Aais_dupletV2V5V6Aais_dupletV2V3V4INainfix =agetV1V4agetV1V5Aais_dupletV2V5V6FANainfix =agetV1V4agetV1V7Aais_dupletV2V7V8EAainfix &lt;=c2V0Aainfix &lt;V4V0Aainfix &lt;=c0V4Iais_dupletV2V3V4FAais_dupletV2V9V10EAainfix &lt;=c2V0INainfix =agetV1V11agetV1V13Aais_dupletV2V13V14Aais_dupletV2V11V12EAainfix &lt;=c4V0Aainfix &lt;=c0V0Lamk arrayV0V1F">
<label
name="expl:VC for duplets"/>
<proof
......
......@@ -20,10 +20,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="VC for max"
sum="998a6a82468ff09ef0c13eace547d3b5"
sum="b63c0da8eca803644bccc40fbcdf21db"
proved="true"
expanded="true"
shape="iainfix &lt;=agetV1V4agetV1V3Iainfix &lt;V4V0Aainfix &lt;=c0V4FAainfix &lt;V3V0Aainfix &lt;=c0V3iainfix &lt;ainfix -V5V3ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Aainfix &lt;=agetV1V6agetV1V3Oainfix &lt;=agetV1V6agetV1V5Iainfix &lt;V6V0Aainfix &lt;V5V6Oainfix &lt;V6V3Aainfix &lt;=c0V6FAainfix &lt;V5V0Aainfix &lt;=V3V5Aainfix &lt;=c0V3Iainfix =V5ainfix -V2c1Fainfix &lt;ainfix -V2V7ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Aainfix &lt;=agetV1V8agetV1V7Oainfix &lt;=agetV1V8agetV1V2Iainfix &lt;V8V0Aainfix &lt;V2V8Oainfix &lt;V8V7Aainfix &lt;=c0V8FAainfix &lt;V2V0Aainfix &lt;=V7V2Aainfix &lt;=c0V7Iainfix =V7ainfix +V3c1Fainfix &lt;=agetV1V3agetV1V2Aainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V2V0Aainfix &lt;=c0V2Nainfix =V3V2Iainfix &lt;=agetV1V9agetV1V3Oainfix &lt;=agetV1V9agetV1V2Iainfix &lt;V9V0Aainfix &lt;V2V9Oainfix &lt;V9V3Aainfix &lt;=c0V9FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FAainfix &lt;=agetV1V10agetV1c0Oainfix &lt;=agetV1V10agetV1ainfix -V0c1Iainfix &lt;V10V0Aainfix &lt;ainfix -V0c1V10Oainfix &lt;V10c0Aainfix &lt;=c0V10FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0ainfix -V0c1Aainfix &lt;=c0c0Iainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="iainfix &lt;=agetV1V4agetV1V3Iainfix &lt;V4V0Aainfix &lt;=c0V4FAainfix &lt;V3V0Aainfix &lt;=c0V3iainfix &lt;ainfix -V5V3ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Aainfix &lt;=agetV1V6agetV1V3Oainfix &lt;=agetV1V6agetV1V5Iainfix &lt;V6V0Aainfix &lt;V5V6Oainfix &lt;V6V3Aainfix &lt;=c0V6FAainfix &lt;V5V0Aainfix &lt;=V3V5Aainfix &lt;=c0V3Iainfix =V5ainfix -V2c1Fainfix &lt;ainfix -V2V7ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Aainfix &lt;=agetV1V8agetV1V7Oainfix &lt;=agetV1V8agetV1V2Iainfix &lt;V8V0Aainfix &lt;V2V8Oainfix &lt;V8V7Aainfix &lt;=c0V8FAainfix &lt;V2V0Aainfix &lt;=V7V2Aainfix &lt;=c0V7Iainfix =V7ainfix +V3c1Fainfix &lt;=agetV1V3agetV1V2Aainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V2V0Aainfix &lt;=c0V2Nainfix =V3V2Iainfix &lt;=agetV1V9agetV1V3Oainfix &lt;=agetV1V9agetV1V2Iainfix &lt;V9V0Aainfix &lt;V2V9Oainfix &lt;V9V3Aainfix &lt;=c0V9FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FAainfix &lt;=agetV1V10agetV1c0Oainfix &lt;=agetV1V10agetV1ainfix -V0c1Iainfix &lt;V10V0Aainfix &lt;ainfix -V0c1V10Oainfix &lt;V10c0Aainfix &lt;=c0V10FAainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0ainfix -V0c1Aainfix &lt;=c0c0Iainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<transf
......@@ -35,10 +35,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="1. loop invariant init"
sum="42ca690fd137b40b461b3aa1834084cd"
sum="7e9e4b83aca33699bb4220a55024e5b4"
proved="true"
expanded="false"
shape="loop invariant initainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0ainfix -V0c1Aainfix &lt;=c0c0Iainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="loop invariant initainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0ainfix -V0c1Aainfix &lt;=c0c0Iainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -55,10 +55,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="2. loop invariant init"
sum="281bb0e02af260b7a36bae106f2ffb0f"
sum="39383d72235958d2147f919f7c852879"
proved="true"
expanded="false"
shape="loop invariant initainfix &lt;=agetV1V2agetV1c0Oainfix &lt;=agetV1V2agetV1ainfix -V0c1Iainfix &lt;V2V0Aainfix &lt;ainfix -V0c1V2Oainfix &lt;V2c0Aainfix &lt;=c0V2FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="loop invariant initainfix &lt;=agetV1V2agetV1c0Oainfix &lt;=agetV1V2agetV1ainfix -V0c1Iainfix &lt;V2V0Aainfix &lt;ainfix -V0c1V2Oainfix &lt;V2c0Aainfix &lt;=c0V2FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -75,10 +75,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="3. precondition"
sum="5b7474404b2580647a57f009b275f381"
sum="16ea9b83d3da10ea9d90c13726fd9eea"
proved="true"
expanded="false"
shape="preconditionainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V4agetV1V3Oainfix &lt;=agetV1V4agetV1V2Iainfix &lt;V4V0Aainfix &lt;V2V4Oainfix &lt;V4V3Aainfix &lt;=c0V4FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="preconditionainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V4agetV1V3Oainfix &lt;=agetV1V4agetV1V2Iainfix &lt;V4V0Aainfix &lt;V2V4Oainfix &lt;V4V3Aainfix &lt;=c0V4FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -95,10 +95,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="4. precondition"
sum="df6d00f6913a42527a6ccc13195b7cd6"
sum="45da1de8c187466f26e3fd4acbff0442"
proved="true"
expanded="false"
shape="preconditionainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V4agetV1V3Oainfix &lt;=agetV1V4agetV1V2Iainfix &lt;V4V0Aainfix &lt;V2V4Oainfix &lt;V4V3Aainfix &lt;=c0V4FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="preconditionainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V4agetV1V3Oainfix &lt;=agetV1V4agetV1V2Iainfix &lt;V4V0Aainfix &lt;V2V4Oainfix &lt;V4V3Aainfix &lt;=c0V4FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -115,10 +115,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="5. loop invariant preservation"
sum="b4b5188ff8c11a0293830d7368365a09"
sum="0c7786e4f097f35bd263344f4da0c9a1"
proved="true"
expanded="false"
shape="loop invariant preservationainfix &lt;V2V0Aainfix &lt;=V4V2Aainfix &lt;=c0V4Iainfix =V4ainfix +V3c1FIainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="loop invariant preservationainfix &lt;V2V0Aainfix &lt;=V4V2Aainfix &lt;=c0V4Iainfix =V4ainfix +V3c1FIainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -135,10 +135,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="6. loop invariant preservation"
sum="0d59e1feaa756523c82d97191a55c30b"
sum="4419b516cc82e4d3fb529ac41703e5e3"
proved="true"
expanded="false"
shape="loop invariant preservationainfix &lt;=agetV1V5agetV1V4Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V4Aainfix &lt;=c0V5FIainfix =V4ainfix +V3c1FIainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V6agetV1V3Oainfix &lt;=agetV1V6agetV1V2Iainfix &lt;V6V0Aainfix &lt;V2V6Oainfix &lt;V6V3Aainfix &lt;=c0V6FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="loop invariant preservationainfix &lt;=agetV1V5agetV1V4Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V4Aainfix &lt;=c0V5FIainfix =V4ainfix +V3c1FIainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V6agetV1V3Oainfix &lt;=agetV1V6agetV1V2Iainfix &lt;V6V0Aainfix &lt;V2V6Oainfix &lt;V6V3Aainfix &lt;=c0V6FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -155,10 +155,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="7. loop variant decrease"
sum="f4014e7050068f68c0f8099b03149168"
sum="b1ea77998fa00afc9c9b6ced61f25e7b"
proved="true"
expanded="false"
shape="loop variant decreaseainfix &lt;ainfix -V2V4ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Iainfix =V4ainfix +V3c1FIainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="loop variant decreaseainfix &lt;ainfix -V2V4ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Iainfix =V4ainfix +V3c1FIainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -175,10 +175,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="8. loop invariant preservation"
sum="684e465acd27fef161c86e47e0922d85"
sum="2756b3ab55001c838e63a0635c0196aa"
proved="true"
expanded="false"
shape="loop invariant preservationainfix &lt;V4V0Aainfix &lt;=V3V4Aainfix &lt;=c0V3Iainfix =V4ainfix -V2c1FINainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="loop invariant preservationainfix &lt;V4V0Aainfix &lt;=V3V4Aainfix &lt;=c0V3Iainfix =V4ainfix -V2c1FINainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -195,10 +195,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="9. loop invariant preservation"
sum="2d62970eebd479adff694f94dfc896cb"
sum="b3fdaf9058af028ff390c3256077a568"
proved="true"
expanded="false"
shape="loop invariant preservationainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V4Iainfix &lt;V5V0Aainfix &lt;V4V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FIainfix =V4ainfix -V2c1FINainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V6agetV1V3Oainfix &lt;=agetV1V6agetV1V2Iainfix &lt;V6V0Aainfix &lt;V2V6Oainfix &lt;V6V3Aainfix &lt;=c0V6FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="loop invariant preservationainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V4Iainfix &lt;V5V0Aainfix &lt;V4V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FIainfix =V4ainfix -V2c1FINainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V6agetV1V3Oainfix &lt;=agetV1V6agetV1V2Iainfix &lt;V6V0Aainfix &lt;V2V6Oainfix &lt;V6V3Aainfix &lt;=c0V6FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -215,10 +215,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="10. loop variant decrease"
sum="0ddfbe93205423eb8a23feffab1377e8"
sum="bc7e63f5c2443b76078a4b4417280b4d"
proved="true"
expanded="false"
shape="loop variant decreaseainfix &lt;ainfix -V4V3ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Iainfix =V4ainfix -V2c1FINainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="loop variant decreaseainfix &lt;ainfix -V4V3ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Iainfix =V4ainfix -V2c1FINainfix &lt;=agetV1V3agetV1V2Iainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -235,10 +235,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="11. postcondition"
sum="02c538305da2859c605972262ec15732"
sum="0dccfd9d5470bd3bb12b95c56a26d4c5"
proved="true"
expanded="false"
shape="postconditionainfix &lt;V3V0Aainfix &lt;=c0V3INNainfix =V3V2Iainfix &lt;=agetV1V4agetV1V3Oainfix &lt;=agetV1V4agetV1V2Iainfix &lt;V4V0Aainfix &lt;V2V4Oainfix &lt;V4V3Aainfix &lt;=c0V4FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="postconditionainfix &lt;V3V0Aainfix &lt;=c0V3INNainfix =V3V2Iainfix &lt;=agetV1V4agetV1V3Oainfix &lt;=agetV1V4agetV1V2Iainfix &lt;V4V0Aainfix &lt;V2V4Oainfix &lt;V4V3Aainfix &lt;=c0V4FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......@@ -255,10 +255,10 @@
locfile="../foveoos11_challenge1.mlw"
loclnum="13" loccnumb="6" loccnume="9"
expl="12. postcondition"
sum="31bded0da210814d27537f66b291bfd3"
sum="977b2c2cbdd17313155e9d3b3993700d"
proved="true"
expanded="false"
shape="postconditionainfix &lt;=agetV1V4agetV1V3Iainfix &lt;V4V0Aainfix &lt;=c0V4FINNainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0FF">
shape="postconditionainfix &lt;=agetV1V4agetV1V3Iainfix &lt;V4V0Aainfix &lt;=c0V4FINNainfix =V3V2Iainfix &lt;=agetV1V5agetV1V3Oainfix &lt;=agetV1V5agetV1V2Iainfix &lt;V5V0Aainfix &lt;V2V5Oainfix &lt;V5V3Aainfix &lt;=c0V5FAainfix &lt;V2V0Aainfix &lt;=V3V2Aainfix &lt;=c0V3FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
<label
name="expl:VC for max"/>
<proof
......
(* This file is generated by Why3's Coq driver *)
(* This file is generated by Why3's Coq 8.4 driver *)
(* Beware! Only edit allowed sections below *)
Require Import BuiltIn.
Require Import ZOdiv.
......@@ -6,69 +6,46 @@ Require BuiltIn.
Require int.Int.
Require int.Abs.
Require int.ComputerDivision.
Require option.Option.
Require list.List.
Require list.Mem.
Require map.Map.
(* Why3 assumption *)
Definition unit := unit.
(* Why3 assumption *)
Inductive option
(a:Type) {a_WT:WhyType a} :=
| None : option a
| Some : a -> option a.
Axiom option_WhyType : forall (a:Type) {a_WT:WhyType a}, WhyType (option a).
Existing Instance option_WhyType.
Implicit Arguments None [[a] [a_WT]].
Implicit Arguments Some [[a] [a_WT]].
(* Why3 assumption *)
Inductive list
(a:Type) {a_WT:WhyType a} :=
| Nil : list a
| Cons : a -> (list a) -> list a.
Axiom list_WhyType : forall (a:Type) {a_WT:WhyType a}, WhyType (list a).
Existing Instance list_WhyType.
Implicit Arguments Nil [[a] [a_WT]].
Implicit Arguments Cons [[a] [a_WT]].
(* Why3 assumption *)
Fixpoint mem {a:Type} {a_WT:WhyType a} (x:a) (l:(list a)) {struct l}: Prop :=
match l with
| Nil => False
| (Cons y r) => (x = y) \/ (mem x r)
end.
(* Why3 assumption *)
Inductive array
(a:Type) {a_WT:WhyType a} :=
| mk_array : Z -> (map.Map.map Z a) -> array a.
| mk_array : Z -> (@map.Map.map Z _ a a_WT) -> array a.
Axiom array_WhyType : forall (a:Type) {a_WT:WhyType a}, WhyType (array a).
Existing Instance array_WhyType.
Implicit Arguments mk_array [[a] [a_WT]].
(* Why3 assumption *)
Definition elts {a:Type} {a_WT:WhyType a} (v:(array a)): (map.Map.map Z a) :=
match v with
Definition elts {a:Type} {a_WT:WhyType a} (v:(@array a a_WT)): (@map.Map.map
Z _ a a_WT) := match v with
| (mk_array x x1) => x1
end.
(* Why3 assumption *)
Definition length {a:Type} {a_WT:WhyType a} (v:(array a)): Z :=