1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
3 "https://www.why3.org/why3session.dtd">
4 <why3session shape_version="6">
5 <prover id="0" name="Z3" version="4.11.2" timelimit="1" steplimit="0" memlimit="1000"/>
6 <prover id="1" name="CVC3" version="2.4.1" timelimit="5" steplimit="0" memlimit="1000"/>
7 <prover id="2" name="Alt-Ergo" version="2.2.0" timelimit="1" steplimit="0" memlimit="1000"/>
8 <prover id="3" name="CVC4" version="1.4" timelimit="5" steplimit="0" memlimit="1000"/>
9 <prover id="4" name="CVC4" version="1.6" timelimit="1" steplimit="0" memlimit="1000"/>
10 <prover id="6" name="CVC4" version="1.4" alternative="noBV" timelimit="5" steplimit="0" memlimit="1000"/>
11 <prover id="7" name="Eprover" version="1.8-001" timelimit="5" steplimit="0" memlimit="1000"/>
12 <prover id="9" name="CVC4" version="1.5" timelimit="1" steplimit="0" memlimit="1000"/>
13 <prover id="10" name="Alt-Ergo" version="2.0.0" timelimit="5" steplimit="0" memlimit="1000"/>
14 <prover id="11" name="CVC4" version="1.7" timelimit="10" steplimit="0" memlimit="4000"/>
15 <file format="whyml" proved="true">
16 <path name=".."/><path name="queens_bv.mlw"/>
17 <theory name="Solution" proved="true">
18 <goal name="partial_solution_eq_prefix" proved="true">
19 <proof prover="10"><result status="valid" time="0.030000" steps="51"/></proof>
21 <goal name="no_duplicate" proved="true">
22 <proof prover="1"><result status="valid" time="0.020000"/></proof>
23 <proof prover="3"><result status="valid" time="0.030000"/></proof>
26 <theory name="BitsSpec" proved="true">
27 <goal name="t'vc" expl="VC for t" proved="true">
28 <proof prover="7"><result status="valid" time="0.030000"/></proof>
31 <theory name="Bits" proved="true">
32 <goal name="t'vc" expl="VC for t" proved="true">
33 <proof prover="7"><result status="valid" time="0.030000"/></proof>
35 <goal name="empty'vc" expl="VC for empty" proved="true">
36 <proof prover="10"><result status="valid" time="0.030000" steps="101"/></proof>
38 <goal name="is_empty'vc" expl="VC for is_empty" proved="true">
39 <transf name="split_goal_right" proved="true" >
40 <goal name="is_empty'vc.0" expl="assertion" proved="true">
41 <transf name="split_goal_right" proved="true" >
42 <goal name="is_empty'vc.0.0" expl="assertion" proved="true">
43 <proof prover="10" timelimit="1"><result status="valid" time="0.100000" steps="130"/></proof>
45 <goal name="is_empty'vc.0.1" expl="VC for is_empty" proved="true">
46 <proof prover="10" timelimit="1"><result status="valid" time="0.060000" steps="93"/></proof>
50 <goal name="is_empty'vc.1" expl="postcondition" proved="true">
51 <proof prover="10" timelimit="1"><result status="valid" time="0.050000" steps="80"/></proof>
55 <goal name="remove_singleton'vc" expl="VC for remove_singleton" proved="true">
56 <proof prover="10"><result status="valid" time="0.420000" steps="860"/></proof>
58 <goal name="add_singleton'vc" expl="VC for add_singleton" proved="true">
59 <proof prover="6"><result status="valid" time="0.080000"/></proof>
61 <goal name="mul2'vc" expl="VC for mul2" proved="true">
62 <transf name="split_goal_right" proved="true" >
63 <goal name="mul2'vc.0" expl="precondition" proved="true">
64 <proof prover="10" timelimit="1"><result status="valid" time="0.320000" steps="470"/></proof>
66 <goal name="mul2'vc.1" expl="postcondition" proved="true">
67 <transf name="split_goal_right" proved="true" >
68 <goal name="mul2'vc.1.0" expl="postcondition" proved="true">
69 <proof prover="10"><result status="valid" time="0.040000" steps="77"/></proof>
75 <goal name="div2'vc" expl="VC for div2" proved="true">
76 <proof prover="10"><result status="valid" time="0.140000" steps="215"/></proof>
78 <goal name="diff'vc" expl="VC for diff" proved="true">
79 <proof prover="10"><result status="valid" time="0.240000" steps="723"/></proof>
81 <goal name="rightmost_bit_trick'vc" expl="VC for rightmost_bit_trick" proved="true">
82 <transf name="split_goal_right" proved="true" >
83 <goal name="rightmost_bit_trick'vc.0" expl="assertion" proved="true">
84 <proof prover="10" timelimit="1"><result status="valid" time="0.240000" steps="455"/></proof>
86 <goal name="rightmost_bit_trick'vc.1" expl="assertion" proved="true">
87 <proof prover="6"><result status="valid" time="0.080000"/></proof>
89 <goal name="rightmost_bit_trick'vc.2" expl="assertion" proved="true">
90 <proof prover="0"><result status="valid" time="0.020000" steps="64142"/></proof>
92 <goal name="rightmost_bit_trick'vc.3" expl="assertion" proved="true">
93 <proof prover="10" timelimit="1"><result status="valid" time="0.050000" steps="157"/></proof>
95 <goal name="rightmost_bit_trick'vc.4" expl="assertion" proved="true">
96 <proof prover="0"><result status="valid" time="0.030000" steps="253035"/></proof>
98 <goal name="rightmost_bit_trick'vc.5" expl="assertion" proved="true">
99 <proof prover="0"><result status="valid" time="0.030000" steps="110258"/></proof>
101 <goal name="rightmost_bit_trick'vc.6" expl="precondition" proved="true">
102 <proof prover="10"><result status="valid" time="0.190000" steps="506"/></proof>
104 <goal name="rightmost_bit_trick'vc.7" expl="postcondition" proved="true">
105 <transf name="split_goal_right" proved="true" >
106 <goal name="rightmost_bit_trick'vc.7.0" expl="postcondition" proved="true">
107 <proof prover="10"><result status="valid" time="0.050000" steps="84"/></proof>
113 <goal name="below'vc" expl="VC for below" proved="true">
114 <proof prover="6"><result status="valid" time="0.060000"/></proof>
117 <theory name="NQueensBits" proved="true">
118 <goal name="t'vc" expl="VC for t" proved="true">
119 <transf name="split_goal_right" proved="true" >
120 <goal name="t'vc.0" expl="assertion" proved="true">
121 <proof prover="10" timelimit="10" memlimit="4000"><result status="valid" time="0.560000" steps="804"/></proof>
123 <goal name="t'vc.1" expl="loop invariant init" proved="true">
124 <proof prover="3"><result status="valid" time="0.415357"/></proof>
126 <goal name="t'vc.2" expl="loop invariant init" proved="true">
127 <proof prover="3"><result status="valid" time="0.030000"/></proof>
129 <goal name="t'vc.3" expl="loop invariant init" proved="true">
130 <proof prover="3"><result status="valid" time="0.100000"/></proof>
132 <goal name="t'vc.4" expl="loop invariant init" proved="true">
133 <proof prover="3"><result status="valid" time="0.040000"/></proof>
135 <goal name="t'vc.5" expl="loop invariant init" proved="true">
136 <proof prover="10"><result status="valid" time="0.030000" steps="87"/></proof>
138 <goal name="t'vc.6" expl="loop invariant init" proved="true">
139 <proof prover="3"><result status="valid" time="0.060000"/></proof>
141 <goal name="t'vc.7" expl="loop invariant init" proved="true">
142 <proof prover="3"><result status="valid" time="0.020000"/></proof>
144 <goal name="t'vc.8" expl="loop invariant init" proved="true">
145 <proof prover="3"><result status="valid" time="0.030000"/></proof>
147 <goal name="t'vc.9" expl="loop invariant init" proved="true">
148 <proof prover="3"><result status="valid" time="0.030000"/></proof>
150 <goal name="t'vc.10" expl="loop invariant init" proved="true">
151 <proof prover="3"><result status="valid" time="0.040000"/></proof>
153 <goal name="t'vc.11" expl="precondition" proved="true">
154 <proof prover="3"><result status="valid" time="0.030000"/></proof>
156 <goal name="t'vc.12" expl="assertion" proved="true">
157 <proof prover="3"><result status="valid" time="0.670000"/></proof>
159 <goal name="t'vc.13" expl="assertion" proved="true">
160 <proof prover="0"><result status="valid" time="0.030000" steps="113184"/></proof>
162 <goal name="t'vc.14" expl="assertion" proved="true">
163 <proof prover="3"><result status="valid" time="0.160000"/></proof>
165 <goal name="t'vc.15" expl="assertion" proved="true">
166 <proof prover="3"><result status="valid" time="0.070000"/></proof>
168 <goal name="t'vc.16" expl="assertion" proved="true">
169 <proof prover="3"><result status="valid" time="0.240000"/></proof>
171 <goal name="t'vc.17" expl="assertion" proved="true">
172 <proof prover="3"><result status="valid" time="0.820000"/></proof>
174 <goal name="t'vc.18" expl="precondition" proved="true">
175 <proof prover="3"><result status="valid" time="0.130000"/></proof>
177 <goal name="t'vc.19" expl="assertion" proved="true">
178 <transf name="split_goal_right" proved="true" >
179 <goal name="t'vc.19.0" expl="assertion" proved="true">
180 <proof prover="0"><result status="valid" time="0.856406" steps="1321931"/></proof>
182 <goal name="t'vc.19.1" expl="assertion" proved="true">
183 <proof prover="10" timelimit="10" memlimit="4000"><result status="valid" time="1.460000" steps="1503"/></proof>
187 <goal name="t'vc.20" expl="precondition" proved="true">
188 <proof prover="9"><result status="valid" time="0.728007" steps="99762"/></proof>
190 <goal name="t'vc.21" expl="assertion" proved="true">
191 <transf name="split_goal_right" proved="true" >
192 <goal name="t'vc.21.0" expl="assertion" proved="true">
193 <proof prover="10" timelimit="1"><result status="valid" time="0.280000" steps="479"/></proof>
195 <goal name="t'vc.21.1" expl="assertion" proved="true">
196 <proof prover="10" timelimit="10" memlimit="4000"><result status="valid" time="1.321147" steps="1122"/></proof>
200 <goal name="t'vc.22" expl="precondition" proved="true">
201 <proof prover="3"><result status="valid" time="0.190000"/></proof>
203 <goal name="t'vc.23" expl="precondition" proved="true">
204 <proof prover="3"><result status="valid" time="0.200000"/></proof>
206 <goal name="t'vc.24" expl="precondition" proved="true">
207 <proof prover="3"><result status="valid" time="0.200000"/></proof>
209 <goal name="t'vc.25" expl="precondition" proved="true">
210 <proof prover="3"><result status="valid" time="0.230000"/></proof>
212 <goal name="t'vc.26" expl="variant decrease" proved="true">
213 <proof prover="3"><result status="valid" time="0.220000"/></proof>
215 <goal name="t'vc.27" expl="precondition" proved="true">
216 <proof prover="3"><result status="valid" time="0.140000"/></proof>
218 <goal name="t'vc.28" expl="precondition" proved="true">
219 <proof prover="3"><result status="valid" time="0.110000"/></proof>
221 <goal name="t'vc.29" expl="precondition" proved="true">
222 <proof prover="3"><result status="valid" time="1.360000"/></proof>
224 <goal name="t'vc.30" expl="precondition" proved="true">
225 <proof prover="3"><result status="valid" time="0.060000"/></proof>
227 <goal name="t'vc.31" expl="precondition" proved="true">
228 <proof prover="3"><result status="valid" time="1.280000"/></proof>
230 <goal name="t'vc.32" expl="precondition" proved="true">
231 <proof prover="3" timelimit="30"><result status="valid" time="6.980000"/></proof>
233 <goal name="t'vc.33" expl="precondition" proved="true">
234 <proof prover="3"><result status="valid" time="1.440000"/></proof>
236 <goal name="t'vc.34" expl="precondition" proved="true">
237 <proof prover="3"><result status="valid" time="1.510000"/></proof>
239 <goal name="t'vc.35" expl="assertion" proved="true">
240 <transf name="split_all_full" proved="true" >
241 <goal name="t'vc.35.0" expl="assertion" proved="true">
242 <transf name="split_all_full" proved="true" >
243 <goal name="t'vc.35.0.0" expl="assertion" proved="true">
244 <proof prover="4" timelimit="10" memlimit="4000"><result status="valid" time="0.070000" steps="22776"/></proof>
246 <goal name="t'vc.35.0.1" expl="assertion" proved="true">
247 <transf name="split_vc" proved="true" >
248 <goal name="t'vc.35.0.1.0" expl="assertion" proved="true">
249 <proof prover="11"><result status="valid" time="3.765248" steps="481668"/></proof>
255 <goal name="t'vc.35.1" expl="assertion" proved="true">
256 <proof prover="4"><result status="valid" time="0.496036" steps="78230"/></proof>
258 <goal name="t'vc.35.2" expl="assertion" proved="true">
259 <proof prover="4"><result status="valid" time="0.100000" steps="30828"/></proof>
261 <goal name="t'vc.35.3" expl="assertion" proved="true">
262 <proof prover="0"><result status="valid" time="0.030000" steps="112105"/></proof>
264 <goal name="t'vc.35.4" expl="assertion" proved="true">
265 <proof prover="4"><result status="valid" time="0.220000" steps="45617"/></proof>
269 <goal name="t'vc.36" expl="precondition" proved="true">
270 <proof prover="3"><result status="valid" time="0.230000"/></proof>
272 <goal name="t'vc.37" expl="precondition" proved="true">
273 <proof prover="9"><result status="valid" time="0.354225" steps="67870"/></proof>
275 <goal name="t'vc.38" expl="loop variant decrease" proved="true">
276 <proof prover="3"><result status="valid" time="0.240000"/></proof>
278 <goal name="t'vc.39" expl="loop invariant preservation" proved="true">
279 <proof prover="3"><result status="valid" time="1.580000"/></proof>
281 <goal name="t'vc.40" expl="loop invariant preservation" proved="true">
282 <proof prover="3"><result status="valid" time="0.120000"/></proof>
284 <goal name="t'vc.41" expl="loop invariant preservation" proved="true">
285 <proof prover="3"><result status="valid" time="0.150000"/></proof>
287 <goal name="t'vc.42" expl="loop invariant preservation" proved="true">
288 <proof prover="3"><result status="valid" time="0.370000"/></proof>
290 <goal name="t'vc.43" expl="loop invariant preservation" proved="true">
291 <transf name="split_goal_right" proved="true" >
292 <goal name="t'vc.43.0" expl="loop invariant preservation" proved="true">
293 <proof prover="3" timelimit="60"><result status="valid" time="0.370000"/></proof>
294 <proof prover="6" timelimit="60"><result status="valid" time="0.250000"/></proof>
298 <goal name="t'vc.44" expl="loop invariant preservation" proved="true">
299 <proof prover="3"><result status="valid" time="0.420000"/></proof>
301 <goal name="t'vc.45" expl="loop invariant preservation" proved="true">
302 <transf name="split_goal_right" proved="true" >
303 <goal name="t'vc.45.0" expl="loop invariant preservation" proved="true">
304 <proof prover="10" timelimit="1"><result status="valid" time="0.080000" steps="197"/></proof>
306 <goal name="t'vc.45.1" expl="loop invariant preservation" proved="true">
307 <proof prover="4" timelimit="30"><result status="valid" time="8.548908" steps="662652"/></proof>
309 <goal name="t'vc.45.2" expl="loop invariant preservation" proved="true">
310 <proof prover="3" timelimit="1"><result status="valid" time="0.890000"/></proof>
312 <goal name="t'vc.45.3" expl="loop invariant preservation" proved="true">
313 <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="5.870861"/></proof>
317 <goal name="t'vc.46" expl="loop invariant preservation" proved="true">
318 <transf name="split_goal_right" proved="true" >
319 <goal name="t'vc.46.0" expl="loop invariant preservation" proved="true">
320 <proof prover="3"><result status="valid" time="1.140000"/></proof>
322 <goal name="t'vc.46.1" expl="loop invariant preservation" proved="true">
323 <proof prover="3"><result status="valid" time="0.120000"/></proof>
325 <goal name="t'vc.46.2" expl="loop invariant preservation" proved="true">
326 <transf name="introduce_premises" proved="true" >
327 <goal name="t'vc.46.2.0" expl="loop invariant preservation" proved="true">
328 <transf name="case" proved="true" arg1="(u[k] <= min1)">
329 <goal name="t'vc.46.2.0.0" expl="true case (loop invariant preservation)" proved="true">
330 <transf name="assert" proved="true" arg1="(eq_prefix col2 u k)">
331 <goal name="t'vc.46.2.0.0.0" expl="asserted formula" proved="true">
332 <proof prover="2"><result status="valid" time="0.170000" steps="661"/></proof>
334 <goal name="t'vc.46.2.0.0.1" expl="true case (loop invariant preservation)" proved="true">
335 <proof prover="2"><result status="valid" time="0.450000" steps="1259"/></proof>
339 <goal name="t'vc.46.2.0.1" expl="false case (loop invariant preservation)" proved="true">
340 <proof prover="3" timelimit="30"><result status="valid" time="1.282879"/></proof>
348 <goal name="t'vc.47" expl="loop invariant preservation" proved="true">
349 <proof prover="3"><result status="valid" time="0.210000"/></proof>
351 <goal name="t'vc.48" expl="loop invariant preservation" proved="true">
352 <proof prover="3"><result status="valid" time="0.190000"/></proof>
354 <goal name="t'vc.49" expl="assertion" proved="true">
355 <proof prover="3"><result status="valid" time="0.170000"/></proof>
357 <goal name="t'vc.50" expl="postcondition" proved="true">
358 <proof prover="3"><result status="valid" time="0.070000"/></proof>
360 <goal name="t'vc.51" expl="postcondition" proved="true">
361 <proof prover="3"><result status="valid" time="0.070000"/></proof>
363 <goal name="t'vc.52" expl="postcondition" proved="true">
364 <proof prover="3"><result status="valid" time="0.040000"/></proof>
366 <goal name="t'vc.53" expl="postcondition" proved="true">
367 <proof prover="3"><result status="valid" time="0.070000"/></proof>
369 <goal name="t'vc.54" expl="postcondition" proved="true">
370 <proof prover="10"><result status="valid" time="0.040000" steps="91"/></proof>
372 <goal name="t'vc.55" expl="postcondition" proved="true">
373 <proof prover="10"><result status="valid" time="0.040000" steps="91"/></proof>
375 <goal name="t'vc.56" expl="postcondition" proved="true">
376 <proof prover="3"><result status="valid" time="0.070000"/></proof>
378 <goal name="t'vc.57" expl="postcondition" proved="true">
379 <proof prover="3"><result status="valid" time="0.080000"/></proof>
381 <goal name="t'vc.58" expl="postcondition" proved="true">
382 <proof prover="0"><result status="valid" time="0.020000" steps="66129"/></proof>
384 <goal name="t'vc.59" expl="postcondition" proved="true">
385 <proof prover="0"><result status="valid" time="0.020000" steps="67817"/></proof>
387 <goal name="t'vc.60" expl="postcondition" proved="true">
388 <proof prover="3"><result status="valid" time="0.060000"/></proof>
390 <goal name="t'vc.61" expl="postcondition" proved="true">
391 <proof prover="3"><result status="valid" time="0.070000"/></proof>
395 <goal name="queens'vc" expl="VC for queens" proved="true">
396 <transf name="split_goal_right" proved="true" >
397 <goal name="queens'vc.0" expl="precondition" proved="true">
398 <proof prover="3"><result status="valid" time="0.040000"/></proof>
400 <goal name="queens'vc.1" expl="precondition" proved="true">
401 <proof prover="3"><result status="valid" time="0.100000"/></proof>
403 <goal name="queens'vc.2" expl="precondition" proved="true">
404 <proof prover="3"><result status="valid" time="0.100000"/></proof>
406 <goal name="queens'vc.3" expl="precondition" proved="true">
407 <proof prover="3"><result status="valid" time="0.100000"/></proof>
409 <goal name="queens'vc.4" expl="precondition" proved="true">
410 <proof prover="3"><result status="valid" time="0.090000"/></proof>
412 <goal name="queens'vc.5" expl="precondition" proved="true">
413 <proof prover="3"><result status="valid" time="0.080000"/></proof>
415 <goal name="queens'vc.6" expl="precondition" proved="true">
416 <proof prover="3"><result status="valid" time="0.080000"/></proof>
418 <goal name="queens'vc.7" expl="precondition" proved="true">
419 <proof prover="3"><result status="valid" time="0.100000"/></proof>
421 <goal name="queens'vc.8" expl="precondition" proved="true">
422 <proof prover="3"><result status="valid" time="0.120000"/></proof>
424 <goal name="queens'vc.9" expl="postcondition" proved="true">
425 <proof prover="3"><result status="valid" time="0.040000"/></proof>
427 <goal name="queens'vc.10" expl="postcondition" proved="true">
428 <proof prover="3"><result status="valid" time="0.080000"/></proof>
430 <goal name="queens'vc.11" expl="postcondition" proved="true">
431 <proof prover="3"><result status="valid" time="0.510000"/></proof>
435 <goal name="test8'vc" expl="VC for test8" proved="true">
436 <transf name="split_goal_right" proved="true" >
437 <goal name="test8'vc.0" expl="precondition" proved="true">
438 <proof prover="3"><result status="valid" time="0.040000"/></proof>
440 <goal name="test8'vc.1" expl="precondition" proved="true">
441 <proof prover="3"><result status="valid" time="0.050000"/></proof>
443 <goal name="test8'vc.2" expl="precondition" proved="true">
444 <proof prover="3"><result status="valid" time="0.040000"/></proof>