Une MAJ de sécurité est nécessaire sur notre version actuelle. Elle sera effectuée lundi 02/08 entre 12h30 et 13h. L'interruption de service devrait durer quelques minutes (probablement moins de 5 minutes).

Commit 589f0297 authored by Jean-Christophe Filliâtre's avatar Jean-Christophe Filliâtre
Browse files

more use of module array.ArraySwap in examples

parent dd3790af
......@@ -11,16 +11,10 @@ module Quicksort
use import ref.Ref
use import array.Array
use import array.ArraySorted
use import array.ArraySwap
use import array.ArrayPermut
use import array.ArrayEq
let swap (t:array int) (i:int) (j:int)
requires { 0 <= i < length t /\ 0 <= j < length t }
ensures { exchange (old t) t i j }
= let v = t[i] in
t[i] <- t[j];
t[j] <- v
let rec quick_rec (t:array int) (l:int) (r:int) : unit variant { 1+r-l }
requires { 0 <= l /\ r < length t }
ensures { sorted_sub t l (r+1) /\ permut_sub (old t) t l (r+1) }
......
This diff is collapsed.
......@@ -7,16 +7,10 @@ module SelectionSort
use import ref.Ref
use import array.Array
use import array.ArraySorted
use import array.ArraySwap
use import array.ArrayPermut
use import array.ArrayEq
let swap (a: array int) (i: int) (j: int)
requires { 0 <= i < length a /\ 0 <= j < length a }
ensures { exchange (old a) a i j }
= let v = a[i] in
a[i] <- a[j];
a[j] <- v
let selection_sort (a: array int)
ensures { sorted a /\ permut (old a) a } =
'L:
......
This diff is collapsed.
......@@ -11,6 +11,7 @@ module TwoWaySort
use import bool.Bool
use import ref.Refint
use import array.Array
use import array.ArraySwap
use import array.ArrayPermut
predicate le (x y: bool) = x = False \/ y = True
......@@ -18,13 +19,6 @@ module TwoWaySort
predicate sorted (a: array bool) =
forall i1 i2: int. 0 <= i1 <= i2 < a.length -> le a[i1] a[i2]
let swap (a: array bool) (i: int) (j: int)
requires { 0 <= i < length a /\ 0 <= j < length a }
ensures { exchange (old a) a i j }
= let v = a[i] in
a[i] <- a[j];
a[j] <- v
let two_way_sort (a: array bool)
ensures { sorted a /\ permut (old a) a }
= 'Init:
......
......@@ -27,32 +27,12 @@
loclnum="8" loccnumb="7" loccnume="17"
verified="true"
expanded="true">
<goal
name="WP_parameter swap"
locfile="../vstte12_two_way_sort.mlw"
loclnum="21" loccnumb="6" loccnume="10"
expl="VC for swap"
sum="67eb04c719b033488a7a2e9aefae6c9b"
proved="true"
expanded="false"
shape="aexchangeV3V5V1V2Iainfix =V5asetV4V2agetV3V1Aainfix &lt;=c0V0FAainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix =V4asetV3V1agetV3V2Aainfix &lt;=c0V0FAainfix &lt;V1V0Aainfix &lt;=c0V1Aainfix &lt;V2V0Aainfix &lt;=c0V2Aainfix &lt;V1V0Aainfix &lt;=c0V1Iainfix &lt;V2V0Aainfix &lt;=c0V2Aainfix &lt;V1V0Aainfix &lt;=c0V1Aainfix &lt;=c0V0FF">
<label
name="expl:VC for swap"/>
<proof
prover="0"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal
name="WP_parameter two_way_sort"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="VC for two_way_sort"
sum="da33e566a3302627d87d68f41a4d3c49"
sum="958606c45d3addd1f626be60e680474e"
proved="true"
expanded="true"
shape="iainfix &lt;V4V3iainfix =agetV5V4aTrueNainfix &lt;ainfix -V3V7ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix =agetV5V8aTrueIainfix &lt;V8V0Aainfix &lt;V3V8FAainfix =agetV5V9aFalseIainfix &lt;V9V7Aainfix &lt;=c0V9FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V7Iainfix =V7ainfix +V4c1Fiainfix =agetV5V3aTrueainfix &lt;ainfix -V10V4ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix =agetV5V11aTrueIainfix &lt;V11V0Aainfix &lt;V10V11FAainfix =agetV5V12aFalseIainfix &lt;V12V4Aainfix &lt;=c0V12FAapermutV2V6Aainfix &lt;V10V0Aainfix &lt;=c0V4Iainfix =V10ainfix -V3c1Fainfix &lt;ainfix -V15V14ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Aainfix =agetV13V16aTrueIainfix &lt;V16V0Aainfix &lt;V15V16FAainfix =agetV13V17aFalseIainfix &lt;V17V14Aainfix &lt;=c0V17FAapermutV2amk arrayV0V13Aainfix &lt;V15V0Aainfix &lt;=c0V14Iainfix =V15ainfix -V3c1FIainfix =V14ainfix +V4c1FIaexchangeV5V13V4V3Aainfix &lt;=c0V0FAainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0apermutV2V6AasortedV6Aainfix &lt;=c0V0Iainfix =agetV5V18aTrueIainfix &lt;V18V0Aainfix &lt;V3V18FAainfix =agetV5V19aFalseIainfix &lt;V19V4Aainfix &lt;=c0V19FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FAainfix =agetV1V20aTrueIainfix &lt;V20V0Aainfix &lt;ainfix -V0c1V20FAainfix =agetV1V21aFalseIainfix &lt;V21c0Aainfix &lt;=c0V21FAapermutV2V2Aainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0c0Iainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -65,9 +45,9 @@
<goal
name="WP_parameter two_way_sort.1"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="1. loop invariant init"
sum="1a1264dc58cdd1f00287c30a7bed3111"
sum="f718540d43bc8afe310f3b6f351cf3f9"
proved="true"
expanded="false"
shape="ainfix =agetV1V3aTrueIainfix &lt;V3V0Aainfix &lt;ainfix -V0c1V3FAainfix =agetV1V4aFalseIainfix &lt;V4c0Aainfix &lt;=c0V4FAapermutV2V2Aainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0c0Iainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -85,9 +65,9 @@
<goal
name="WP_parameter two_way_sort.2"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="2. type invariant"
sum="b1e5647c1ed7f49ec82fd240ece70f30"
sum="c48732f22206344e1cfe35e51ce5657f"
proved="true"
expanded="false"
shape="ainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V7aTrueIainfix &lt;V7V0Aainfix &lt;V3V7FAainfix =agetV5V8aFalseIainfix &lt;V8V4Aainfix &lt;=c0V8FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -105,9 +85,9 @@
<goal
name="WP_parameter two_way_sort.3"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="3. precondition"
sum="8820759f0f3909a4d3176ade3ba82c64"
sum="af0541a7c5c9f60b67f3019d1de259e8"
proved="true"
expanded="false"
shape="ainfix &lt;V4V0Aainfix &lt;=c0V4Iainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V7aTrueIainfix &lt;V7V0Aainfix &lt;V3V7FAainfix =agetV5V8aFalseIainfix &lt;V8V4Aainfix &lt;=c0V8FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -125,9 +105,9 @@
<goal
name="WP_parameter two_way_sort.4"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="4. loop invariant preservation"
sum="21a06e7811079a74e691427ad2e0f3d1"
sum="f90e7ec5027581b0c4845619637191e7"
proved="true"
expanded="false"
shape="ainfix =agetV5V8aTrueIainfix &lt;V8V0Aainfix &lt;V3V8FAainfix =agetV5V9aFalseIainfix &lt;V9V7Aainfix &lt;=c0V9FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V7Iainfix =V7ainfix +V4c1FIainfix =agetV5V4aTrueNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V10aTrueIainfix &lt;V10V0Aainfix &lt;V3V10FAainfix =agetV5V11aFalseIainfix &lt;V11V4Aainfix &lt;=c0V11FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -145,9 +125,9 @@
<goal
name="WP_parameter two_way_sort.5"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="5. loop variant decrease"
sum="d31c1d030e7b58eb9ce025046292f0ec"
sum="6b9f5825d524183767354117559f5284"
proved="true"
expanded="false"
shape="ainfix &lt;ainfix -V3V7ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Iainfix =V7ainfix +V4c1FIainfix =agetV5V4aTrueNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V8aTrueIainfix &lt;V8V0Aainfix &lt;V3V8FAainfix =agetV5V9aFalseIainfix &lt;V9V4Aainfix &lt;=c0V9FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -165,9 +145,9 @@
<goal
name="WP_parameter two_way_sort.6"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="6. precondition"
sum="a625d1eb2156b34d86599820591ef838"
sum="a5630453cb0250c867639beee866dd61"
proved="true"
expanded="false"
shape="ainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V7aTrueIainfix &lt;V7V0Aainfix &lt;V3V7FAainfix =agetV5V8aFalseIainfix &lt;V8V4Aainfix &lt;=c0V8FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -185,9 +165,9 @@
<goal
name="WP_parameter two_way_sort.7"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="7. loop invariant preservation"
sum="83284344a0b6ada0f2f3326f2e089c19"
sum="98e480e5587a0756f4bb6b76b2d31adb"
proved="true"
expanded="false"
shape="ainfix =agetV5V8aTrueIainfix &lt;V8V0Aainfix &lt;V7V8FAainfix =agetV5V9aFalseIainfix &lt;V9V4Aainfix &lt;=c0V9FAapermutV2V6Aainfix &lt;V7V0Aainfix &lt;=c0V4Iainfix =V7ainfix -V3c1FIainfix =agetV5V3aTrueIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V10aTrueIainfix &lt;V10V0Aainfix &lt;V3V10FAainfix =agetV5V11aFalseIainfix &lt;V11V4Aainfix &lt;=c0V11FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -205,9 +185,9 @@
<goal
name="WP_parameter two_way_sort.8"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="8. loop variant decrease"
sum="92bbd1436c05771c86f965545079929c"
sum="88cffa09fcd4cc5f8fa231bf5d089049"
proved="true"
expanded="false"
shape="ainfix &lt;ainfix -V7V4ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Iainfix =V7ainfix -V3c1FIainfix =agetV5V3aTrueIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V8aTrueIainfix &lt;V8V0Aainfix &lt;V3V8FAainfix =agetV5V9aFalseIainfix &lt;V9V4Aainfix &lt;=c0V9FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -225,9 +205,9 @@
<goal
name="WP_parameter two_way_sort.9"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="9. precondition"
sum="f7d0a9220bd709c58a73e15ce38b514d"
sum="43526ba1bd5902cbfe76762cfda0b427"
proved="true"
expanded="false"
shape="ainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Iainfix =agetV5V3aTrueNIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V7aTrueIainfix &lt;V7V0Aainfix &lt;V3V7FAainfix =agetV5V8aFalseIainfix &lt;V8V4Aainfix &lt;=c0V8FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -245,9 +225,9 @@
<goal
name="WP_parameter two_way_sort.10"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="10. loop invariant preservation"
sum="479a1ae0b59d5d083ced427f40d017a1"
sum="4a3859f711897883177e66b531be48e3"
proved="true"
expanded="false"
shape="ainfix =agetV7V10aTrueIainfix &lt;V10V0Aainfix &lt;V9V10FAainfix =agetV7V11aFalseIainfix &lt;V11V8Aainfix &lt;=c0V11FAapermutV2amk arrayV0V7Aainfix &lt;V9V0Aainfix &lt;=c0V8Iainfix =V9ainfix -V3c1FIainfix =V8ainfix +V4c1FIaexchangeV5V7V4V3Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Iainfix =agetV5V3aTrueNIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V12aTrueIainfix &lt;V12V0Aainfix &lt;V3V12FAainfix =agetV5V13aFalseIainfix &lt;V13V4Aainfix &lt;=c0V13FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -260,9 +240,9 @@
<goal
name="WP_parameter two_way_sort.10.1"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="1."
sum="f7e086e0b253533453c68a34d47e928f"
sum="6e47fa7d84938f6f2834faae7b424c6b"
proved="true"
expanded="false"
shape="ainfix &lt;=c0V8Iainfix =V9ainfix -V3c1FIainfix =V8ainfix +V4c1FIaexchangeV5V7V4V3Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Iainfix =agetV5V3aTrueNIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V10aTrueIainfix &lt;V10V0Aainfix &lt;V3V10FAainfix =agetV5V11aFalseIainfix &lt;V11V4Aainfix &lt;=c0V11FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -280,9 +260,9 @@
<goal
name="WP_parameter two_way_sort.10.2"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="2."
sum="18896ab8f8b7997fd388cad04c6ebabf"
sum="977b7d989e773e916a21465b7d2b564c"
proved="true"
expanded="false"
shape="ainfix &lt;V9V0Iainfix =V9ainfix -V3c1FIainfix =V8ainfix +V4c1FIaexchangeV5V7V4V3Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Iainfix =agetV5V3aTrueNIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V10aTrueIainfix &lt;V10V0Aainfix &lt;V3V10FAainfix =agetV5V11aFalseIainfix &lt;V11V4Aainfix &lt;=c0V11FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -300,9 +280,9 @@
<goal
name="WP_parameter two_way_sort.10.3"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="3."
sum="d52874d8ef31aa186b1794cb12615a73"
sum="45e689e73733887524212b237ea7f346"
proved="true"
expanded="false"
shape="apermutV2amk arrayV0V7Iainfix =V9ainfix -V3c1FIainfix =V8ainfix +V4c1FIaexchangeV5V7V4V3Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Iainfix =agetV5V3aTrueNIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V10aTrueIainfix &lt;V10V0Aainfix &lt;V3V10FAainfix =agetV5V11aFalseIainfix &lt;V11V4Aainfix &lt;=c0V11FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -315,15 +295,15 @@
edited="vstte12_two_way_sort_WP_TwoWaySort_WP_parameter_two_way_sort_2.v"
obsolete="false"
archived="false">
<result status="valid" time="0.51"/>
<result status="valid" time="1.75"/>
</proof>
</goal>
<goal
name="WP_parameter two_way_sort.10.4"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="4."
sum="838969c895df07f1d34d88eb18838f5b"
sum="225937e7dbd6855165035bb5af756c78"
proved="true"
expanded="false"
shape="ainfix =agetV7V10aFalseIainfix &lt;V10V8Aainfix &lt;=c0V10FIainfix =V9ainfix -V3c1FIainfix =V8ainfix +V4c1FIaexchangeV5V7V4V3Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Iainfix =agetV5V3aTrueNIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V11aTrueIainfix &lt;V11V0Aainfix &lt;V3V11FAainfix =agetV5V12aFalseIainfix &lt;V12V4Aainfix &lt;=c0V12FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -349,9 +329,9 @@
<goal
name="WP_parameter two_way_sort.10.5"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="5."
sum="76987f05a3e46d539b55f9dbb435c0cb"
sum="b0ed23beeca86528345f54fbae6d5f9a"
proved="true"
expanded="false"
shape="ainfix =agetV7V10aTrueIainfix &lt;V10V0Aainfix &lt;V9V10FIainfix =V9ainfix -V3c1FIainfix =V8ainfix +V4c1FIaexchangeV5V7V4V3Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Iainfix =agetV5V3aTrueNIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V11aTrueIainfix &lt;V11V0Aainfix &lt;V3V11FAainfix =agetV5V12aFalseIainfix &lt;V12V4Aainfix &lt;=c0V12FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -379,9 +359,9 @@
<goal
name="WP_parameter two_way_sort.11"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="11. loop variant decrease"
sum="e2aaddf34a33f8bbe121b039c12e032a"
sum="c55a2bba916d2c9704ff99c25309a2c0"
proved="true"
expanded="false"
shape="ainfix &lt;ainfix -V9V8ainfix -V3V4Aainfix &lt;=c0ainfix -V3V4Iainfix =V9ainfix -V3c1FIainfix =V8ainfix +V4c1FIaexchangeV5V7V4V3Aainfix &lt;=c0V0FIainfix &lt;V3V0Aainfix &lt;=c0V3Aainfix &lt;V4V0Aainfix &lt;=c0V4Iainfix =agetV5V3aTrueNIainfix &lt;V3V0Aainfix &lt;=c0V3Iainfix =agetV5V4aTrueNNIainfix &lt;V4V0Aainfix &lt;=c0V4Aainfix &lt;=c0V0Iainfix &lt;V4V3Iainfix =agetV5V10aTrueIainfix &lt;V10V0Aainfix &lt;V3V10FAainfix =agetV5V11aFalseIainfix &lt;V11V4Aainfix &lt;=c0V11FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -399,9 +379,9 @@
<goal
name="WP_parameter two_way_sort.12"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="12. type invariant"
sum="0123645afce53940a178a6bd8be72d40"
sum="94db2f07e8255d720d7bfced48e11810"
proved="true"
expanded="false"
shape="ainfix &lt;=c0V0Iainfix &lt;V4V3NIainfix =agetV5V7aTrueIainfix &lt;V7V0Aainfix &lt;V3V7FAainfix =agetV5V8aFalseIainfix &lt;V8V4Aainfix &lt;=c0V8FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......@@ -419,9 +399,9 @@
<goal
name="WP_parameter two_way_sort.13"
locfile="../vstte12_two_way_sort.mlw"
loclnum="28" loccnumb="6" loccnume="18"
loclnum="22" loccnumb="6" loccnume="18"
expl="13. postcondition"
sum="33785ad8b0d5ce30dbda5da44c04f164"
sum="48688df10a3c073f88bdde8415426f74"
proved="true"
expanded="false"
shape="apermutV2V6AasortedV6Iainfix &lt;=c0V0Iainfix &lt;V4V3NIainfix =agetV5V7aTrueIainfix &lt;V7V0Aainfix &lt;V3V7FAainfix =agetV5V8aFalseIainfix &lt;V8V4Aainfix &lt;=c0V8FAapermutV2V6Aainfix &lt;V3V0Aainfix &lt;=c0V4Lamk arrayV0V5FIainfix &lt;=c0V0Lamk arrayV0V1FF">
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment