why3session.xml 35 KB
Newer Older
1
<?xml version="1.0" encoding="UTF-8"?>
MARCHE Claude's avatar
MARCHE Claude committed
2 3
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
Andrei Paskevich's avatar
Andrei Paskevich committed
4
<why3session shape_version="4">
Andrei Paskevich's avatar
Andrei Paskevich committed
5 6 7 8 9
<prover id="0" name="Coq" version="8.4pl4" timelimit="5" memlimit="1000"/>
<prover id="1" name="CVC3" version="2.4.1" timelimit="5" memlimit="0"/>
<prover id="2" name="CVC3" version="2.2" timelimit="5" memlimit="1000"/>
<prover id="3" name="Z3" version="4.3.1" timelimit="5" memlimit="1000"/>
<prover id="4" name="Alt-Ergo" version="0.95.2" timelimit="10" memlimit="1000"/>
10 11 12 13
<prover id="5" name="Alt-Ergo" version="0.99.1" timelimit="5" memlimit="1000"/>
<prover id="7" name="Z3" version="3.2" timelimit="5" memlimit="1000"/>
<prover id="8" name="Z3" version="4.3.2" timelimit="5" memlimit="1000"/>
<file name="../vstte12_ring_buffer.mlw">
MARCHE Claude's avatar
MARCHE Claude committed
14
<theory name="RingBuffer" sum="3a995896a11702e0f47a8fc5076896d8">
15
 <goal name="WP_parameter create" expl="VC for create">
MARCHE Claude's avatar
MARCHE Claude committed
16
 <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="9"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
17
 </goal>
18
 <goal name="WP_parameter length" expl="VC for length">
19
 <proof prover="4" memlimit="0"><result status="valid" time="0.02" steps="0"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
20
 </goal>
21
 <goal name="WP_parameter clear" expl="VC for clear">
22
 <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="11"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
23
 </goal>
24 25 26
 <goal name="WP_parameter push" expl="VC for push">
 <transf name="split_goal_wp">
  <goal name="WP_parameter push.1" expl="1. index in array bounds">
27
  <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="13"/></proof>
Andrei Paskevich's avatar
Andrei Paskevich committed
28
  </goal>
29 30 31 32 33
  <goal name="WP_parameter push.2" expl="2. type invariant">
  <transf name="inline_goal">
   <goal name="WP_parameter push.2.1" expl="1. type invariant">
   <transf name="split_goal_wp">
    <goal name="WP_parameter push.2.1.1" expl="1. VC for push">
34
    <proof prover="4" timelimit="5"><result status="valid" time="0.02" steps="5"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
35
    </goal>
36
    <goal name="WP_parameter push.2.1.2" expl="2. VC for push">
37
    <proof prover="4" timelimit="5"><result status="valid" time="0.02" steps="5"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
38
    </goal>
39
    <goal name="WP_parameter push.2.1.3" expl="3. VC for push">
40
    <proof prover="4" timelimit="5"><result status="valid" time="0.02" steps="6"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
41
    </goal>
42
    <goal name="WP_parameter push.2.1.4" expl="4. VC for push">
43
    <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="6"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
44
    </goal>
45
    <goal name="WP_parameter push.2.1.5" expl="5. VC for push">
46
    <proof prover="4" memlimit="0"><result status="valid" time="0.03" steps="18"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
47
    </goal>
48
    <goal name="WP_parameter push.2.1.6" expl="6. VC for push">
49
    <proof prover="4" timelimit="5"><result status="valid" time="0.16" steps="215"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
50
    </goal>
51
    <goal name="WP_parameter push.2.1.7" expl="7. VC for push">
52
    <proof prover="4"><result status="valid" time="0.08" steps="87"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
53 54
    </goal>
   </transf>
55
   </goal>
MARCHE Claude's avatar
MARCHE Claude committed
56 57
  </transf>
  </goal>
58
  <goal name="WP_parameter push.3" expl="3. type invariant">
59
  <proof prover="4" timelimit="5"><result status="valid" time="0.01" steps="9"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
60
  </goal>
61
  <goal name="WP_parameter push.4" expl="4. postcondition">
62
  <proof prover="4" timelimit="30"><result status="valid" time="0.02" steps="12"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
63
  </goal>
64
  <goal name="WP_parameter push.5" expl="5. postcondition">
65
  <proof prover="4" timelimit="30"><result status="valid" time="0.01" steps="12"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
66 67 68
  </goal>
 </transf>
 </goal>
69 70 71
 <goal name="WP_parameter head" expl="VC for head">
 <transf name="split_goal_wp">
  <goal name="WP_parameter head.1" expl="1. index in array bounds">
72
  <proof prover="4" memlimit="0"><result status="valid" time="0.02" steps="7"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
73
  </goal>
74
  <goal name="WP_parameter head.2" expl="2. postcondition">
75
  <proof prover="0" edited="vstte12_ring_buffer_2_RingBuffer_WP_parameter_head_1.v"><result status="valid" time="1.40"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
76 77 78
  </goal>
 </transf>
 </goal>
79 80 81
 <goal name="WP_parameter pop" expl="VC for pop">
 <transf name="split_goal_wp">
  <goal name="WP_parameter pop.1" expl="1. unreachable point">
82
  <proof prover="4" memlimit="0"><result status="valid" time="0.00" steps="10"/></proof>
Andrei Paskevich's avatar
Andrei Paskevich committed
83
  </goal>
84
  <goal name="WP_parameter pop.2" expl="2. index in array bounds">
85
  <proof prover="4" memlimit="0"><result status="valid" time="0.02" steps="9"/></proof>
Andrei Paskevich's avatar
Andrei Paskevich committed
86
  </goal>
87 88 89
  <goal name="WP_parameter pop.3" expl="3. type invariant">
  <transf name="split_goal_wp">
   <goal name="WP_parameter pop.3.1" expl="1. VC for pop">
90
   <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="13"/></proof>
91
   </goal>
92
   <goal name="WP_parameter pop.3.2" expl="2. VC for pop">
93
   <proof prover="4" timelimit="5"><result status="valid" time="0.02" steps="13"/></proof>
94
   </goal>
95
   <goal name="WP_parameter pop.3.3" expl="3. VC for pop">
96
   <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="13"/></proof>
97
   </goal>
98
   <goal name="WP_parameter pop.3.4" expl="4. VC for pop">
Andrei Paskevich's avatar
Andrei Paskevich committed
99
   <proof prover="1" memlimit="1000"><result status="valid" time="0.02"/></proof>
100
   <proof prover="4" timelimit="5"><result status="valid" time="0.02" steps="13"/></proof>
101
   </goal>
102
   <goal name="WP_parameter pop.3.5" expl="5. VC for pop">
103
   <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="18"/></proof>
104
   </goal>
105
   <goal name="WP_parameter pop.3.6" expl="6. VC for pop">
Andrei Paskevich's avatar
Andrei Paskevich committed
106
   <proof prover="1" memlimit="1000"><result status="valid" time="0.06"/></proof>
107
   </goal>
108
   <goal name="WP_parameter pop.3.7" expl="7. VC for pop">
109
   <proof prover="4" timelimit="5"><result status="valid" time="0.02" steps="15"/></proof>
110
   </goal>
MARCHE Claude's avatar
MARCHE Claude committed
111 112
  </transf>
  </goal>
113
  <goal name="WP_parameter pop.4" expl="4. postcondition">
114
  <proof prover="4" timelimit="30"><result status="valid" time="0.01" steps="18"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
115
  </goal>
116 117 118
  <goal name="WP_parameter pop.5" expl="5. postcondition">
  <transf name="split_goal_wp">
   <goal name="WP_parameter pop.5.1" expl="1. VC for pop">
119
   <proof prover="4" timelimit="5"><result status="valid" time="0.01" steps="19"/></proof>
120
   </goal>
121
   <goal name="WP_parameter pop.5.2" expl="2. VC for pop">
Andrei Paskevich's avatar
Andrei Paskevich committed
122
   <proof prover="1" memlimit="1000"><result status="valid" time="0.25"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
123
   </goal>
124
   <goal name="WP_parameter pop.5.3" expl="3. VC for pop">
125
   <proof prover="4" timelimit="5"><result status="valid" time="0.00" steps="25"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
126 127 128
   </goal>
  </transf>
  </goal>
129 130 131
  <goal name="WP_parameter pop.6" expl="6. type invariant">
  <transf name="split_goal_wp">
   <goal name="WP_parameter pop.6.1" expl="1. VC for pop">
132
   <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="12"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
133
   </goal>
134
   <goal name="WP_parameter pop.6.2" expl="2. VC for pop">
135
   <proof prover="4" timelimit="5"><result status="valid" time="0.01" steps="12"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
136
   </goal>
137
   <goal name="WP_parameter pop.6.3" expl="3. VC for pop">
138
   <proof prover="4" memlimit="0"><result status="valid" time="0.02" steps="12"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
139
   </goal>
140
   <goal name="WP_parameter pop.6.4" expl="4. VC for pop">
Andrei Paskevich's avatar
Andrei Paskevich committed
141
   <proof prover="1" memlimit="1000"><result status="valid" time="0.02"/></proof>
142
   <proof prover="4" timelimit="5"><result status="valid" time="0.01" steps="12"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
143
   </goal>
144
   <goal name="WP_parameter pop.6.5" expl="5. VC for pop">
145
   <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="17"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
146
   </goal>
147
   <goal name="WP_parameter pop.6.6" expl="6. VC for pop">
Andrei Paskevich's avatar
Andrei Paskevich committed
148
   <proof prover="1" memlimit="1000"><result status="valid" time="0.09"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
149
   </goal>
150 151
   <goal name="WP_parameter pop.6.7" expl="7. VC for pop">
   <metas>
Andrei Paskevich's avatar
Andrei Paskevich committed
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
    <ts_pos name="real" arity="0" id="2"
     ip_theory="BuiltIn">
     <ip_library name="why3"/>
     <ip_library name="BuiltIn"/>
     <ip_qualid name="real"/>
    </ts_pos>
    <ts_pos name="bool" arity="0" id="3"
     ip_theory="Bool">
     <ip_library name="why3"/>
     <ip_library name="Bool"/>
     <ip_qualid name="bool"/>
    </ts_pos>
    <ts_pos name="tuple0" arity="0" id="20"
     ip_theory="Tuple0">
     <ip_library name="why3"/>
     <ip_library name="Tuple0"/>
     <ip_qualid name="tuple0"/>
    </ts_pos>
    <ts_pos name="unit" arity="0" id="21"
     ip_theory="Unit">
     <ip_library name="why3"/>
     <ip_library name="Unit"/>
     <ip_qualid name="unit"/>
    </ts_pos>
176
    <ts_pos name="&apos;mark" arity="0" id="64"
Andrei Paskevich's avatar
Andrei Paskevich committed
177 178 179 180 181
     ip_theory="Mark">
     <ip_library name="why3"/>
     <ip_library name="Mark"/>
     <ip_qualid name="&apos;mark"/>
    </ts_pos>
MARCHE Claude's avatar
MARCHE Claude committed
182
    <ts_pos name="array" arity="1" id="4379"
Andrei Paskevich's avatar
Andrei Paskevich committed
183 184 185 186
     ip_theory="Array">
     <ip_library name="array"/>
     <ip_qualid name="array"/>
    </ts_pos>
MARCHE Claude's avatar
MARCHE Claude committed
187
    <ts_pos name="buffer" arity="1" id="5104"
Andrei Paskevich's avatar
Andrei Paskevich committed
188 189 190 191 192 193 194 195 196
     ip_theory="RingBuffer">
     <ip_qualid name="buffer"/>
    </ts_pos>
    <ls_pos name="infix =" id="10"
     ip_theory="BuiltIn">
     <ip_library name="why3"/>
     <ip_library name="BuiltIn"/>
     <ip_qualid name="infix ="/>
    </ls_pos>
197
    <ls_pos name="zero" id="295"
Andrei Paskevich's avatar
Andrei Paskevich committed
198 199 200 201
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="zero"/>
    </ls_pos>
202
    <ls_pos name="one" id="296"
Andrei Paskevich's avatar
Andrei Paskevich committed
203 204 205 206
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="one"/>
    </ls_pos>
207
    <ls_pos name="infix &lt;" id="297"
Andrei Paskevich's avatar
Andrei Paskevich committed
208 209 210 211
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="infix &lt;"/>
    </ls_pos>
212
    <ls_pos name="infix +" id="1466"
Andrei Paskevich's avatar
Andrei Paskevich committed
213 214 215 216
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="infix +"/>
    </ls_pos>
217
    <ls_pos name="prefix -" id="1467"
Andrei Paskevich's avatar
Andrei Paskevich committed
218 219 220 221
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="prefix -"/>
    </ls_pos>
222
    <ls_pos name="infix *" id="1468"
Andrei Paskevich's avatar
Andrei Paskevich committed
223 224 225 226
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="infix *"/>
    </ls_pos>
227
    <ls_pos name="mem" id="2350"
Andrei Paskevich's avatar
Andrei Paskevich committed
228 229 230 231
     ip_theory="Mem">
     <ip_library name="list"/>
     <ip_qualid name="mem"/>
    </ls_pos>
232
    <ls_pos name="get" id="3000"
Andrei Paskevich's avatar
Andrei Paskevich committed
233 234 235 236
     ip_theory="Map">
     <ip_library name="map"/>
     <ip_qualid name="get"/>
    </ls_pos>
237
    <ls_pos name="set" id="3003"
Andrei Paskevich's avatar
Andrei Paskevich committed
238 239 240 241
     ip_theory="Map">
     <ip_library name="map"/>
     <ip_qualid name="set"/>
    </ls_pos>
242
    <ls_pos name="mixfix []" id="3010"
Andrei Paskevich's avatar
Andrei Paskevich committed
243 244 245 246
     ip_theory="Map">
     <ip_library name="map"/>
     <ip_qualid name="mixfix []"/>
    </ls_pos>
247
    <ls_pos name="mixfix [&lt;-]" id="3023"
Andrei Paskevich's avatar
Andrei Paskevich committed
248 249 250 251
     ip_theory="Map">
     <ip_library name="map"/>
     <ip_qualid name="mixfix [&lt;-]"/>
    </ls_pos>
MARCHE Claude's avatar
MARCHE Claude committed
252
    <ls_pos name="infix ++" id="3708"
Andrei Paskevich's avatar
Andrei Paskevich committed
253 254 255 256
     ip_theory="Append">
     <ip_library name="list"/>
     <ip_qualid name="infix ++"/>
    </ls_pos>
MARCHE Claude's avatar
MARCHE Claude committed
257
    <ls_pos name="get" id="4387"
Andrei Paskevich's avatar
Andrei Paskevich committed
258 259 260 261
     ip_theory="Array">
     <ip_library name="array"/>
     <ip_qualid name="get"/>
    </ls_pos>
MARCHE Claude's avatar
MARCHE Claude committed
262
    <ls_pos name="set" id="4402"
Andrei Paskevich's avatar
Andrei Paskevich committed
263 264 265 266
     ip_theory="Array">
     <ip_library name="array"/>
     <ip_qualid name="set"/>
    </ls_pos>
MARCHE Claude's avatar
MARCHE Claude committed
267
    <ls_pos name="mixfix []" id="4427"
Andrei Paskevich's avatar
Andrei Paskevich committed
268 269 270 271
     ip_theory="Array">
     <ip_library name="array"/>
     <ip_qualid name="mixfix []"/>
    </ls_pos>
MARCHE Claude's avatar
MARCHE Claude committed
272
    <ls_pos name="mixfix [&lt;-]" id="4444"
Andrei Paskevich's avatar
Andrei Paskevich committed
273 274 275 276
     ip_theory="Array">
     <ip_library name="array"/>
     <ip_qualid name="mixfix [&lt;-]"/>
    </ls_pos>
MARCHE Claude's avatar
MARCHE Claude committed
277
    <ls_pos name="size" id="5118"
Andrei Paskevich's avatar
Andrei Paskevich committed
278 279 280
     ip_theory="RingBuffer">
     <ip_qualid name="size"/>
    </ls_pos>
MARCHE Claude's avatar
MARCHE Claude committed
281
    <ls_pos name="length" id="5127"
Andrei Paskevich's avatar
Andrei Paskevich committed
282 283 284
     ip_theory="RingBuffer">
     <ip_qualid name="length"/>
    </ls_pos>
285
    <pr_pos name="Assoc" id="1469"
Andrei Paskevich's avatar
Andrei Paskevich committed
286 287 288 289 290
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="CommutativeGroup"/>
     <ip_qualid name="Assoc"/>
    </pr_pos>
291
    <pr_pos name="Unit_def_l" id="1476"
Andrei Paskevich's avatar
Andrei Paskevich committed
292 293 294 295 296
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="CommutativeGroup"/>
     <ip_qualid name="Unit_def_l"/>
    </pr_pos>
297
    <pr_pos name="Unit_def_r" id="1479"
Andrei Paskevich's avatar
Andrei Paskevich committed
298 299 300 301 302
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="CommutativeGroup"/>
     <ip_qualid name="Unit_def_r"/>
    </pr_pos>
303
    <pr_pos name="Inv_def_l" id="1482"
Andrei Paskevich's avatar
Andrei Paskevich committed
304 305 306 307 308
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="CommutativeGroup"/>
     <ip_qualid name="Inv_def_l"/>
    </pr_pos>
309
    <pr_pos name="Inv_def_r" id="1485"
Andrei Paskevich's avatar
Andrei Paskevich committed
310 311 312 313 314
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="CommutativeGroup"/>
     <ip_qualid name="Inv_def_r"/>
    </pr_pos>
315
    <pr_pos name="Comm" id="1488"
Andrei Paskevich's avatar
Andrei Paskevich committed
316 317 318 319 320 321
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="CommutativeGroup"/>
     <ip_qualid name="Comm"/>
     <ip_qualid name="Comm"/>
    </pr_pos>
322
    <pr_pos name="Assoc" id="1493"
Andrei Paskevich's avatar
Andrei Paskevich committed
323 324 325 326 327
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="Assoc"/>
     <ip_qualid name="Assoc"/>
    </pr_pos>
328
    <pr_pos name="Mul_distr_l" id="1500"
Andrei Paskevich's avatar
Andrei Paskevich committed
329 330 331 332
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="Mul_distr_l"/>
    </pr_pos>
333
    <pr_pos name="Mul_distr_r" id="1507"
Andrei Paskevich's avatar
Andrei Paskevich committed
334 335 336 337
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="Mul_distr_r"/>
    </pr_pos>
338
    <pr_pos name="Comm" id="1525"
Andrei Paskevich's avatar
Andrei Paskevich committed
339 340 341 342 343
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="Comm"/>
     <ip_qualid name="Comm"/>
    </pr_pos>
344
    <pr_pos name="Unitary" id="1530"
Andrei Paskevich's avatar
Andrei Paskevich committed
345 346 347 348
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="Unitary"/>
    </pr_pos>
349
    <pr_pos name="NonTrivialRing" id="1533"
Andrei Paskevich's avatar
Andrei Paskevich committed
350 351 352 353
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="NonTrivialRing"/>
    </pr_pos>
354
    <pr_pos name="Refl" id="1545"
Andrei Paskevich's avatar
Andrei Paskevich committed
355 356 357 358
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="Refl"/>
    </pr_pos>
359
    <pr_pos name="Trans" id="1548"
Andrei Paskevich's avatar
Andrei Paskevich committed
360 361 362 363
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="Trans"/>
    </pr_pos>
364
    <pr_pos name="Antisymm" id="1555"
Andrei Paskevich's avatar
Andrei Paskevich committed
365 366 367 368
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="Antisymm"/>
    </pr_pos>
369
    <pr_pos name="Total" id="1560"
Andrei Paskevich's avatar
Andrei Paskevich committed
370 371 372 373
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="Total"/>
    </pr_pos>
374
    <pr_pos name="ZeroLessOne" id="1565"
Andrei Paskevich's avatar
Andrei Paskevich committed
375 376 377 378
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="ZeroLessOne"/>
    </pr_pos>
379
    <pr_pos name="CompatOrderAdd" id="1566"
Andrei Paskevich's avatar
Andrei Paskevich committed
380 381 382 383
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="CompatOrderAdd"/>
    </pr_pos>
384
    <pr_pos name="CompatOrderMult" id="1573"
Andrei Paskevich's avatar
Andrei Paskevich committed
385 386 387 388
     ip_theory="Int">
     <ip_library name="int"/>
     <ip_qualid name="CompatOrderMult"/>
    </pr_pos>
389
    <pr_pos name="Length_nonnegative" id="2343"
Andrei Paskevich's avatar
Andrei Paskevich committed
390 391 392 393
     ip_theory="Length">
     <ip_library name="list"/>
     <ip_qualid name="Length_nonnegative"/>
    </pr_pos>
394
    <pr_pos name="Length_nil" id="2346"
Andrei Paskevich's avatar
Andrei Paskevich committed
395 396 397 398
     ip_theory="Length">
     <ip_library name="list"/>
     <ip_qualid name="Length_nil"/>
    </pr_pos>
399
    <pr_pos name="Select_eq" id="3036"
Andrei Paskevich's avatar
Andrei Paskevich committed
400 401 402 403
     ip_theory="Map">
     <ip_library name="map"/>
     <ip_qualid name="Select_eq"/>
    </pr_pos>
404
    <pr_pos name="Select_neq" id="3045"
Andrei Paskevich's avatar
Andrei Paskevich committed
405 406 407 408
     ip_theory="Map">
     <ip_library name="map"/>
     <ip_qualid name="Select_neq"/>
    </pr_pos>
MARCHE Claude's avatar
MARCHE Claude committed
409
    <pr_pos name="nth_none_1" id="3634"
Andrei Paskevich's avatar
Andrei Paskevich committed
410 411 412 413
     ip_theory="NthLength">
     <ip_library name="list"/>
     <ip_qualid name="nth_none_1"/>
    </pr_pos>
MARCHE Claude's avatar
MARCHE Claude committed
414
    <pr_pos name="nth_none_2" id="3639"
Andrei Paskevich's avatar
Andrei Paskevich committed
415 416 417 418
     ip_theory="NthLength">
     <ip_library name="list"/>
     <ip_qualid name="nth_none_2"/>
    </pr_pos>
MARCHE Claude's avatar
MARCHE Claude committed
419
    <pr_pos name="Append_assoc" id="3725"
Andrei Paskevich's avatar
Andrei Paskevich committed
420 421 422 423
     ip_theory="Append">
     <ip_library name="list"/>
     <ip_qualid name="Append_assoc"/>
    </pr_pos>
MARCHE Claude's avatar
MARCHE Claude committed
424
    <pr_pos name="Append_l_nil" id="3732"
Andrei Paskevich's avatar
Andrei Paskevich committed
425 426 427 428
     ip_theory="Append">
     <ip_library name="list"/>
     <ip_qualid name="Append_l_nil"/>
    </pr_pos>
MARCHE Claude's avatar
MARCHE Claude committed
429
    <pr_pos name="Append_length" id="3735"
Andrei Paskevich's avatar
Andrei Paskevich committed
430 431 432 433
     ip_theory="Append">
     <ip_library name="list"/>
     <ip_qualid name="Append_length"/>
    </pr_pos>
MARCHE Claude's avatar
MARCHE Claude committed
434
    <pr_pos name="mem_append" id="3740"
Andrei Paskevich's avatar
Andrei Paskevich committed
435 436 437 438
     ip_theory="Append">
     <ip_library name="list"/>
     <ip_qualid name="mem_append"/>
    </pr_pos>
MARCHE Claude's avatar
MARCHE Claude committed
439
    <pr_pos name="mem_decomp" id="3747"
Andrei Paskevich's avatar
Andrei Paskevich committed
440 441 442 443
     ip_theory="Append">
     <ip_library name="list"/>
     <ip_qualid name="mem_decomp"/>
    </pr_pos>
MARCHE Claude's avatar
MARCHE Claude committed
444
    <pr_pos name="nth_append_1" id="3757"
Andrei Paskevich's avatar
Andrei Paskevich committed
445 446 447 448
     ip_theory="NthLengthAppend">
     <ip_library name="list"/>
     <ip_qualid name="nth_append_1"/>
    </pr_pos>
MARCHE Claude's avatar
MARCHE Claude committed
449
    <pr_pos name="nth_append_2" id="3764"
Andrei Paskevich's avatar
Andrei Paskevich committed
450 451 452 453 454 455 456 457
     ip_theory="NthLengthAppend">
     <ip_library name="list"/>
     <ip_qualid name="nth_append_2"/>
    </pr_pos>
    <meta name="remove_logic">
     <meta_arg_ls id="10"/>
    </meta>
    <meta name="remove_logic">
458
     <meta_arg_ls id="295"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
459 460
    </meta>
    <meta name="remove_logic">
461
     <meta_arg_ls id="296"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
462 463
    </meta>
    <meta name="remove_logic">
464
     <meta_arg_ls id="297"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
465 466
    </meta>
    <meta name="remove_logic">
467
     <meta_arg_ls id="1466"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
468 469
    </meta>
    <meta name="remove_logic">
470
     <meta_arg_ls id="1467"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
471 472
    </meta>
    <meta name="remove_logic">
473
     <meta_arg_ls id="1468"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
474 475
    </meta>
    <meta name="remove_logic">
476
     <meta_arg_ls id="2350"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
477 478
    </meta>
    <meta name="remove_logic">
479
     <meta_arg_ls id="3000"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
480 481
    </meta>
    <meta name="remove_logic">
482
     <meta_arg_ls id="3003"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
483 484
    </meta>
    <meta name="remove_logic">
485
     <meta_arg_ls id="3010"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
486 487
    </meta>
    <meta name="remove_logic">
488
     <meta_arg_ls id="3023"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
489 490
    </meta>
    <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
491
     <meta_arg_ls id="3708"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
492 493
    </meta>
    <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
494
     <meta_arg_ls id="4387"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
495 496
    </meta>
    <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
497
     <meta_arg_ls id="4402"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
498 499
    </meta>
    <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
500
     <meta_arg_ls id="4427"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
501 502
    </meta>
    <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
503
     <meta_arg_ls id="4444"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
504 505
    </meta>
    <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
506
     <meta_arg_ls id="5118"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
507 508
    </meta>
    <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
509
     <meta_arg_ls id="5127"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
510 511
    </meta>
    <meta name="remove_prop">
512
     <meta_arg_pr id="1469"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
513 514
    </meta>
    <meta name="remove_prop">
515
     <meta_arg_pr id="1476"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
516 517
    </meta>
    <meta name="remove_prop">
518
     <meta_arg_pr id="1479"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
519 520
    </meta>
    <meta name="remove_prop">
521
     <meta_arg_pr id="1482"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
522 523
    </meta>
    <meta name="remove_prop">
524
     <meta_arg_pr id="1485"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
525 526
    </meta>
    <meta name="remove_prop">
527
     <meta_arg_pr id="1488"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
528 529
    </meta>
    <meta name="remove_prop">
530
     <meta_arg_pr id="1493"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
531 532
    </meta>
    <meta name="remove_prop">
533
     <meta_arg_pr id="1500"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
534 535
    </meta>
    <meta name="remove_prop">
536
     <meta_arg_pr id="1507"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
537 538
    </meta>
    <meta name="remove_prop">
539
     <meta_arg_pr id="1525"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
540 541
    </meta>
    <meta name="remove_prop">
542
     <meta_arg_pr id="1530"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
543 544
    </meta>
    <meta name="remove_prop">
545
     <meta_arg_pr id="1533"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
546 547
    </meta>
    <meta name="remove_prop">
548
     <meta_arg_pr id="1545"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
549 550
    </meta>
    <meta name="remove_prop">
551
     <meta_arg_pr id="1548"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
552 553
    </meta>
    <meta name="remove_prop">
554
     <meta_arg_pr id="1555"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
555 556
    </meta>
    <meta name="remove_prop">
557
     <meta_arg_pr id="1560"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
558 559
    </meta>
    <meta name="remove_prop">
560
     <meta_arg_pr id="1565"/>
MARCHE Claude's avatar
MARCHE Claude committed
561 562
    </meta>
    <meta name="remove_prop">
563
     <meta_arg_pr id="1566"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
564 565
    </meta>
    <meta name="remove_prop">
566
     <meta_arg_pr id="1573"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
567 568
    </meta>
    <meta name="remove_prop">
569
     <meta_arg_pr id="2343"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
570 571
    </meta>
    <meta name="remove_prop">
572
     <meta_arg_pr id="2346"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
573 574
    </meta>
    <meta name="remove_prop">
575
     <meta_arg_pr id="3036"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
576 577
    </meta>
    <meta name="remove_prop">
578
     <meta_arg_pr id="3045"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
579 580
    </meta>
    <meta name="remove_prop">
MARCHE Claude's avatar
MARCHE Claude committed
581
     <meta_arg_pr id="3634"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
582 583
    </meta>
    <meta name="remove_prop">
MARCHE Claude's avatar
MARCHE Claude committed
584
     <meta_arg_pr id="3639"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
585 586
    </meta>
    <meta name="remove_prop">
MARCHE Claude's avatar
MARCHE Claude committed
587
     <meta_arg_pr id="3725"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
588 589
    </meta>
    <meta name="remove_prop">
MARCHE Claude's avatar
MARCHE Claude committed
590
     <meta_arg_pr id="3732"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
591 592
    </meta>
    <meta name="remove_prop">
MARCHE Claude's avatar
MARCHE Claude committed
593
     <meta_arg_pr id="3735"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
594 595
    </meta>
    <meta name="remove_prop">
MARCHE Claude's avatar
MARCHE Claude committed
596
     <meta_arg_pr id="3740"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
597 598
    </meta>
    <meta name="remove_prop">
MARCHE Claude's avatar
MARCHE Claude committed
599
     <meta_arg_pr id="3747"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
600
    </meta>
601
    <meta name="remove_prop">
MARCHE Claude's avatar
MARCHE Claude committed
602
     <meta_arg_pr id="3757"/>
603 604
    </meta>
    <meta name="remove_prop">
MARCHE Claude's avatar
MARCHE Claude committed
605
     <meta_arg_pr id="3764"/>
606
    </meta>
Andrei Paskevich's avatar
Andrei Paskevich committed
607 608 609 610 611 612 613 614 615 616 617 618 619
    <meta name="remove_type">
     <meta_arg_ts id="2"/>
    </meta>
    <meta name="remove_type">
     <meta_arg_ts id="3"/>
    </meta>
    <meta name="remove_type">
     <meta_arg_ts id="20"/>
    </meta>
    <meta name="remove_type">
     <meta_arg_ts id="21"/>
    </meta>
    <meta name="remove_type">
620
     <meta_arg_ts id="64"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
621 622
    </meta>
    <meta name="remove_type">
MARCHE Claude's avatar
MARCHE Claude committed
623
     <meta_arg_ts id="4379"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
624 625
    </meta>
    <meta name="remove_type">
MARCHE Claude's avatar
MARCHE Claude committed
626
     <meta_arg_ts id="5104"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
627
    </meta>
628 629 630
    <goal name="WP_parameter pop.6.7" expl="7. VC for pop">
    <transf name="eliminate_builtin">
     <goal name="WP_parameter pop.6.7.1" expl="1. VC for pop">
Andrei Paskevich's avatar
Andrei Paskevich committed
631 632 633 634 635 636
     <proof prover="1" memlimit="1000"><result status="valid" time="0.07"/></proof>
     <proof prover="3"><result status="valid" time="0.37"/></proof>
     </goal>
    </transf>
    </goal>
   </metas>
MARCHE Claude's avatar
MARCHE Claude committed
637 638 639
   </goal>
  </transf>
  </goal>
640
  <goal name="WP_parameter pop.7" expl="7. postcondition">
641
  <proof prover="4" timelimit="30"><result status="valid" time="0.01" steps="17"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
642
  </goal>
643 644 645
  <goal name="WP_parameter pop.8" expl="8. postcondition">
  <transf name="split_goal_wp">
   <goal name="WP_parameter pop.8.1" expl="1. VC for pop">
646
   <proof prover="4" timelimit="5"><result status="valid" time="0.01" steps="18"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
647
   </goal>
648
   <goal name="WP_parameter pop.8.2" expl="2. VC for pop">
Andrei Paskevich's avatar
Andrei Paskevich committed
649
   <proof prover="2"><result status="valid" time="2.33"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
650
   </goal>
651
   <goal name="WP_parameter pop.8.3" expl="3. VC for pop">
652
   <proof prover="4" timelimit="5"><result status="valid" time="0.02" steps="24"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
653 654 655 656 657 658
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
</theory>
MARCHE Claude's avatar
MARCHE Claude committed
659
<theory name="Harness" sum="fac783cd2399846074b1b679910d8c48">
660 661 662
 <goal name="WP_parameter harness" expl="VC for harness">
 <transf name="split_goal_wp">
  <goal name="WP_parameter harness.1" expl="1. precondition">
663
  <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="0"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
664
  </goal>
665
  <goal name="WP_parameter harness.2" expl="2. precondition">
666
  <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="11"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
667
  </goal>
668
  <goal name="WP_parameter harness.3" expl="3. precondition">
Andrei Paskevich's avatar
Andrei Paskevich committed
669
  <proof prover="1" timelimit="10"><result status="valid" time="0.02"/></proof>
670
  <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="17"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
671
  </goal>
672
  <goal name="WP_parameter harness.4" expl="4. precondition">
673
  <proof prover="4" memlimit="0"><result status="valid" time="0.02" steps="25"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
674
  </goal>
675
  <goal name="WP_parameter harness.5" expl="5. precondition">
676
  <proof prover="4" timelimit="15" memlimit="0"><result status="valid" time="0.02" steps="27"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
677
  </goal>
678
  <goal name="WP_parameter harness.6" expl="6. assertion">
679
  <proof prover="4" memlimit="0"><result status="valid" time="0.18" steps="147"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
680
  </goal>
681
  <goal name="WP_parameter harness.7" expl="7. precondition">
682
  <proof prover="4" memlimit="0"><result status="valid" time="0.03" steps="38"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
683
  </goal>
684
  <goal name="WP_parameter harness.8" expl="8. assertion">
685
  <proof prover="4" timelimit="13" memlimit="0"><result status="valid" time="0.25" steps="173"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
686
  </goal>
687
  <goal name="WP_parameter harness.9" expl="9. precondition">
688
  <proof prover="4" memlimit="0"><result status="valid" time="0.04" steps="49"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
689
  </goal>
690
  <goal name="WP_parameter harness.10" expl="10. assertion">
691
  <proof prover="4" timelimit="14" memlimit="0"><result status="valid" time="0.30" steps="193"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
692 693 694
  </goal>
 </transf>
 </goal>
695 696 697
 <goal name="WP_parameter harness2" expl="VC for harness2">
 <transf name="split_goal_wp">
  <goal name="WP_parameter harness2.1" expl="1. precondition">
698
  <proof prover="4" memlimit="0"><result status="valid" time="0.00" steps="0"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
699
  </goal>
700
  <goal name="WP_parameter harness2.2" expl="2. precondition">
701
  <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="11"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
702
  </goal>
703
  <goal name="WP_parameter harness2.3" expl="3. assertion">
704
  <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="17"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
705
  </goal>
706
  <goal name="WP_parameter harness2.4" expl="4. precondition">
707
  <proof prover="4" memlimit="0"><result status="valid" time="0.01" steps="17"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
708
  </goal>
709
  <goal name="WP_parameter harness2.5" expl="5. assertion">
710
  <proof prover="4" memlimit="0"><result status="valid" time="0.08" steps="76"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
711
  </goal>
712
  <goal name="WP_parameter harness2.6" expl="6. precondition">
713
  <proof prover="4" memlimit="0"><result status="valid" time="0.02" steps="25"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
714
  </goal>
715
  <goal name="WP_parameter harness2.7" expl="7. assertion">
Andrei Paskevich's avatar
Andrei Paskevich committed
716
  <proof prover="1" timelimit="10" memlimit="1000"><result status="valid" time="0.04"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
717
  </goal>
718
  <goal name="WP_parameter harness2.8" expl="8. precondition">
719
  <proof prover="4" memlimit="0"><result status="valid" time="0.00" steps="30"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
720
  </goal>
721
  <goal name="WP_parameter harness2.9" expl="9. assertion">
722
  <proof prover="4" memlimit="0"><result status="valid" time="0.04" steps="71"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
723
  </goal>
724
  <goal name="WP_parameter harness2.10" expl="10. assertion">
Andrei Paskevich's avatar
Andrei Paskevich committed
725
  <proof prover="1" timelimit="10"><result status="valid" time="0.06"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
726
  </goal>
727
  <goal name="WP_parameter harness2.11" expl="11. precondition">
728
  <proof prover="4" memlimit="0"><result status="valid" time="0.02" steps="42"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
729
  </goal>
730
  <goal name="WP_parameter harness2.12" expl="12. assertion">
Andrei Paskevich's avatar
Andrei Paskevich committed
731
  <proof prover="1" timelimit="10" memlimit="1000"><result status="valid" time="0.06"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
732
  </goal>
733
  <goal name="WP_parameter harness2.13" expl="13. precondition">
734
  <proof prover="4" memlimit="0"><result status="valid" time="0.03" steps="49"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
735
  </goal>
736
  <goal name="WP_parameter harness2.14" expl="14. assertion">
Andrei Paskevich's avatar
Andrei Paskevich committed
737
  <proof prover="1" timelimit="10"><result status="valid" time="0.06"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
738
  </goal>