why3session.xml 42.9 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">
5 6
<prover id="0" name="CVC3" version="2.4.1" timelimit="5" memlimit="0"/>
<prover id="3" name="CVC4" version="1.4" timelimit="6" memlimit="1000"/>
Clément Fumex's avatar
Clément Fumex committed
7 8 9
<prover id="8" name="Alt-Ergo" version="0.99.1" timelimit="5" memlimit="0"/>
<prover id="9" name="Z3" version="4.3.2" timelimit="5" memlimit="4000"/>
<file name="../counting_sort.mlw" expanded="true">
MARCHE Claude's avatar
MARCHE Claude committed
10
<theory name="Spec" sum="227a671f435b8af65efe11a2ebab055e" expanded="true">
11 12
 <goal name="WP_parameter eqlt" expl="VC for eqlt">
 <proof prover="3"><result status="valid" time="0.18"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
13 14
 </goal>
</theory>
MARCHE Claude's avatar
MARCHE Claude committed
15
<theory name="CountingSort" sum="0f7bd60a895daf4d1fc19f6a63895fe3" expanded="true">
16
 <goal name="WP_parameter counting_sort" expl="VC for counting_sort">
17
 <transf name="split_goal_wp">
18
  <goal name="WP_parameter counting_sort.1" expl="1. array creation size">
Clément Fumex's avatar
Clément Fumex committed
19
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="5"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
20
  </goal>
21
  <goal name="WP_parameter counting_sort.2" expl="2. assertion">
MARCHE Claude's avatar
MARCHE Claude committed
22
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="9"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
23
  </goal>
24
  <goal name="WP_parameter counting_sort.3" expl="3. postcondition">
MARCHE Claude's avatar
MARCHE Claude committed
25
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="10"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
26
  </goal>
27
  <goal name="WP_parameter counting_sort.4" expl="4. loop invariant init">
28
  <proof prover="0" memlimit="1000"><result status="valid" time="0.04"/></proof>
Clément Fumex's avatar
Clément Fumex committed
29
  <proof prover="9" memlimit="1000"><result status="valid" time="0.02"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
30
  </goal>
31
  <goal name="WP_parameter counting_sort.5" expl="5. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
32
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="13"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
33
  </goal>
34
  <goal name="WP_parameter counting_sort.6" expl="6. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
35
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="10"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
36
  </goal>
37
  <goal name="WP_parameter counting_sort.7" expl="7. loop invariant init">
38
  <proof prover="0" memlimit="1000"><result status="valid" time="0.01"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
39
  <proof prover="8" memlimit="1000"><result status="valid" time="0.04" steps="10"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
40
  </goal>
41
  <goal name="WP_parameter counting_sort.8" expl="8. index in array bounds">
42
  <proof prover="0" memlimit="1000"><result status="valid" time="0.02"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
43
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="13"/></proof>
Clément Fumex's avatar
Clément Fumex committed
44
  <proof prover="9" memlimit="1000"><result status="valid" time="0.02"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
45
  </goal>
46
  <goal name="WP_parameter counting_sort.9" expl="9. loop invariant preservation">
47
  <proof prover="0" timelimit="10"><result status="valid" time="0.08"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
48
  <proof prover="8" memlimit="1000"><result status="valid" time="0.36" steps="112"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
49
  </goal>
50
  <goal name="WP_parameter counting_sort.10" expl="10. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
51
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="15"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
52
  </goal>
53
  <goal name="WP_parameter counting_sort.11" expl="11. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
54
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="19"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
55
  </goal>
56
  <goal name="WP_parameter counting_sort.12" expl="12. loop invariant preservation">
57 58
  <transf name="inline_goal">
   <goal name="WP_parameter counting_sort.12.1" expl="1. loop invariant preservation">
Clément Fumex's avatar
Clément Fumex committed
59
   <proof prover="9" memlimit="1000"><result status="valid" time="0.05"/></proof>
60 61
   </goal>
  </transf>
MARCHE Claude's avatar
MARCHE Claude committed
62
  </goal>
63
  <goal name="WP_parameter counting_sort.13" expl="13. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
64
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="15"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
65
  </goal>
66
  <goal name="WP_parameter counting_sort.14" expl="14. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
67
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="15"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
68
  </goal>
69
  <goal name="WP_parameter counting_sort.15" expl="15. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
70
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="19"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
71
  </goal>
72
  <goal name="WP_parameter counting_sort.16" expl="16. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
73
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="21"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
74
  </goal>
75
  <goal name="WP_parameter counting_sort.17" expl="17. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
76
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="26"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
77
  </goal>
78
  <goal name="WP_parameter counting_sort.18" expl="18. type invariant">
MARCHE Claude's avatar
MARCHE Claude committed
79
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="20"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
80
  </goal>
81
  <goal name="WP_parameter counting_sort.19" expl="19. index in array bounds">
82
  <proof prover="0" memlimit="1000"><result status="valid" time="0.01"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
83
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="24"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
84
  </goal>
85
  <goal name="WP_parameter counting_sort.20" expl="20. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
86
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="23"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
87
  </goal>
88
  <goal name="WP_parameter counting_sort.21" expl="21. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
89
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="23"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
90
  </goal>
91
  <goal name="WP_parameter counting_sort.22" expl="22. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
92
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="25"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
93
  </goal>
94
  <goal name="WP_parameter counting_sort.23" expl="23. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
95
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="25"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
96
  </goal>
97
  <goal name="WP_parameter counting_sort.24" expl="24. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
98
  <proof prover="8" memlimit="1000"><result status="valid" time="0.03" steps="23"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
99
  </goal>
100
  <goal name="WP_parameter counting_sort.25" expl="25. loop invariant preservation">
101
  <proof prover="0" memlimit="1000"><result status="valid" time="0.03"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
102
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="48"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
103
  </goal>
104
  <goal name="WP_parameter counting_sort.26" expl="26. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
105
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="18"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
106
  </goal>
107
  <goal name="WP_parameter counting_sort.27" expl="27. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
108
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="24"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
109
  </goal>
110
  <goal name="WP_parameter counting_sort.28" expl="28. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
111
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="29"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
112
  </goal>
113
  <goal name="WP_parameter counting_sort.29" expl="29. assertion">
114
  <proof prover="0" memlimit="1000"><result status="valid" time="0.11"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
115
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="40"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
116
  </goal>
117
  <goal name="WP_parameter counting_sort.30" expl="30. type invariant">
MARCHE Claude's avatar
MARCHE Claude committed
118
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="12"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
119
  </goal>
120
  <goal name="WP_parameter counting_sort.31" expl="31. postcondition">
MARCHE Claude's avatar
MARCHE Claude committed
121
  <proof prover="8" memlimit="1000"><result status="valid" time="0.06" steps="20"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
122
  </goal>
123
  <goal name="WP_parameter counting_sort.32" expl="32. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
124
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="15"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
125
  </goal>
126
  <goal name="WP_parameter counting_sort.33" expl="33. index in array bounds">
127
  <proof prover="0" memlimit="1000"><result status="valid" time="0.02"/></proof>
Clément Fumex's avatar
Clément Fumex committed
128
  <proof prover="9"><result status="valid" time="0.00"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
129
  </goal>
130
  <goal name="WP_parameter counting_sort.34" expl="34. type invariant">
MARCHE Claude's avatar
MARCHE Claude committed
131
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="11"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
132
  </goal>
133
  <goal name="WP_parameter counting_sort.35" expl="35. index in array bounds">
MARCHE Claude's avatar
MARCHE Claude committed
134
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="16"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
135
  </goal>
136
  <goal name="WP_parameter counting_sort.36" expl="36. index in array bounds">
137
  <proof prover="0" timelimit="60" memlimit="1000"><result status="valid" time="0.01"/></proof>
Clément Fumex's avatar
Clément Fumex committed
138
  <proof prover="9" timelimit="15" memlimit="1000"><result status="valid" time="0.01"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
139
  </goal>
140
  <goal name="WP_parameter counting_sort.37" expl="37. loop invariant preservation">
141
  <proof prover="0" timelimit="10"><result status="valid" time="0.04"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
142
  </goal>
143
  <goal name="WP_parameter counting_sort.38" expl="38. assertion">
MARCHE Claude's avatar
MARCHE Claude committed
144
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="9"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
145
  </goal>
146
  <goal name="WP_parameter counting_sort.39" expl="39. postcondition">
MARCHE Claude's avatar
MARCHE Claude committed
147
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="9"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
148
  </goal>
149
  <goal name="WP_parameter counting_sort.40" expl="40. loop invariant init">
Clément Fumex's avatar
Clément Fumex committed
150
  <proof prover="9" timelimit="11" memlimit="1000"><result status="valid" time="0.00"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
151
  </goal>
152
  <goal name="WP_parameter counting_sort.41" expl="41. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
153
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="13"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
154
  </goal>
155
  <goal name="WP_parameter counting_sort.42" expl="42. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
156
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="10"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
157
  </goal>
158
  <goal name="WP_parameter counting_sort.43" expl="43. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
159
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="10"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
160
  </goal>
161
  <goal name="WP_parameter counting_sort.44" expl="44. type invariant">
MARCHE Claude's avatar
MARCHE Claude committed
162
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="13"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
163
  </goal>
164
  <goal name="WP_parameter counting_sort.45" expl="45. index in array bounds">
MARCHE Claude's avatar
MARCHE Claude committed
165
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="13"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
166
  </goal>
167
  <goal name="WP_parameter counting_sort.46" expl="46. loop invariant preservation">
168
  <proof prover="0" memlimit="1000"><result status="valid" time="0.10"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
169
  </goal>
170
  <goal name="WP_parameter counting_sort.47" expl="47. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
171
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="15"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
172
  </goal>
173
  <goal name="WP_parameter counting_sort.48" expl="48. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
174
  <proof prover="8" memlimit="1000"><result status="valid" time="0.03" steps="19"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
175
  </goal>
176
  <goal name="WP_parameter counting_sort.49" expl="49. loop invariant preservation">
Clément Fumex's avatar
Clément Fumex committed
177
  <proof prover="9" timelimit="6" memlimit="1000"><result status="valid" time="0.10"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
178
  </goal>
179
  <goal name="WP_parameter counting_sort.50" expl="50. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
180
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="15"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
181
  </goal>
182
  <goal name="WP_parameter counting_sort.51" expl="51. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
183
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="15"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
184
  </goal>
185
  <goal name="WP_parameter counting_sort.52" expl="52. loop invariant init">
MARCHE Claude's avatar
MARCHE Claude committed
186
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="19"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
187
  </goal>
188
  <goal name="WP_parameter counting_sort.53" expl="53. loop invariant init">
189
  <proof prover="0" memlimit="1000"><result status="valid" time="0.02"/></proof>
Clément Fumex's avatar
Clément Fumex committed
190
  <proof prover="9" memlimit="1000"><result status="valid" time="0.02"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
191
  </goal>
192
  <goal name="WP_parameter counting_sort.54" expl="54. loop invariant init">
Clément Fumex's avatar
Clément Fumex committed
193
  <proof prover="9" timelimit="11" memlimit="1000"><result status="valid" time="0.00"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
194
  </goal>
195
  <goal name="WP_parameter counting_sort.55" expl="55. type invariant">
MARCHE Claude's avatar
MARCHE Claude committed
196
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="20"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
197
  </goal>
198
  <goal name="WP_parameter counting_sort.56" expl="56. index in array bounds">
Clément Fumex's avatar
Clément Fumex committed
199
  <proof prover="9" memlimit="1000"><result status="valid" time="0.03"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
200
  </goal>
201
  <goal name="WP_parameter counting_sort.57" expl="57. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
202
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="24"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
203
  </goal>
204
  <goal name="WP_parameter counting_sort.58" expl="58. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
205
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="47"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
206
  </goal>
207
  <goal name="WP_parameter counting_sort.59" expl="59. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
208
  <proof prover="8" memlimit="1000"><result status="valid" time="0.05" steps="39"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
209
  </goal>
210
  <goal name="WP_parameter counting_sort.60" expl="60. loop invariant preservation">
211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
  <metas>
   <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="pred" arity="1" id="8"
    ip_theory="HighOrd">
    <ip_library name="why3"/>
    <ip_library name="HighOrd"/>
    <ip_qualid name="pred"/>
   </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>
MARCHE Claude's avatar
MARCHE Claude committed
236
   <ts_pos name="&apos;mark" arity="0" id="64"
237 238 239 240 241
    ip_theory="Mark">
    <ip_library name="why3"/>
    <ip_library name="Mark"/>
    <ip_qualid name="&apos;mark"/>
   </ts_pos>
242
   <ts_pos name="ref" arity="1" id="5367"
243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
    ip_theory="Ref">
    <ip_library name="ref"/>
    <ip_qualid name="ref"/>
   </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>
   <ls_pos name="infix @" id="15"
    ip_theory="HighOrd">
    <ip_library name="why3"/>
    <ip_library name="HighOrd"/>
    <ip_qualid name="infix @"/>
   </ls_pos>
259
   <ls_pos name="zero" id="306"
260 261 262 263
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="zero"/>
   </ls_pos>
264
   <ls_pos name="one" id="307"
265 266 267 268
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="one"/>
   </ls_pos>
269
   <ls_pos name="infix &lt;" id="308"
270 271 272 273
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="infix &lt;"/>
   </ls_pos>
274
   <ls_pos name="infix +" id="1477"
275 276 277 278
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="infix +"/>
   </ls_pos>
279
   <ls_pos name="prefix -" id="1478"
280 281 282 283
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="prefix -"/>
   </ls_pos>
284
   <ls_pos name="infix *" id="1479"
285 286 287 288
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="infix *"/>
   </ls_pos>
289
   <ls_pos name="numof" id="2000"
290 291 292 293
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="numof"/>
   </ls_pos>
294
   <ls_pos name="get" id="2336"
295 296 297 298
    ip_theory="Map">
    <ip_library name="map"/>
    <ip_qualid name="get"/>
   </ls_pos>
299
   <ls_pos name="set" id="2339"
300 301 302 303
    ip_theory="Map">
    <ip_library name="map"/>
    <ip_qualid name="set"/>
   </ls_pos>
304
   <ls_pos name="set" id="2786"
305 306 307 308
    ip_theory="Array">
    <ip_library name="array"/>
    <ip_qualid name="set"/>
   </ls_pos>
309
   <ls_pos name="mixfix [&lt;-]" id="2828"
310 311 312 313
    ip_theory="Array">
    <ip_library name="array"/>
    <ip_qualid name="mixfix [&lt;-]"/>
   </ls_pos>
314
   <ls_pos name="sorted_sub" id="3107"
315 316 317 318
    ip_theory="IntArraySorted">
    <ip_library name="array"/>
    <ip_qualid name="sorted_sub"/>
   </ls_pos>
319
   <ls_pos name="sorted" id="3123"
320 321 322 323
    ip_theory="IntArraySorted">
    <ip_library name="array"/>
    <ip_qualid name="sorted"/>
   </ls_pos>
324
   <ls_pos name="k" id="5111" ip_theory="Spec">
325 326
    <ip_qualid name="k"/>
   </ls_pos>
327
   <ls_pos name="permut" id="5349"
328 329 330
    ip_theory="Spec">
    <ip_qualid name="permut"/>
   </ls_pos>
331
   <ls_pos name="prefix !" id="5373"
MARCHE Claude's avatar
MARCHE Claude committed
332 333 334 335
    ip_theory="Ref">
    <ip_library name="ref"/>
    <ip_qualid name="prefix !"/>
   </ls_pos>
336
   <pr_pos name="Assoc" id="1480"
337 338 339 340 341
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="CommutativeGroup"/>
    <ip_qualid name="Assoc"/>
   </pr_pos>
342
   <pr_pos name="Unit_def_l" id="1487"
343 344 345 346 347
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="CommutativeGroup"/>
    <ip_qualid name="Unit_def_l"/>
   </pr_pos>
348
   <pr_pos name="Unit_def_r" id="1490"
349 350 351 352 353
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="CommutativeGroup"/>
    <ip_qualid name="Unit_def_r"/>
   </pr_pos>
354
   <pr_pos name="Inv_def_l" id="1493"
355 356 357 358 359
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="CommutativeGroup"/>
    <ip_qualid name="Inv_def_l"/>
   </pr_pos>
360
   <pr_pos name="Inv_def_r" id="1496"
361 362 363 364 365
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="CommutativeGroup"/>
    <ip_qualid name="Inv_def_r"/>
   </pr_pos>
366
   <pr_pos name="Comm" id="1499"
367 368 369 370 371 372
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="CommutativeGroup"/>
    <ip_qualid name="Comm"/>
    <ip_qualid name="Comm"/>
   </pr_pos>
373
   <pr_pos name="Assoc" id="1504"
374 375 376 377 378
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="Assoc"/>
    <ip_qualid name="Assoc"/>
   </pr_pos>
379
   <pr_pos name="Mul_distr_l" id="1511"
380 381 382 383
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="Mul_distr_l"/>
   </pr_pos>
384
   <pr_pos name="Mul_distr_r" id="1518"
385 386 387 388
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="Mul_distr_r"/>
   </pr_pos>
389
   <pr_pos name="Comm" id="1536"
390 391 392 393 394
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="Comm"/>
    <ip_qualid name="Comm"/>
   </pr_pos>
395
   <pr_pos name="Unitary" id="1541"
396 397 398 399
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="Unitary"/>
   </pr_pos>
400
   <pr_pos name="NonTrivialRing" id="1544"
401 402 403 404
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="NonTrivialRing"/>
   </pr_pos>
405
   <pr_pos name="Refl" id="1556"
406 407 408 409
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="Refl"/>
   </pr_pos>
410
   <pr_pos name="Trans" id="1559"
411 412 413 414
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="Trans"/>
   </pr_pos>
415
   <pr_pos name="Antisymm" id="1566"
416 417 418 419
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="Antisymm"/>
   </pr_pos>
420
   <pr_pos name="Total" id="1571"
421 422 423 424
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="Total"/>
   </pr_pos>
425
   <pr_pos name="ZeroLessOne" id="1576"
426 427 428 429
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="ZeroLessOne"/>
   </pr_pos>
430
   <pr_pos name="CompatOrderAdd" id="1577"
431 432 433 434
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="CompatOrderAdd"/>
   </pr_pos>
435
   <pr_pos name="CompatOrderMult" id="1584"
436 437 438 439
    ip_theory="Int">
    <ip_library name="int"/>
    <ip_qualid name="CompatOrderMult"/>
   </pr_pos>
440
   <pr_pos name="Numof_empty" id="2004"
441 442 443 444
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="Numof_empty"/>
   </pr_pos>
445
   <pr_pos name="Numof_right_add" id="2018"
446 447 448 449
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="Numof_right_add"/>
   </pr_pos>
450
   <pr_pos name="Numof_bounds" id="2025"
451 452 453 454
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="Numof_bounds"/>
   </pr_pos>
455
   <pr_pos name="Numof_append" id="2032"
456 457 458 459
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="Numof_append"/>
   </pr_pos>
460
   <pr_pos name="Numof_left_no_add" id="2041"
461 462 463 464
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="Numof_left_no_add"/>
   </pr_pos>
465
   <pr_pos name="Numof_left_add" id="2048"
466 467 468 469
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="Numof_left_add"/>
   </pr_pos>
470
   <pr_pos name="Empty" id="2055"
471 472 473 474
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="Empty"/>
   </pr_pos>
475
   <pr_pos name="Full" id="2064"
476 477 478 479
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="Full"/>
   </pr_pos>
480
   <pr_pos name="numof_increasing" id="2073"
481 482 483 484
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="numof_increasing"/>
   </pr_pos>
485
   <pr_pos name="numof_strictly_increasing" id="2082"
486 487 488 489
    ip_theory="NumOf">
    <ip_library name="int"/>
    <ip_qualid name="numof_strictly_increasing"/>
   </pr_pos>
490
   <pr_pos name="Select_eq" id="2372"
491 492 493 494
    ip_theory="Map">
    <ip_library name="map"/>
    <ip_qualid name="Select_eq"/>
   </pr_pos>
495
   <pr_pos name="k_positive" id="5112"
496 497 498
    ip_theory="Spec">
    <ip_qualid name="k_positive"/>
   </pr_pos>
499
   <pr_pos name="eqlt" id="5344" ip_theory="Spec">
500 501 502 503 504 505 506 507
    <ip_qualid name="eqlt"/>
   </pr_pos>
   <meta name="remove_logic">
    <meta_arg_ls id="10"/>
   </meta>
   <meta name="remove_logic">
    <meta_arg_ls id="15"/>
   </meta>
508 509 510
   <meta name="remove_logic">
    <meta_arg_ls id="306"/>
   </meta>
511
   <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
512
    <meta_arg_ls id="307"/>
513 514
   </meta>
   <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
515
    <meta_arg_ls id="308"/>
516 517
   </meta>
   <meta name="remove_logic">
518
    <meta_arg_ls id="1477"/>
519 520
   </meta>
   <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
521
    <meta_arg_ls id="1478"/>
522 523
   </meta>
   <meta name="remove_logic">
MARCHE Claude's avatar
MARCHE Claude committed
524
    <meta_arg_ls id="1479"/>
525 526
   </meta>
   <meta name="remove_logic">
527
    <meta_arg_ls id="2000"/>
528 529
   </meta>
   <meta name="remove_logic">
530
    <meta_arg_ls id="2336"/>
531 532
   </meta>
   <meta name="remove_logic">
533
    <meta_arg_ls id="2339"/>
534 535
   </meta>
   <meta name="remove_logic">
536
    <meta_arg_ls id="2786"/>
537 538
   </meta>
   <meta name="remove_logic">
539
    <meta_arg_ls id="2828"/>
540 541
   </meta>
   <meta name="remove_logic">
542
    <meta_arg_ls id="3107"/>
543 544
   </meta>
   <meta name="remove_logic">
545
    <meta_arg_ls id="3123"/>
546 547
   </meta>
   <meta name="remove_logic">
548
    <meta_arg_ls id="5111"/>
549 550
   </meta>
   <meta name="remove_logic">
551
    <meta_arg_ls id="5349"/>
552 553
   </meta>
   <meta name="remove_logic">
554
    <meta_arg_ls id="5373"/>
555 556
   </meta>
   <meta name="remove_prop">
557
    <meta_arg_pr id="1480"/>
558 559
   </meta>
   <meta name="remove_prop">
560
    <meta_arg_pr id="1487"/>
561 562
   </meta>
   <meta name="remove_prop">
563
    <meta_arg_pr id="1490"/>
564 565
   </meta>
   <meta name="remove_prop">
566
    <meta_arg_pr id="1493"/>
567 568
   </meta>
   <meta name="remove_prop">
569
    <meta_arg_pr id="1496"/>
570 571
   </meta>
   <meta name="remove_prop">
572
    <meta_arg_pr id="1499"/>
573 574
   </meta>
   <meta name="remove_prop">
575
    <meta_arg_pr id="1504"/>
576 577
   </meta>
   <meta name="remove_prop">
578
    <meta_arg_pr id="1511"/>
579 580
   </meta>
   <meta name="remove_prop">
581
    <meta_arg_pr id="1518"/>
582 583
   </meta>
   <meta name="remove_prop">
584
    <meta_arg_pr id="1536"/>
585 586
   </meta>
   <meta name="remove_prop">
587
    <meta_arg_pr id="1541"/>
588 589
   </meta>
   <meta name="remove_prop">
590
    <meta_arg_pr id="1544"/>
591 592
   </meta>
   <meta name="remove_prop">
593
    <meta_arg_pr id="1556"/>
594 595
   </meta>
   <meta name="remove_prop">
596
    <meta_arg_pr id="1559"/>
597 598
   </meta>
   <meta name="remove_prop">
599
    <meta_arg_pr id="1566"/>
600 601
   </meta>
   <meta name="remove_prop">
602
    <meta_arg_pr id="1571"/>
603 604
   </meta>
   <meta name="remove_prop">
605
    <meta_arg_pr id="1576"/>
606 607
   </meta>
   <meta name="remove_prop">
608
    <meta_arg_pr id="1577"/>
609 610
   </meta>
   <meta name="remove_prop">
611
    <meta_arg_pr id="1584"/>
612 613
   </meta>
   <meta name="remove_prop">
614
    <meta_arg_pr id="2004"/>
615 616
   </meta>
   <meta name="remove_prop">
617
    <meta_arg_pr id="2018"/>
618 619
   </meta>
   <meta name="remove_prop">
620
    <meta_arg_pr id="2025"/>
621 622
   </meta>
   <meta name="remove_prop">
623
    <meta_arg_pr id="2032"/>
624 625
   </meta>
   <meta name="remove_prop">
626
    <meta_arg_pr id="2041"/>
627 628
   </meta>
   <meta name="remove_prop">
629
    <meta_arg_pr id="2048"/>
MARCHE Claude's avatar
MARCHE Claude committed
630 631
   </meta>
   <meta name="remove_prop">
632
    <meta_arg_pr id="2055"/>
633 634
   </meta>
   <meta name="remove_prop">
635
    <meta_arg_pr id="2064"/>
636 637
   </meta>
   <meta name="remove_prop">
638
    <meta_arg_pr id="2073"/>
639 640
   </meta>
   <meta name="remove_prop">
641
    <meta_arg_pr id="2082"/>
642 643
   </meta>
   <meta name="remove_prop">
644
    <meta_arg_pr id="2372"/>
645 646
   </meta>
   <meta name="remove_prop">
647
    <meta_arg_pr id="5112"/>
648 649
   </meta>
   <meta name="remove_prop">
650
    <meta_arg_pr id="5344"/>
651 652 653 654 655 656 657 658 659 660 661 662 663 664
   </meta>
   <meta name="remove_type">
    <meta_arg_ts id="2"/>
   </meta>
   <meta name="remove_type">
    <meta_arg_ts id="8"/>
   </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">
MARCHE Claude's avatar
MARCHE Claude committed
665
    <meta_arg_ts id="64"/>
666 667
   </meta>
   <meta name="remove_type">
668
    <meta_arg_ts id="5367"/>
669 670 671 672
   </meta>
   <goal name="WP_parameter counting_sort.60" expl="60. loop invariant preservation">
   <transf name="eliminate_builtin">
    <goal name="WP_parameter counting_sort.60.1" expl="1. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
673
    <proof prover="9" timelimit="6" memlimit="1000"><result status="valid" time="0.29"/></proof>
674 675
    </goal>
   </transf>
676
   </goal>
677
  </metas>
MARCHE Claude's avatar
MARCHE Claude committed
678
  </goal>
679
  <goal name="WP_parameter counting_sort.61" expl="61. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
680 681 682 683 684
  <transf name="inline_goal">
   <goal name="WP_parameter counting_sort.61.1" expl="1. loop invariant preservation">
   <proof prover="9" timelimit="30" memlimit="1000"><result status="valid" time="0.21"/></proof>
   </goal>
  </transf>
MARCHE Claude's avatar
MARCHE Claude committed
685
  </goal>
686
  <goal name="WP_parameter counting_sort.62" expl="62. loop invariant preservation">
687
  <proof prover="0" memlimit="1000"><result status="valid" time="0.02"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
688
  </goal>
689
  <goal name="WP_parameter counting_sort.63" expl="63. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
690
  <proof prover="8" memlimit="1000"><result status="valid" time="0.04" steps="18"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
691
  </goal>
692
  <goal name="WP_parameter counting_sort.64" expl="64. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
693
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="24"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
694
  </goal>
695
  <goal name="WP_parameter counting_sort.65" expl="65. loop invariant preservation">
MARCHE Claude's avatar
MARCHE Claude committed
696
  <proof prover="8" memlimit="1000"><result status="valid" time="0.01" steps="28"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
697
  </goal>
698
  <goal name="WP_parameter counting_sort.66" expl="66. assertion">
699
  <proof prover="3" timelimit="11"><result status="valid" time="0.07"/></proof>
Clément Fumex's avatar
Clément Fumex committed
700
  <proof prover="9" timelimit="11" memlimit="1000"><result status="valid" time="0.00"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
701
  </goal>
702
  <goal name="WP_parameter counting_sort.67" expl="67. type invariant">
MARCHE Claude's avatar
MARCHE Claude committed
703
  <proof prover="8" memlimit="1000"><result status="valid" time="0.02" steps="12"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
704
  </goal>
705
  <goal name="WP_parameter counting_sort.68" expl="68. postcondition">
MARCHE Claude's avatar
MARCHE Claude committed
706
  <proof prover="8" memlimit="1000"><result status="valid" time="0.03" steps="20"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
707 708 709 710
  </goal>
 </transf>
 </goal>
</theory>
MARCHE Claude's avatar
MARCHE Claude committed
711
<theory name="InPlaceCountingSort" sum="0d74062acc3a45fa8663d2128f038a8f" expanded="true">
MARCHE Claude's avatar
MARCHE Claude committed