why3session.xml 14.6 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v2//EN" "http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
 <prover
  id="0"
  name="Alt-Ergo"
  version="0.95.2"/>
 <file
  name="../all_distinct.mlw"
  verified="true"
  expanded="true">
  <theory
   name="AllDistinct"
   locfile="../all_distinct.mlw"
Martin Clochard's avatar
Martin Clochard committed
15
   loclnum="5" loccnumb="7" loccnume="18"
16
17
18
19
20
21
22
   verified="true"
   expanded="true">
   <goal
    name="WP_parameter all_distinct"
    locfile="../all_distinct.mlw"
    loclnum="13" loccnumb="6" loccnume="18"
    expl="VC for all_distinct"
Martin Clochard's avatar
Martin Clochard committed
23
    sum="9cd8ab30056665aa598b63118511deb6"
24
25
    proved="true"
    expanded="true"
Martin Clochard's avatar
Martin Clochard committed
26
    shape="Nainfix =agetV1V5agetV1V6INainfix =V5V6Iainfix &lt;V6V0Aainfix &lt;=c0V6Iainfix &lt;V5V0Aainfix &lt;=c0V5FIainfix =agetV1V8V7Aainfix &lt;V8ainfix +V3c1Aainfix &lt;=c0V8Eqainfix =agetV4V7aTrueIainfix &lt;V7V2Aainfix &lt;=c0V7FANainfix =agetV1V9agetV1V10INainfix =V9V10Iainfix &lt;V10ainfix +V3c1Aainfix &lt;=c0V10Iainfix &lt;V9ainfix +V3c1Aainfix &lt;=c0V9FAiainfix =agetV1V15V14Aainfix &lt;V15ainfix +V11c1Aainfix &lt;=c0V15Eqainfix =agetV13V14aTrueIainfix &lt;V14V2Aainfix &lt;=c0V14FANainfix =agetV1V16agetV1V17INainfix =V16V17Iainfix &lt;V17ainfix +V11c1Aainfix &lt;=c0V17Iainfix &lt;V16ainfix +V11c1Aainfix &lt;=c0V16FIainfix =V13asetV4V12aTrueAainfix &lt;=c0V2FAainfix &lt;V12V2Aainfix &lt;=c0V12NNainfix =agetV1V18agetV1V19INainfix =V18V19Iainfix &lt;V19V0Aainfix &lt;=c0V19Iainfix &lt;V18V0Aainfix &lt;=c0V18Fainfix =agetV4V12aTrueAainfix &lt;V12V2Aainfix &lt;=c0V12Aainfix &lt;=c0V2LagetV1V11Aainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix =agetV1V21V20Aainfix &lt;V21V11Aainfix &lt;=c0V21Eqainfix =agetV4V20aTrueIainfix &lt;V20V2Aainfix &lt;=c0V20FANainfix =agetV1V22agetV1V23INainfix =V22V23Iainfix &lt;V23V11Aainfix &lt;=c0V23Iainfix &lt;V22V11Aainfix &lt;=c0V22FIainfix &lt;=V11V3Aainfix &lt;=c0V11FFAainfix =agetV1V25V24Aainfix &lt;V25c0Aainfix &lt;=c0V25Eqainfix =agetaconstaFalseV24aTrueIainfix &lt;V24V2Aainfix &lt;=c0V24FANainfix =agetV1V26agetV1V27INainfix =V26V27Iainfix &lt;V27c0Aainfix &lt;=c0V27Iainfix &lt;V26c0Aainfix &lt;=c0V26FIainfix &lt;=c0V3ANainfix =agetV1V28agetV1V29INainfix =V28V29Iainfix &lt;V29V0Aainfix &lt;=c0V29Iainfix &lt;V28V0Aainfix &lt;=c0V28FIainfix &gt;c0V3Lainfix -V0c1Iainfix &lt;=c0V2Aainfix &gt;=V2c0Iainfix &lt;agetV1V30V2Aainfix &lt;=c0agetV1V30Iainfix &lt;V30V0Aainfix &lt;=c0V30FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
27
28
29
30
31
32
33
34
35
36
37
    <label
     name="expl:VC for all_distinct"/>
    <transf
     name="split_goal_wp"
     proved="true"
     expanded="true">
     <goal
      name="WP_parameter all_distinct.1"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="1. array creation size"
Martin Clochard's avatar
Martin Clochard committed
38
      sum="169dead4ca86d70a93945d7a849a4ddf"
39
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
40
41
      expanded="true"
      shape="array creation sizeainfix &gt;=V2c0Iainfix &lt;agetV1V3V2Aainfix &lt;=c0agetV1V3Iainfix &lt;V3V0Aainfix &lt;=c0V3FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.2"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="2. postcondition"
Martin Clochard's avatar
Martin Clochard committed
58
      sum="8d038b937a7ed02cbabc2d03293374eb"
59
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
60
61
      expanded="true"
      shape="postconditionNainfix =agetV1V4agetV1V5INainfix =V4V5Iainfix &lt;V5V0Aainfix &lt;=c0V5Iainfix &lt;V4V0Aainfix &lt;=c0V4FIainfix &gt;c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V6V2Aainfix &lt;=c0agetV1V6Iainfix &lt;V6V0Aainfix &lt;=c0V6FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.3"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="3. loop invariant init"
Martin Clochard's avatar
Martin Clochard committed
78
      sum="f2a72af703403a88e25a697c4ddfa52a"
79
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
80
81
      expanded="true"
      shape="loop invariant initNainfix =agetV1V4agetV1V5INainfix =V4V5Iainfix &lt;V5c0Aainfix &lt;=c0V5Iainfix &lt;V4c0Aainfix &lt;=c0V4FIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V6V2Aainfix &lt;=c0agetV1V6Iainfix &lt;V6V0Aainfix &lt;=c0V6FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.4"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="4. loop invariant init"
Martin Clochard's avatar
Martin Clochard committed
98
      sum="ce1590976f77ddc643d8fbdac4674fb8"
99
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
100
101
      expanded="true"
      shape="loop invariant initainfix =agetV1V5V4Aainfix &lt;V5c0Aainfix &lt;=c0V5Eqainfix =agetaconstaFalseV4aTrueIainfix &lt;V4V2Aainfix &lt;=c0V4FIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V6V2Aainfix &lt;=c0agetV1V6Iainfix &lt;V6V0Aainfix &lt;=c0V6FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.5"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="5. index in array bounds"
Martin Clochard's avatar
Martin Clochard committed
118
      sum="f1a081032a623863f610a04ad56ba8cb"
119
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
120
121
      expanded="true"
      shape="index in array boundsainfix &lt;V5V0Aainfix &lt;=c0V5Iainfix =agetV1V7V6Aainfix &lt;V7V5Aainfix &lt;=c0V7Eqainfix =agetV4V6aTrueIainfix &lt;V6V2Aainfix &lt;=c0V6FANainfix =agetV1V8agetV1V9INainfix =V8V9Iainfix &lt;V9V5Aainfix &lt;=c0V9Iainfix &lt;V8V5Aainfix &lt;=c0V8FIainfix &lt;=V5V3Aainfix &lt;=c0V5FFIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V10V2Aainfix &lt;=c0agetV1V10Iainfix &lt;V10V0Aainfix &lt;=c0V10FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.6"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="6. type invariant"
Martin Clochard's avatar
Martin Clochard committed
138
      sum="0a3d6cdd22086870ccdd20acf950acb1"
139
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
140
141
      expanded="true"
      shape="type invariantainfix &lt;=c0V2LagetV1V5Iainfix &lt;V5V0Aainfix &lt;=c0V5Iainfix =agetV1V8V7Aainfix &lt;V8V5Aainfix &lt;=c0V8Eqainfix =agetV4V7aTrueIainfix &lt;V7V2Aainfix &lt;=c0V7FANainfix =agetV1V9agetV1V10INainfix =V9V10Iainfix &lt;V10V5Aainfix &lt;=c0V10Iainfix &lt;V9V5Aainfix &lt;=c0V9FIainfix &lt;=V5V3Aainfix &lt;=c0V5FFIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V11V2Aainfix &lt;=c0agetV1V11Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.7"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="7. index in array bounds"
Martin Clochard's avatar
Martin Clochard committed
158
      sum="025eb7e13690ff51b15e41ac95352a8f"
159
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
160
161
      expanded="true"
      shape="index in array boundsainfix &lt;V6V2Aainfix &lt;=c0V6Iainfix &lt;=c0V2LagetV1V5Iainfix &lt;V5V0Aainfix &lt;=c0V5Iainfix =agetV1V8V7Aainfix &lt;V8V5Aainfix &lt;=c0V8Eqainfix =agetV4V7aTrueIainfix &lt;V7V2Aainfix &lt;=c0V7FANainfix =agetV1V9agetV1V10INainfix =V9V10Iainfix &lt;V10V5Aainfix &lt;=c0V10Iainfix &lt;V9V5Aainfix &lt;=c0V9FIainfix &lt;=V5V3Aainfix &lt;=c0V5FFIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V11V2Aainfix &lt;=c0agetV1V11Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.8"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="8. postcondition"
Martin Clochard's avatar
Martin Clochard committed
178
      sum="abed04285d21c6c786ac5473f4cbb8fe"
179
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
180
181
      expanded="true"
      shape="postconditionNNainfix =agetV1V7agetV1V8INainfix =V7V8Iainfix &lt;V8V0Aainfix &lt;=c0V8Iainfix &lt;V7V0Aainfix &lt;=c0V7FIainfix =agetV4V6aTrueIainfix &lt;V6V2Aainfix &lt;=c0V6Aainfix &lt;=c0V2LagetV1V5Iainfix &lt;V5V0Aainfix &lt;=c0V5Iainfix =agetV1V10V9Aainfix &lt;V10V5Aainfix &lt;=c0V10Eqainfix =agetV4V9aTrueIainfix &lt;V9V2Aainfix &lt;=c0V9FANainfix =agetV1V11agetV1V12INainfix =V11V12Iainfix &lt;V12V5Aainfix &lt;=c0V12Iainfix &lt;V11V5Aainfix &lt;=c0V11FIainfix &lt;=V5V3Aainfix &lt;=c0V5FFIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V13V2Aainfix &lt;=c0agetV1V13Iainfix &lt;V13V0Aainfix &lt;=c0V13FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.9"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="9. index in array bounds"
Martin Clochard's avatar
Martin Clochard committed
198
      sum="bd4aee6919c6b60b4e0886f97d37c2c3"
199
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
200
201
      expanded="true"
      shape="index in array boundsainfix &lt;V6V2Aainfix &lt;=c0V6INainfix =agetV4V6aTrueIainfix &lt;V6V2Aainfix &lt;=c0V6Aainfix &lt;=c0V2LagetV1V5Iainfix &lt;V5V0Aainfix &lt;=c0V5Iainfix =agetV1V8V7Aainfix &lt;V8V5Aainfix &lt;=c0V8Eqainfix =agetV4V7aTrueIainfix &lt;V7V2Aainfix &lt;=c0V7FANainfix =agetV1V9agetV1V10INainfix =V9V10Iainfix &lt;V10V5Aainfix &lt;=c0V10Iainfix &lt;V9V5Aainfix &lt;=c0V9FIainfix &lt;=V5V3Aainfix &lt;=c0V5FFIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V11V2Aainfix &lt;=c0agetV1V11Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.10"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="10. loop invariant preservation"
Martin Clochard's avatar
Martin Clochard committed
218
      sum="b5160b76e1b3e97ac33d9a4547eb9ad5"
219
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
220
221
      expanded="true"
      shape="loop invariant preservationNainfix =agetV1V8agetV1V9INainfix =V8V9Iainfix &lt;V9ainfix +V5c1Aainfix &lt;=c0V9Iainfix &lt;V8ainfix +V5c1Aainfix &lt;=c0V8FIainfix =V7asetV4V6aTrueAainfix &lt;=c0V2FIainfix &lt;V6V2Aainfix &lt;=c0V6INainfix =agetV4V6aTrueIainfix &lt;V6V2Aainfix &lt;=c0V6Aainfix &lt;=c0V2LagetV1V5Iainfix &lt;V5V0Aainfix &lt;=c0V5Iainfix =agetV1V11V10Aainfix &lt;V11V5Aainfix &lt;=c0V11Eqainfix =agetV4V10aTrueIainfix &lt;V10V2Aainfix &lt;=c0V10FANainfix =agetV1V12agetV1V13INainfix =V12V13Iainfix &lt;V13V5Aainfix &lt;=c0V13Iainfix &lt;V12V5Aainfix &lt;=c0V12FIainfix &lt;=V5V3Aainfix &lt;=c0V5FFIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V14V2Aainfix &lt;=c0agetV1V14Iainfix &lt;V14V0Aainfix &lt;=c0V14FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.11"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="11. loop invariant preservation"
Martin Clochard's avatar
Martin Clochard committed
238
      sum="646cfed7474750745a5a8bffbd5d0672"
239
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
240
241
      expanded="true"
      shape="loop invariant preservationainfix =agetV1V9V8Aainfix &lt;V9ainfix +V5c1Aainfix &lt;=c0V9Eqainfix =agetV7V8aTrueIainfix &lt;V8V2Aainfix &lt;=c0V8FIainfix =V7asetV4V6aTrueAainfix &lt;=c0V2FIainfix &lt;V6V2Aainfix &lt;=c0V6INainfix =agetV4V6aTrueIainfix &lt;V6V2Aainfix &lt;=c0V6Aainfix &lt;=c0V2LagetV1V5Iainfix &lt;V5V0Aainfix &lt;=c0V5Iainfix =agetV1V11V10Aainfix &lt;V11V5Aainfix &lt;=c0V11Eqainfix =agetV4V10aTrueIainfix &lt;V10V2Aainfix &lt;=c0V10FANainfix =agetV1V12agetV1V13INainfix =V12V13Iainfix &lt;V13V5Aainfix &lt;=c0V13Iainfix &lt;V12V5Aainfix &lt;=c0V12FIainfix &lt;=V5V3Aainfix &lt;=c0V5FFIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V14V2Aainfix &lt;=c0agetV1V14Iainfix &lt;V14V0Aainfix &lt;=c0V14FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter all_distinct.12"
      locfile="../all_distinct.mlw"
      loclnum="13" loccnumb="6" loccnume="18"
      expl="12. postcondition"
Martin Clochard's avatar
Martin Clochard committed
258
      sum="3010bad4861a5d4b8f8591549feced61"
259
      proved="true"
Martin Clochard's avatar
Martin Clochard committed
260
261
      expanded="true"
      shape="postconditionNainfix =agetV1V5agetV1V6INainfix =V5V6Iainfix &lt;V6V0Aainfix &lt;=c0V6Iainfix &lt;V5V0Aainfix &lt;=c0V5FIainfix =agetV1V8V7Aainfix &lt;V8ainfix +V3c1Aainfix &lt;=c0V8Eqainfix =agetV4V7aTrueIainfix &lt;V7V2Aainfix &lt;=c0V7FANainfix =agetV1V9agetV1V10INainfix =V9V10Iainfix &lt;V10ainfix +V3c1Aainfix &lt;=c0V10Iainfix &lt;V9ainfix +V3c1Aainfix &lt;=c0V9FFIainfix &lt;=c0V3Lainfix -V0c1Iainfix &lt;=c0V2Iainfix &gt;=V2c0Iainfix &lt;agetV1V11V2Aainfix &lt;=c0agetV1V11Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix &lt;=c0V2Aainfix &lt;=c0V0F">
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
      <label
       name="expl:VC for all_distinct"/>
      <proof
       prover="0"
       timelimit="6"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
    </transf>
   </goal>
  </theory>
 </file>
</why3session>