why3session.xml 12 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">
3
<why3session shape_version="2">
4
 <prover
Andrei Paskevich's avatar
Andrei Paskevich committed
5
  id="0"
6
  name="Alt-Ergo"
7
  version="0.94"/>
8
 <prover
Andrei Paskevich's avatar
Andrei Paskevich committed
9
  id="1"
10 11 12 13 14
  name="CVC3"
  version="2.2"/>
 <file
  name="../checking_a_large_routine.mlw"
  verified="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
15
  expanded="true">
16
  <theory
Andrei Paskevich's avatar
Andrei Paskevich committed
17
   name="CheckingALargeRoutine"
18
   locfile="../checking_a_large_routine.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
19
   loclnum="7" loccnumb="7" loccnume="28"
20 21 22 23
   verified="true"
   expanded="true">
   <goal
    name="WP_parameter routine"
24
    locfile="../checking_a_large_routine.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
25
    loclnum="13" loccnumb="6" loccnume="13"
26
    expl="VC for routine"
27
    sum="2c87a5e73941cd3b02af61bf8fce44e6"
28 29
    proved="true"
    expanded="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
30
    shape="iainfix &lt;V2V0iainfix &lt;=V3V2ainfix &lt;ainfix -V2V6ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Aainfix =V5ainfix *V6afactV2Aainfix &lt;=V6ainfix +V2c1Aainfix &lt;=c1V6Iainfix =V6ainfix +V3c1FIainfix =V5ainfix +V4V1Fainfix &lt;ainfix -V0V7ainfix -V0V2Aainfix &lt;=c0ainfix -V0V2Aainfix =V4afactV7Aainfix &lt;=V7V0Aainfix &lt;=c0V7Iainfix =V7ainfix +V2c1FIainfix =V4ainfix *V3afactV2Aainfix &lt;=V3ainfix +V2c1Aainfix &lt;=c1V3FAainfix =V1ainfix *c1afactV2Aainfix &lt;=c1ainfix +V2c1Aainfix &lt;=c1c1ainfix =V1afactV0Iainfix =V1afactV2Aainfix &lt;=V2V0Aainfix &lt;=c0V2FAainfix =c1afactc0Aainfix &lt;=c0V0Aainfix &lt;=c0c0Iainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
31
    <label
32
     name="expl:VC for routine"/>
33 34 35 36 37 38
    <transf
     name="split_goal"
     proved="true"
     expanded="true">
     <goal
      name="WP_parameter routine.1"
39
      locfile="../checking_a_large_routine.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
40
      loclnum="13" loccnumb="6" loccnume="13"
41
      expl="1. loop invariant init"
42
      sum="1f1332adbddf942e33b91fc159bd1721"
43 44
      proved="true"
      expanded="true"
45
      shape="ainfix =c1afactc0Aainfix &lt;=c0V0Aainfix &lt;=c0c0Iainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
46
      <label
47
       name="expl:VC for routine"/>
48
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
49
       prover="0"
50
       timelimit="10"
51
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
52 53
       obsolete="false"
       archived="false">
54
       <result status="valid" time="0.01"/>
55 56
      </proof>
     </goal>
57 58
     <goal
      name="WP_parameter routine.2"
59
      locfile="../checking_a_large_routine.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
60
      loclnum="13" loccnumb="6" loccnume="13"
61
      expl="2. loop invariant init"
62
      sum="3c949a8367aa36916278f22d2233e42b"
63 64
      proved="true"
      expanded="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
65
      shape="ainfix =V1ainfix *c1afactV2Aainfix &lt;=c1ainfix +V2c1Aainfix &lt;=c1c1Iainfix &lt;V2V0Iainfix =V1afactV2Aainfix &lt;=V2V0Aainfix &lt;=c0V2FIainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
66
      <label
67
       name="expl:VC for routine"/>
68
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
69
       prover="0"
70
       timelimit="10"
71
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
72 73
       obsolete="false"
       archived="false">
74
       <result status="valid" time="0.01"/>
75 76
      </proof>
     </goal>
77 78
     <goal
      name="WP_parameter routine.3"
79
      locfile="../checking_a_large_routine.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
80
      loclnum="13" loccnumb="6" loccnume="13"
81
      expl="3. loop invariant preservation"
82
      sum="16adecdb605315af127fab31763c4f24"
83 84
      proved="true"
      expanded="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
85
      shape="ainfix =V5ainfix *V6afactV2Aainfix &lt;=V6ainfix +V2c1Aainfix &lt;=c1V6Iainfix =V6ainfix +V3c1FIainfix =V5ainfix +V4V1FIainfix &lt;=V3V2Iainfix =V4ainfix *V3afactV2Aainfix &lt;=V3ainfix +V2c1Aainfix &lt;=c1V3FIainfix &lt;V2V0Iainfix =V1afactV2Aainfix &lt;=V2V0Aainfix &lt;=c0V2FIainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
86
      <label
87
       name="expl:VC for routine"/>
88
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
89
       prover="1"
90
       timelimit="10"
91
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
92 93
       obsolete="false"
       archived="false">
94
       <result status="valid" time="0.00"/>
95 96
      </proof>
     </goal>
97 98
     <goal
      name="WP_parameter routine.4"
99
      locfile="../checking_a_large_routine.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
100
      loclnum="13" loccnumb="6" loccnume="13"
101
      expl="4. loop variant decrease"
102
      sum="658ecffa25b241aba563b686c7a7880d"
103 104
      proved="true"
      expanded="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
105
      shape="ainfix &lt;ainfix -V2V6ainfix -V2V3Aainfix &lt;=c0ainfix -V2V3Iainfix =V6ainfix +V3c1FIainfix =V5ainfix +V4V1FIainfix &lt;=V3V2Iainfix =V4ainfix *V3afactV2Aainfix &lt;=V3ainfix +V2c1Aainfix &lt;=c1V3FIainfix &lt;V2V0Iainfix =V1afactV2Aainfix &lt;=V2V0Aainfix &lt;=c0V2FIainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
106
      <label
107
       name="expl:VC for routine"/>
108
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
109
       prover="0"
110
       timelimit="10"
111
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
112 113
       obsolete="false"
       archived="false">
114
       <result status="valid" time="0.00"/>
115 116
      </proof>
     </goal>
117 118
     <goal
      name="WP_parameter routine.5"
119
      locfile="../checking_a_large_routine.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
120
      loclnum="13" loccnumb="6" loccnume="13"
121
      expl="5. loop invariant preservation"
122
      sum="78ac374bb40b2a7ba345a472c13cbf81"
123 124
      proved="true"
      expanded="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
125
      shape="ainfix =V4afactV5Aainfix &lt;=V5V0Aainfix &lt;=c0V5Iainfix =V5ainfix +V2c1FIainfix &lt;=V3V2NIainfix =V4ainfix *V3afactV2Aainfix &lt;=V3ainfix +V2c1Aainfix &lt;=c1V3FIainfix &lt;V2V0Iainfix =V1afactV2Aainfix &lt;=V2V0Aainfix &lt;=c0V2FIainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
126
      <label
127
       name="expl:VC for routine"/>
128
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
129
       prover="0"
130
       timelimit="10"
131
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
132 133
       obsolete="false"
       archived="false">
134
       <result status="valid" time="0.02"/>
135 136
      </proof>
     </goal>
137 138
     <goal
      name="WP_parameter routine.6"
139
      locfile="../checking_a_large_routine.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
140
      loclnum="13" loccnumb="6" loccnume="13"
141
      expl="6. loop variant decrease"
142
      sum="cfe6e6f973867f21832faea47e50402e"
143 144
      proved="true"
      expanded="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
145
      shape="ainfix &lt;ainfix -V0V5ainfix -V0V2Aainfix &lt;=c0ainfix -V0V2Iainfix =V5ainfix +V2c1FIainfix &lt;=V3V2NIainfix =V4ainfix *V3afactV2Aainfix &lt;=V3ainfix +V2c1Aainfix &lt;=c1V3FIainfix &lt;V2V0Iainfix =V1afactV2Aainfix &lt;=V2V0Aainfix &lt;=c0V2FIainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
146
      <label
147
       name="expl:VC for routine"/>
148
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
149
       prover="0"
150
       timelimit="10"
151
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
152 153
       obsolete="false"
       archived="false">
154
       <result status="valid" time="0.02"/>
MARCHE Claude's avatar
MARCHE Claude committed
155 156
      </proof>
     </goal>
157 158
     <goal
      name="WP_parameter routine.7"
159
      locfile="../checking_a_large_routine.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
160
      loclnum="13" loccnumb="6" loccnume="13"
161
      expl="7. postcondition"
162
      sum="eb589caeed04d036cf730be9c7c45e0f"
163 164
      proved="true"
      expanded="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
165
      shape="ainfix =V1afactV0Iainfix &lt;V2V0NIainfix =V1afactV2Aainfix &lt;=V2V0Aainfix &lt;=c0V2FIainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
166
      <label
167
       name="expl:VC for routine"/>
168
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
169
       prover="0"
170
       timelimit="10"
171
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
172 173
       obsolete="false"
       archived="false">
174
       <result status="valid" time="0.01"/>
175 176 177 178
      </proof>
     </goal>
    </transf>
   </goal>
179 180
   <goal
    name="WP_parameter routine2"
181 182
    locfile="../checking_a_large_routine.mlw"
    loclnum="32" loccnumb="6" loccnume="14"
183
    expl="VC for routine2"
184
    sum="3a19abec2be89a45778d01d35bc323c6"
185 186
    proved="true"
    expanded="true"
187
    shape="ainfix =V1afactV0Iainfix =V1afactainfix +ainfix -V0c1c1Aainfix =V3afactainfix +V2c1Iainfix =V3ainfix *ainfix +V2c1afactV2Aainfix =V5ainfix *ainfix +V4c1afactV2Iainfix =V5ainfix +V3V1FIainfix =V3ainfix *V4afactV2Iainfix &lt;=V4V2Aainfix &lt;=c1V4FFAainfix =V1ainfix *c1afactV2Iainfix &lt;=c1V2Aainfix =V1afactainfix +V2c1Iainfix &gt;c1V2Iainfix =V1afactV2Iainfix &lt;=V2ainfix -V0c1Aainfix &lt;=c0V2FFAainfix =c1afactc0Iainfix &lt;=c0ainfix -V0c1Aainfix =c1afactV0Iainfix &gt;c0ainfix -V0c1Iainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
188
    <label
189
     name="expl:VC for routine2"/>
190 191 192 193 194 195
    <transf
     name="split_goal"
     proved="true"
     expanded="true">
     <goal
      name="WP_parameter routine2.1"
196 197
      locfile="../checking_a_large_routine.mlw"
      loclnum="32" loccnumb="6" loccnume="14"
198
      expl="1. postcondition"
199
      sum="704ab83d1cf9f3cc9a75b6d5dff22493"
200 201
      proved="true"
      expanded="true"
202
      shape="ainfix =c1afactV0Iainfix &gt;c0ainfix -V0c1Iainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
203
      <label
204
       name="expl:VC for routine2"/>
205
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
206
       prover="0"
207
       timelimit="10"
208
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
209 210
       obsolete="false"
       archived="false">
211
       <result status="valid" time="0.01"/>
212 213
      </proof>
     </goal>
214 215
     <goal
      name="WP_parameter routine2.2"
216 217
      locfile="../checking_a_large_routine.mlw"
      loclnum="32" loccnumb="6" loccnume="14"
218
      expl="2. loop invariant init"
219
      sum="6f4355c291edd1a40e47bdd2b472aeee"
220 221
      proved="true"
      expanded="true"
222
      shape="ainfix =c1afactc0Iainfix &lt;=c0ainfix -V0c1Iainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
223
      <label
224
       name="expl:VC for routine2"/>
225
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
226
       prover="0"
227
       timelimit="10"
228
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
229 230
       obsolete="false"
       archived="false">
231
       <result status="valid" time="0.00"/>
232 233
      </proof>
     </goal>
234 235
     <goal
      name="WP_parameter routine2.3"
236 237
      locfile="../checking_a_large_routine.mlw"
      loclnum="32" loccnumb="6" loccnume="14"
238
      expl="3. loop invariant preservation"
Andrei Paskevich's avatar
Andrei Paskevich committed
239 240 241 242 243
      sum="9ff28d6d6d727b7dae866368db832070"
      proved="true"
      expanded="true"
      shape="ainfix =V1afactainfix +V2c1Iainfix &gt;c1V2Iainfix =V1afactV2Iainfix &lt;=V2ainfix -V0c1Aainfix &lt;=c0V2FFIainfix &lt;=c0ainfix -V0c1Iainfix &gt;=V0c0F">
      <label
244
       name="expl:VC for routine2"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
245 246 247 248 249 250 251 252 253 254 255
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter routine2.4"
256 257
      locfile="../checking_a_large_routine.mlw"
      loclnum="32" loccnumb="6" loccnume="14"
258
      expl="4. loop invariant init"
Andrei Paskevich's avatar
Andrei Paskevich committed
259
      sum="cd8123d3adfacc7366bbe70963b4be4b"
260 261
      proved="true"
      expanded="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
262 263
      shape="ainfix =V1ainfix *c1afactV2Iainfix &lt;=c1V2Iainfix =V1afactV2Iainfix &lt;=V2ainfix -V0c1Aainfix &lt;=c0V2FFIainfix &lt;=c0ainfix -V0c1Iainfix &gt;=V0c0F">
      <label
264
       name="expl:VC for routine2"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
265 266 267 268 269 270 271 272 273 274 275
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter routine2.5"
276 277
      locfile="../checking_a_large_routine.mlw"
      loclnum="32" loccnumb="6" loccnume="14"
278
      expl="5. loop invariant preservation"
Andrei Paskevich's avatar
Andrei Paskevich committed
279 280 281 282 283
      sum="a7a95f15d6b3c0699a8c1e9c9aad724c"
      proved="true"
      expanded="true"
      shape="ainfix =V5ainfix *ainfix +V4c1afactV2Iainfix =V5ainfix +V3V1FIainfix =V3ainfix *V4afactV2Iainfix &lt;=V4V2Aainfix &lt;=c1V4FFIainfix &lt;=c1V2Iainfix =V1afactV2Iainfix &lt;=V2ainfix -V0c1Aainfix &lt;=c0V2FFIainfix &lt;=c0ainfix -V0c1Iainfix &gt;=V0c0F">
      <label
284
       name="expl:VC for routine2"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
285 286 287 288 289 290 291 292 293 294 295
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter routine2.6"
296 297
      locfile="../checking_a_large_routine.mlw"
      loclnum="32" loccnumb="6" loccnume="14"
298
      expl="6. loop invariant preservation"
Andrei Paskevich's avatar
Andrei Paskevich committed
299 300 301 302
      sum="47be5d244ba8f38f45fa3321641b30e3"
      proved="true"
      expanded="true"
      shape="ainfix =V3afactainfix +V2c1Iainfix =V3ainfix *ainfix +V2c1afactV2FIainfix &lt;=c1V2Iainfix =V1afactV2Iainfix &lt;=V2ainfix -V0c1Aainfix &lt;=c0V2FFIainfix &lt;=c0ainfix -V0c1Iainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
303
      <label
304
       name="expl:VC for routine2"/>
305
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
306
       prover="0"
307
       timelimit="10"
308
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
309 310
       obsolete="false"
       archived="false">
Andrei Paskevich's avatar
Andrei Paskevich committed
311
       <result status="valid" time="0.00"/>
312 313
      </proof>
     </goal>
314
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
315
      name="WP_parameter routine2.7"
316 317
      locfile="../checking_a_large_routine.mlw"
      loclnum="32" loccnumb="6" loccnume="14"
318
      expl="7. postcondition"
319
      sum="e8ed7c7dd8be78212fb8330764a50027"
320 321
      proved="true"
      expanded="true"
322
      shape="ainfix =V1afactV0Iainfix =V1afactainfix +ainfix -V0c1c1FIainfix &lt;=c0ainfix -V0c1Iainfix &gt;=V0c0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
323
      <label
324
       name="expl:VC for routine2"/>
325
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
326
       prover="0"
327
       timelimit="10"
328
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
329 330
       obsolete="false"
       archived="false">
331
       <result status="valid" time="0.00"/>
332 333 334 335
      </proof>
     </goal>
    </transf>
   </goal>
336 337 338
  </theory>
 </file>
</why3session>