why3session.xml 27.5 KB
Newer Older
1
<?xml version="1.0" encoding="UTF-8"?>
MARCHE Claude's avatar
MARCHE Claude committed
2
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v2//EN" "http://why3.lri.fr/why3session.dtd">
Andrei Paskevich's avatar
Andrei Paskevich committed
3
<why3session shape_version="4">
4 5
 <prover
  id="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
6
  name="Alt-Ergo"
7
  version="0.95.1"/>
8 9
 <prover
  id="1"
Andrei Paskevich's avatar
Andrei Paskevich committed
10
  name="CVC3"
11
  version="2.4.1"/>
12 13
 <prover
  id="2"
14
  name="CVC4"
15
  version="1.2"/>
16 17
 <prover
  id="3"
Andrei Paskevich's avatar
Andrei Paskevich committed
18
  name="Coq"
19
  version="8.4pl2"/>
20 21 22
 <file
  name="../mergesort_queue.mlw"
  verified="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
23
  expanded="true">
24
  <theory
Andrei Paskevich's avatar
Andrei Paskevich committed
25
   name="MergesortQueue"
26
   locfile="../mergesort_queue.mlw"
27 28 29 30 31
   loclnum="2" loccnumb="7" loccnume="21"
   verified="true"
   expanded="true">
   <goal
    name="WP_parameter merge"
32
    locfile="../mergesort_queue.mlw"
33
    loclnum="20" loccnumb="6" loccnume="11"
34
    expl="VC for merge"
35
    sum="f82cf76994847f6ced931a52cfe3971e"
36 37
    proved="true"
    expanded="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
38
    shape="iiapermutV3ainfix ++V0V1iiiainfix &lt;ainfix +alengthV5alengthV8ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V10V5V8ainfix ++V0V1Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFANainfix =V4aNilainfix &lt;ainfix +alengthV13alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V15V13V4ainfix ++V0V1Iainfix =V15ainfix ++V3aConsV14aNilFICfaNilainfix =V13V17Aainfix =V14V16aConsVVV5FFANainfix =V5aNilaleV6V7ICfaNilainfix =V7V18aConsVwV4FANainfix =V4aNilICfaNilainfix =V6V19aConsVwV5FANainfix =V5aNilainfix &lt;ainfix +alengthV20alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V22V20V4ainfix ++V0V1Iainfix =V22ainfix ++V3aConsV21aNilFICfaNilainfix =V20V24Aainfix =V21V23aConsVVV5FFANainfix =V5aNilainfix =alengthV4c0ainfix &lt;ainfix +alengthV5alengthV25ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V27V5V25ainfix ++V0V1Iainfix =V27ainfix ++V3aConsV26aNilFICfaNilainfix =V25V29Aainfix =V26V28aConsVVV4FFANainfix =V4aNilainfix =alengthV5c0ainfix &gt;alengthV4c0iiiainfix &lt;ainfix +alengthV5alengthV32ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V34V5V32ainfix ++V0V1Iainfix =V34ainfix ++V3aConsV33aNilFICfaNilainfix =V32V36Aainfix =V33V35aConsVVV4FFANainfix =V4aNilainfix &lt;ainfix +alengthV37alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V39V37V4ainfix ++V0V1Iainfix =V39ainfix ++V3aConsV38aNilFICfaNilainfix =V37V41Aainfix =V38V40aConsVVV5FFANainfix =V5aNilaleV30V31ICfaNilainfix =V31V42aConsVwV4FANainfix =V4aNilICfaNilainfix =V30V43aConsVwV5FANainfix =V5aNilainfix &lt;ainfix +alengthV44alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V46V44V4ainfix ++V0V1Iainfix =V46ainfix ++V3aConsV45aNilFICfaNilainfix =V44V48Aainfix =V45V47aConsVVV5FFANainfix =V5aNilainfix =alengthV4c0ainfix &lt;ainfix +alengthV5alengthV49ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V51V5V49ainfix ++V0V1Iainfix =V51ainfix ++V3aConsV50aNilFICfaNilainfix =V49V53Aainfix =V50V52aConsVVV4FFANainfix =V4aNilainfix =alengthV5c0ainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FAapermutainfix ++ainfix ++V2V0V1ainfix ++V0V1Iainfix =V2aNilF">
39
    <label
40
     name="expl:VC for merge"/>
41 42 43 44 45
    <transf
     name="split_goal"
     proved="true"
     expanded="true">
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
46
      name="WP_parameter merge.1"
47
      locfile="../mergesort_queue.mlw"
48
      loclnum="20" loccnumb="6" loccnume="11"
49
      expl="1. loop invariant init"
50
      sum="7cad5b08e4c3600995d9200a040cfdd5"
51 52
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
53
      shape="loop invariant initapermutainfix ++ainfix ++V2V0V1ainfix ++V0V1Iainfix =V2aNilF">
54
      <label
55
       name="expl:VC for merge"/>
56 57 58
      <proof
       prover="0"
       timelimit="10"
59
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
60 61
       obsolete="false"
       archived="false">
MARCHE Claude's avatar
MARCHE Claude committed
62
       <result status="valid" time="0.02"/>
63 64 65
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
66
      name="WP_parameter merge.2"
67
      locfile="../mergesort_queue.mlw"
68
      loclnum="20" loccnumb="6" loccnume="11"
69
      expl="2. precondition"
70
      sum="40ee6ef168976897b3bf9f26c1269467"
71 72
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
73
      shape="preconditionNainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
74
      <label
75
       name="expl:VC for merge"/>
76 77
      <proof
       prover="0"
78 79
       timelimit="5"
       memlimit="1000"
Andrei Paskevich's avatar
Andrei Paskevich committed
80 81
       obsolete="false"
       archived="false">
82
       <result status="valid" time="0.01"/>
83 84 85
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
86
      name="WP_parameter merge.3"
87
      locfile="../mergesort_queue.mlw"
88
      loclnum="20" loccnumb="6" loccnume="11"
89
      expl="3. loop invariant preservation"
90
      sum="224bc1db170262c55fcb51c5d169c6d8"
91 92
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
93
      shape="loop invariant preservationapermutainfix ++ainfix ++V8V5V6ainfix ++V0V1Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
94
      <label
95
       name="expl:VC for merge"/>
96
      <proof
97
       prover="1"
98
       timelimit="10"
99
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
100 101
       obsolete="false"
       archived="false">
102
       <result status="valid" time="0.03"/>
103 104 105
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
106
      name="WP_parameter merge.4"
107
      locfile="../mergesort_queue.mlw"
108
      loclnum="20" loccnumb="6" loccnume="11"
109
      expl="4. loop variant decrease"
110
      sum="d700ac4cb1ebb7f66979f0b7b7cff6cf"
111 112
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
113
      shape="loop variant decreaseainfix &lt;ainfix +alengthV5alengthV6ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
114
      <label
115
       name="expl:VC for merge"/>
116
      <proof
117
       prover="0"
118
       timelimit="10"
119
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
120 121
       obsolete="false"
       archived="false">
122
       <result status="valid" time="0.02"/>
123 124 125
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
126
      name="WP_parameter merge.5"
127
      locfile="../mergesort_queue.mlw"
128
      loclnum="20" loccnumb="6" loccnume="11"
129
      expl="5. precondition"
130
      sum="86c0e62ae5e7b4f2e4216c80c2fc78ca"
131 132
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
133
      shape="preconditionNainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
134
      <label
135
       name="expl:VC for merge"/>
136 137
      <proof
       prover="0"
138 139
       timelimit="5"
       memlimit="1000"
Andrei Paskevich's avatar
Andrei Paskevich committed
140 141
       obsolete="false"
       archived="false">
MARCHE Claude's avatar
MARCHE Claude committed
142
       <result status="valid" time="0.02"/>
143 144 145
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
146
      name="WP_parameter merge.6"
147
      locfile="../mergesort_queue.mlw"
148
      loclnum="20" loccnumb="6" loccnume="11"
149
      expl="6. loop invariant preservation"
150
      sum="819baf519e9d1ba7512bee3079c9d396"
151
      proved="true"
152
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
153
      shape="loop invariant preservationapermutainfix ++ainfix ++V8V6V4ainfix ++V0V1Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
154
      <label
155
       name="expl:VC for merge"/>
156
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
157
       prover="1"
158 159
       timelimit="5"
       memlimit="1000"
Andrei Paskevich's avatar
Andrei Paskevich committed
160 161
       obsolete="false"
       archived="false">
162 163 164 165 166 167 168 169 170
       <result status="valid" time="0.09"/>
      </proof>
      <proof
       prover="2"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.10"/>
171 172 173
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
174
      name="WP_parameter merge.7"
175
      locfile="../mergesort_queue.mlw"
176
      loclnum="20" loccnumb="6" loccnume="11"
177
      expl="7. loop variant decrease"
178
      sum="39be4c73701e50beb561dc1c10709f59"
179 180
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
181
      shape="loop variant decreaseainfix &lt;ainfix +alengthV6alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
182
      <label
183
       name="expl:VC for merge"/>
184 185 186
      <proof
       prover="0"
       timelimit="10"
187
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
188 189
       obsolete="false"
       archived="false">
190
       <result status="valid" time="0.01"/>
191 192 193
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
194
      name="WP_parameter merge.8"
195
      locfile="../mergesort_queue.mlw"
196
      loclnum="20" loccnumb="6" loccnume="11"
197
      expl="8. precondition"
198
      sum="2bfd41c85e90f097c4cefee30610837d"
199
      proved="true"
200
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
201
      shape="preconditionNainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
202
      <label
203
       name="expl:VC for merge"/>
204
      <proof
205 206 207
       prover="0"
       timelimit="5"
       memlimit="1000"
Andrei Paskevich's avatar
Andrei Paskevich committed
208 209
       obsolete="false"
       archived="false">
210
       <result status="valid" time="0.02"/>
211 212 213
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
214
      name="WP_parameter merge.9"
215
      locfile="../mergesort_queue.mlw"
216
      loclnum="20" loccnumb="6" loccnume="11"
217
      expl="9. precondition"
218
      sum="d1907f423ad3ecbaec1ab082278710a6"
219 220
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
221
      shape="preconditionNainfix =V4aNilICfaNilainfix =V6V7aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
222
      <label
223
       name="expl:VC for merge"/>
224 225
      <proof
       prover="0"
226 227
       timelimit="5"
       memlimit="1000"
Andrei Paskevich's avatar
Andrei Paskevich committed
228 229
       obsolete="false"
       archived="false">
230
       <result status="valid" time="0.02"/>
231 232 233
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
234
      name="WP_parameter merge.10"
235
      locfile="../mergesort_queue.mlw"
236
      loclnum="20" loccnumb="6" loccnume="11"
237
      expl="10. precondition"
238
      sum="fe2aefd83d0a4fad98825c1355df0368"
239 240
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
241
      shape="preconditionNainfix =V5aNilIaleV6V7ICfaNilainfix =V7V8aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V9aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257
      <label
       name="expl:VC for merge"/>
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.11"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="11. loop invariant preservation"
258
      sum="b017883944172434a91f989251c4cafe"
259 260
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
261
      shape="loop invariant preservationapermutainfix ++ainfix ++V10V8V4ainfix ++V0V1Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
262
      <label
263
       name="expl:VC for merge"/>
264
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
265
       prover="1"
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.11"/>
      </proof>
      <proof
       prover="2"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.12"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.12"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="12. loop variant decrease"
286
      sum="4e6bc040febf70b9b64db5b748c76cac"
287 288
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
289
      shape="loop variant decreaseainfix &lt;ainfix +alengthV8alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
290 291 292 293
      <label
       name="expl:VC for merge"/>
      <proof
       prover="0"
294
       timelimit="10"
295
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
296 297
       obsolete="false"
       archived="false">
298
       <result status="valid" time="0.02"/>
299 300 301
      </proof>
     </goal>
     <goal
302
      name="WP_parameter merge.13"
303
      locfile="../mergesort_queue.mlw"
304
      loclnum="20" loccnumb="6" loccnume="11"
305
      expl="13. precondition"
306
      sum="475916245e98676823dc5f019f27415d"
307 308
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
309
      shape="preconditionNainfix =V4aNilINaleV6V7ICfaNilainfix =V7V8aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V9aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
310
      <label
311
       name="expl:VC for merge"/>
312 313
      <proof
       prover="0"
314 315 316 317 318 319 320 321 322 323 324 325
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.14"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="14. loop invariant preservation"
326
      sum="b3cfb77dd5468d731ada75880999c9b4"
327 328
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
329
      shape="loop invariant preservationapermutainfix ++ainfix ++V10V5V8ainfix ++V0V1Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
330 331 332 333
      <label
       name="expl:VC for merge"/>
      <proof
       prover="3"
334
       timelimit="10"
335
       memlimit="0"
336
       edited="mergesort_queue_MergesortQueue_WP_parameter_merge_3.v"
Andrei Paskevich's avatar
Andrei Paskevich committed
337 338
       obsolete="false"
       archived="false">
339
       <result status="valid" time="1.07"/>
340 341 342
      </proof>
     </goal>
     <goal
343
      name="WP_parameter merge.15"
344
      locfile="../mergesort_queue.mlw"
345
      loclnum="20" loccnumb="6" loccnume="11"
346
      expl="15. loop variant decrease"
347
      sum="1156fcb18fa38b5fc764ff759d2053e4"
348 349
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
350
      shape="loop variant decreaseainfix &lt;ainfix +alengthV5alengthV8ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
351
      <label
352
       name="expl:VC for merge"/>
353 354 355
      <proof
       prover="0"
       timelimit="10"
356
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
357 358
       obsolete="false"
       archived="false">
359
       <result status="valid" time="0.02"/>
360 361 362
      </proof>
     </goal>
     <goal
363
      name="WP_parameter merge.16"
364
      locfile="../mergesort_queue.mlw"
365
      loclnum="20" loccnumb="6" loccnume="11"
366
      expl="16. precondition"
367
      sum="4cc9c02937c1707e6e1261dd651e8450"
368 369
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
370
      shape="preconditionNainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386
      <label
       name="expl:VC for merge"/>
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.17"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="17. loop invariant preservation"
387
      sum="5e353d0b39f6694c73f3664c29e6eadf"
388 389
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
390
      shape="loop invariant preservationapermutainfix ++ainfix ++V8V5V6ainfix ++V0V1Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
391 392 393 394 395 396 397 398
      <label
       name="expl:VC for merge"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
399
       <result status="valid" time="0.08"/>
400 401 402 403 404 405 406 407 408 409 410 411 412 413 414
      </proof>
      <proof
       prover="2"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.11"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.18"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="18. loop variant decrease"
415
      sum="3d7556ba9aa12f64af4a3807a572c25b"
416 417
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
418
      shape="loop variant decreaseainfix &lt;ainfix +alengthV5alengthV6ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
419
      <label
420
       name="expl:VC for merge"/>
421 422 423
      <proof
       prover="0"
       timelimit="10"
424
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
425 426
       obsolete="false"
       archived="false">
427
       <result status="valid" time="0.02"/>
428 429 430
      </proof>
     </goal>
     <goal
431
      name="WP_parameter merge.19"
432
      locfile="../mergesort_queue.mlw"
433
      loclnum="20" loccnumb="6" loccnume="11"
434
      expl="19. precondition"
435
      sum="a6387c50546e95ec962a05fb82c27fdb"
436 437
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
438
      shape="preconditionNainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
439
      <label
440
       name="expl:VC for merge"/>
441 442
      <proof
       prover="0"
443 444 445 446 447 448 449 450 451 452 453 454
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.20"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="20. loop invariant preservation"
455
      sum="59d5e018c8f46c88bc6a75f853c2a308"
456 457
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
458
      shape="loop invariant preservationapermutainfix ++ainfix ++V8V6V4ainfix ++V0V1Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
459 460 461 462
      <label
       name="expl:VC for merge"/>
      <proof
       prover="1"
463
       timelimit="10"
464
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
465 466
       obsolete="false"
       archived="false">
467
       <result status="valid" time="0.06"/>
468 469 470
      </proof>
     </goal>
     <goal
471
      name="WP_parameter merge.21"
472
      locfile="../mergesort_queue.mlw"
473
      loclnum="20" loccnumb="6" loccnume="11"
474
      expl="21. loop variant decrease"
475
      sum="38d32fa2f839e60468a339e10f64db73"
476 477
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
478
      shape="loop variant decreaseainfix &lt;ainfix +alengthV6alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
479
      <label
480
       name="expl:VC for merge"/>
481 482 483
      <proof
       prover="0"
       timelimit="10"
484
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
485 486
       obsolete="false"
       archived="false">
487
       <result status="valid" time="0.02"/>
488 489 490
      </proof>
     </goal>
     <goal
491
      name="WP_parameter merge.22"
492
      locfile="../mergesort_queue.mlw"
493
      loclnum="20" loccnumb="6" loccnume="11"
494
      expl="22. precondition"
495
      sum="328b20712344c7f7841d7960896fbcd7"
496 497
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
498
      shape="preconditionNainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
499
      <label
500
       name="expl:VC for merge"/>
501 502
      <proof
       prover="0"
503 504 505 506 507 508 509 510 511 512 513 514
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.23"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="23. precondition"
515
      sum="d4def8ab951c926f48aec16359c12909"
516 517
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
518
      shape="preconditionNainfix =V4aNilICfaNilainfix =V6V7aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534
      <label
       name="expl:VC for merge"/>
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.24"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="24. precondition"
535
      sum="d25ba71ea9166f65f0518d2794f38160"
536 537
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
538
      shape="preconditionNainfix =V5aNilIaleV6V7ICfaNilainfix =V7V8aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V9aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554
      <label
       name="expl:VC for merge"/>
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.25"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="25. loop invariant preservation"
555
      sum="7d500962f8d8849ea5dc1000d51223ec"
556 557
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
558
      shape="loop invariant preservationapermutainfix ++ainfix ++V10V8V4ainfix ++V0V1Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
559 560 561 562
      <label
       name="expl:VC for merge"/>
      <proof
       prover="1"
563
       timelimit="10"
564
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
565 566
       obsolete="false"
       archived="false">
567
       <result status="valid" time="0.06"/>
568 569 570
      </proof>
     </goal>
     <goal
571
      name="WP_parameter merge.26"
572
      locfile="../mergesort_queue.mlw"
573
      loclnum="20" loccnumb="6" loccnume="11"
574
      expl="26. loop variant decrease"
575
      sum="bfbcaedd6f3d9d5013eb270cbea04667"
576 577
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
578
      shape="loop variant decreaseainfix &lt;ainfix +alengthV8alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
579
      <label
580
       name="expl:VC for merge"/>
581 582 583
      <proof
       prover="0"
       timelimit="10"
584
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
585 586
       obsolete="false"
       archived="false">
587 588 589 590 591 592 593 594
       <result status="valid" time="0.04"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.27"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="27. precondition"
595
      sum="47669224987d51ef91146e44877ab344"
596 597
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
598
      shape="preconditionNainfix =V4aNilINaleV6V7ICfaNilainfix =V7V8aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V9aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
599 600 601 602 603 604 605 606
      <label
       name="expl:VC for merge"/>
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
Andrei Paskevich's avatar
Andrei Paskevich committed
607
       <result status="valid" time="0.02"/>
608 609 610
      </proof>
     </goal>
     <goal
611 612 613 614
      name="WP_parameter merge.28"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="28. loop invariant preservation"
615
      sum="aec20572472c24330ed174f62dbad707"
616 617
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
618
      shape="loop invariant preservationapermutainfix ++ainfix ++V10V5V8ainfix ++V0V1Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634
      <label
       name="expl:VC for merge"/>
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.09"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.29"
      locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11"
      expl="29. loop variant decrease"
635
      sum="280ee3453c58805721ab7343f207b100"
636 637
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
638
      shape="loop variant decreaseainfix &lt;ainfix +alengthV5alengthV8ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
639 640 641 642 643 644 645 646 647 648 649 650 651
      <label
       name="expl:VC for merge"/>
      <proof
       prover="0"
       timelimit="10"
       memlimit="0"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.04"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter merge.30"
652
      locfile="../mergesort_queue.mlw"
653
      loclnum="20" loccnumb="6" loccnume="11"
654
      expl="30. postcondition"
655
      sum="15564c22cca5b5b1b00ee338999757f2"
656 657
      proved="true"
      expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
658
      shape="postconditionapermutV3ainfix ++V0V1INainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1FIainfix =V2aNilF">
659
      <label
660
       name="expl:VC for merge"/>
661 662 663
      <proof
       prover="0"
       timelimit="10"
664
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
665 666
       obsolete="false"
       archived="false">
667
       <result status="valid" time="0.15"/>
668 669 670 671 672 673 674
      </proof>
     </goal>
    </transf>
   </goal>
  </theory>
 </file>
</why3session>