why3session.xml 12.1 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
 <prover
Andrei Paskevich's avatar
Andrei Paskevich committed
5
  id="0"
6
  name="Alt-Ergo"
7
  version="0.95.1"/>
8 9 10
 <file
  name="../foveoos11_challenge1.mlw"
  verified="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
11
  expanded="true">
12
  <theory
Andrei Paskevich's avatar
Andrei Paskevich committed
13
   name="Max"
14
   locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
15
   loclnum="8" loccnumb="7" loccnume="10"
16 17 18 19
   verified="true"
   expanded="true">
   <goal
    name="WP_parameter max"
20
    locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
21
    loclnum="13" loccnumb="6" loccnume="9"
22
    expl="VC for max"
MARCHE Claude's avatar
MARCHE Claude committed
23
    sum="5b81f2923d622d59df74ae3ed5135590"
24 25
    proved="true"
    expanded="true"
26
    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">
Andrei Paskevich's avatar
Andrei Paskevich committed
27
    <label
28
     name="expl:VC for max"/>
29 30 31 32 33 34
    <transf
     name="split_goal"
     proved="true"
     expanded="true">
     <goal
      name="WP_parameter max.1"
35
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
36
      loclnum="13" loccnumb="6" loccnume="9"
37
      expl="1. loop invariant init"
MARCHE Claude's avatar
MARCHE Claude committed
38
      sum="5933c6bf145fe8e5b712bffc1b7b3915"
39 40
      proved="true"
      expanded="false"
41
      shape="loop invariant initainfix &lt;ainfix -V0c1V0Aainfix &lt;=c0ainfix -V0c1Aainfix &lt;=c0c0Iainfix &gt;V0c0Aainfix &lt;=c0V0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
42
      <label
43
       name="expl:VC for max"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
44 45 46 47 48 49 50 51 52 53 54
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter max.2"
55
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
56
      loclnum="13" loccnumb="6" loccnume="9"
57
      expl="2. loop invariant init"
MARCHE Claude's avatar
MARCHE Claude committed
58
      sum="12aba8e43bb56d10dd86d8944be42cc0"
Andrei Paskevich's avatar
Andrei Paskevich committed
59 60
      proved="true"
      expanded="false"
61
      shape="loop invariant initainfix &lt;=agetV1V2agetV1c0Oainfix &lt;=agetV1V2agetV1ainfix -V0c1Iainfix &lt;V2V0Aainfix &lt;ainfix -V0c1V2Oainfix &lt;V2c0Aainfix &lt;=c0V2FIainfix &gt;V0c0Aainfix &lt;=c0V0F">
Andrei Paskevich's avatar
Andrei Paskevich committed
62
      <label
63
       name="expl:VC for max"/>
64
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
65
       prover="0"
66
       timelimit="10"
67
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
68 69
       obsolete="false"
       archived="false">
70
       <result status="valid" time="0.01"/>
71 72 73
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
74
      name="WP_parameter max.3"
75
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
76
      loclnum="13" loccnumb="6" loccnume="9"
MARCHE Claude's avatar
MARCHE Claude committed
77 78
      expl="3. index in array bounds"
      sum="7e1a88d59ccbb891510128abcafed0bf"
79 80
      proved="true"
      expanded="false"
MARCHE Claude's avatar
MARCHE Claude committed
81
      shape="index in array boundsainfix &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">
Andrei Paskevich's avatar
Andrei Paskevich committed
82
      <label
83
       name="expl:VC for max"/>
84
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
85
       prover="0"
86
       timelimit="10"
87
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
88 89
       obsolete="false"
       archived="false">
90
       <result status="valid" time="0.01"/>
91 92 93
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
94
      name="WP_parameter max.4"
95
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
96
      loclnum="13" loccnumb="6" loccnume="9"
MARCHE Claude's avatar
MARCHE Claude committed
97 98
      expl="4. index in array bounds"
      sum="b33ee3d887af1a52bad4e0e01d1fb9c0"
99 100
      proved="true"
      expanded="false"
MARCHE Claude's avatar
MARCHE Claude committed
101
      shape="index in array boundsainfix &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">
Andrei Paskevich's avatar
Andrei Paskevich committed
102
      <label
103
       name="expl:VC for max"/>
104
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
105
       prover="0"
106
       timelimit="10"
107
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
108 109
       obsolete="false"
       archived="false">
Andrei Paskevich's avatar
Andrei Paskevich committed
110
       <result status="valid" time="0.01"/>
111 112 113
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
114
      name="WP_parameter max.5"
115
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
116
      loclnum="13" loccnumb="6" loccnume="9"
117
      expl="5. loop invariant preservation"
MARCHE Claude's avatar
MARCHE Claude committed
118
      sum="267f57c0907d37d6a0eb78974aac6a01"
119 120
      proved="true"
      expanded="false"
121
      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">
Andrei Paskevich's avatar
Andrei Paskevich committed
122
      <label
123
       name="expl:VC for max"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
124 125 126 127 128 129 130 131
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
132 133
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
134
      name="WP_parameter max.6"
135
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
136
      loclnum="13" loccnumb="6" loccnume="9"
137
      expl="6. loop invariant preservation"
MARCHE Claude's avatar
MARCHE Claude committed
138
      sum="1b8f706297b3c3b49b3e7a9ae55ed32f"
Andrei Paskevich's avatar
Andrei Paskevich committed
139 140
      proved="true"
      expanded="false"
141
      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">
Andrei Paskevich's avatar
Andrei Paskevich committed
142
      <label
143
       name="expl:VC for max"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
144 145 146 147 148 149 150 151 152 153 154
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter max.7"
155
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
156
      loclnum="13" loccnumb="6" loccnume="9"
157
      expl="7. loop variant decrease"
MARCHE Claude's avatar
MARCHE Claude committed
158
      sum="bb6f97f4f27382c8a9066d5531fc6379"
159 160
      proved="true"
      expanded="false"
161
      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">
Andrei Paskevich's avatar
Andrei Paskevich committed
162
      <label
163
       name="expl:VC for max"/>
164
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
165
       prover="0"
166
       timelimit="10"
167
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
168 169
       obsolete="false"
       archived="false">
Andrei Paskevich's avatar
Andrei Paskevich committed
170
       <result status="valid" time="0.01"/>
171 172 173
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
174
      name="WP_parameter max.8"
175
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
176
      loclnum="13" loccnumb="6" loccnume="9"
177
      expl="8. loop invariant preservation"
MARCHE Claude's avatar
MARCHE Claude committed
178
      sum="66bc9267bfb59d48bd1191228dabd238"
179 180
      proved="true"
      expanded="false"
181
      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">
Andrei Paskevich's avatar
Andrei Paskevich committed
182
      <label
183
       name="expl:VC for max"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
184 185 186 187 188 189 190 191
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
192 193
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
194
      name="WP_parameter max.9"
195
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
196
      loclnum="13" loccnumb="6" loccnume="9"
197
      expl="9. loop invariant preservation"
MARCHE Claude's avatar
MARCHE Claude committed
198
      sum="0dea8e80e5d3c575b86f9d3ebf14d7df"
Andrei Paskevich's avatar
Andrei Paskevich committed
199 200
      proved="true"
      expanded="false"
201
      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">
Andrei Paskevich's avatar
Andrei Paskevich committed
202
      <label
203
       name="expl:VC for max"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
204 205 206 207 208 209 210 211 212 213 214
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter max.10"
215
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
216
      loclnum="13" loccnumb="6" loccnume="9"
217
      expl="10. loop variant decrease"
MARCHE Claude's avatar
MARCHE Claude committed
218
      sum="b215c15d06afd75df64bbf7a87864639"
219 220
      proved="true"
      expanded="false"
221
      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">
Andrei Paskevich's avatar
Andrei Paskevich committed
222
      <label
223
       name="expl:VC for max"/>
224
      <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
225
       prover="0"
226
       timelimit="10"
227
       memlimit="0"
Andrei Paskevich's avatar
Andrei Paskevich committed
228 229
       obsolete="false"
       archived="false">
Andrei Paskevich's avatar
Andrei Paskevich committed
230
       <result status="valid" time="0.01"/>
231 232 233
      </proof>
     </goal>
     <goal
Andrei Paskevich's avatar
Andrei Paskevich committed
234
      name="WP_parameter max.11"
235
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
236
      loclnum="13" loccnumb="6" loccnume="9"
237
      expl="11. postcondition"
MARCHE Claude's avatar
MARCHE Claude committed
238
      sum="0c7f58e05627bd34344832930b84e3b3"
239
      proved="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
240
      expanded="false"
241
      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">
Andrei Paskevich's avatar
Andrei Paskevich committed
242
      <label
243
       name="expl:VC for max"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
244 245 246 247 248 249 250 251 252 253 254
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.00"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter max.12"
255
      locfile="../foveoos11_challenge1.mlw"
Andrei Paskevich's avatar
Andrei Paskevich committed
256
      loclnum="13" loccnumb="6" loccnume="9"
257
      expl="12. postcondition"
MARCHE Claude's avatar
MARCHE Claude committed
258
      sum="81d9c5d653fe33859717ae0405942e1c"
Andrei Paskevich's avatar
Andrei Paskevich committed
259 260
      proved="true"
      expanded="false"
261
      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">
Andrei Paskevich's avatar
Andrei Paskevich committed
262
      <label
263
       name="expl:VC for max"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
264 265 266 267 268 269 270 271
      <proof
       prover="0"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
272 273 274 275 276 277
     </goal>
    </transf>
   </goal>
  </theory>
 </file>
</why3session>