why3session.xml 68.1 KB
Newer Older
1
<?xml version="1.0" encoding="UTF-8"?>
MARCHE Claude's avatar
MARCHE Claude committed
2
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v2//EN" "http://why3.lri.fr/why3session.dtd">
Andrei Paskevich's avatar
Andrei Paskevich committed
3
<why3session shape_version="4">
4 5 6 7 8 9 10 11 12 13 14 15
 <prover id="0" name="Alt-Ergo" version="0.95.1"/>
 <prover id="1" name="Alt-Ergo" version="0.95.2"/>
 <prover id="2" name="CVC3" version="2.2"/>
 <prover id="3" name="CVC3" version="2.4.1"/>
 <prover id="4" name="CVC4" version="1.0"/>
 <prover id="5" name="CVC4" version="1.2"/>
 <prover id="6" name="CVC4" version="1.3"/>
 <prover id="7" name="Coq" version="8.4pl2"/>
 <prover id="8" name="Eprover" version="1.6"/>
 <prover id="9" name="Z3" version="4.2"/>
 <prover id="10" name="Z3" version="4.3.1"/>
 <file name="../mergesort_queue.mlw" verified="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
16
  expanded="true">
17 18
  <theory name="MergesortQueue" locfile="../mergesort_queue.mlw"
   loclnum="6" loccnumb="7" loccnume="21" verified="true"
19
   expanded="true">
20 21 22
   <goal name="WP_parameter merge" locfile="../mergesort_queue.mlw"
    loclnum="20" loccnumb="6" loccnume="11" expl="VC for merge"
    sum="c6c2f971ebbd94fa6479b593000d152b" proved="true"
23
    shape="iiapermutV3ainfix ++V0V1AasortedV3iiiainfix &lt;ainfix +alengthV5alengthV8ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V10V5V8ainfix ++V0V1AaleV11V12IamemV12V8IamemV11V10FAaleV13V14IamemV14V5IamemV13V10FAasortedV10AasortedV8AasortedV5Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V16Aainfix =V9V15aConsVVV4FFANainfix =V4aNilainfix &lt;ainfix +alengthV17alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V19V17V4ainfix ++V0V1AaleV20V21IamemV21V4IamemV20V19FAaleV22V23IamemV23V17IamemV22V19FAasortedV19AasortedV4AasortedV17Iainfix =V19ainfix ++V3aConsV18aNilFICfaNilainfix =V17V25Aainfix =V18V24aConsVVV5FFANainfix =V5aNilaleV6V7ICfaNilainfix =V7V26aConsVwV4FANainfix =V4aNilICfaNilainfix =V6V27aConsVwV5FANainfix =V5aNilainfix &lt;ainfix +alengthV28alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V30V28V4ainfix ++V0V1AaleV31V32IamemV32V4IamemV31V30FAaleV33V34IamemV34V28IamemV33V30FAasortedV30AasortedV4AasortedV28Iainfix =V30ainfix ++V3aConsV29aNilFICfaNilainfix =V28V36Aainfix =V29V35aConsVVV5FFANainfix =V5aNilainfix =alengthV4c0ainfix &lt;ainfix +alengthV5alengthV37ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V39V5V37ainfix ++V0V1AaleV40V41IamemV41V37IamemV40V39FAaleV42V43IamemV43V5IamemV42V39FAasortedV39AasortedV37AasortedV5Iainfix =V39ainfix ++V3aConsV38aNilFICfaNilainfix =V37V45Aainfix =V38V44aConsVVV4FFANainfix =V4aNilainfix =alengthV5c0ainfix &gt;alengthV4c0iiiainfix &lt;ainfix +alengthV5alengthV48ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V50V5V48ainfix ++V0V1AaleV51V52IamemV52V48IamemV51V50FAaleV53V54IamemV54V5IamemV53V50FAasortedV50AasortedV48AasortedV5Iainfix =V50ainfix ++V3aConsV49aNilFICfaNilainfix =V48V56Aainfix =V49V55aConsVVV4FFANainfix =V4aNilainfix &lt;ainfix +alengthV57alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V59V57V4ainfix ++V0V1AaleV60V61IamemV61V4IamemV60V59FAaleV62V63IamemV63V57IamemV62V59FAasortedV59AasortedV4AasortedV57Iainfix =V59ainfix ++V3aConsV58aNilFICfaNilainfix =V57V65Aainfix =V58V64aConsVVV5FFANainfix =V5aNilaleV46V47ICfaNilainfix =V47V66aConsVwV4FANainfix =V4aNilICfaNilainfix =V46V67aConsVwV5FANainfix =V5aNilainfix &lt;ainfix +alengthV68alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V70V68V4ainfix ++V0V1AaleV71V72IamemV72V4IamemV71V70FAaleV73V74IamemV74V68IamemV73V70FAasortedV70AasortedV4AasortedV68Iainfix =V70ainfix ++V3aConsV69aNilFICfaNilainfix =V68V76Aainfix =V69V75aConsVVV5FFANainfix =V5aNilainfix =alengthV4c0ainfix &lt;ainfix +alengthV5alengthV77ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Aapermutainfix ++ainfix ++V79V5V77ainfix ++V0V1AaleV80V81IamemV81V77IamemV80V79FAaleV82V83IamemV83V5IamemV82V79FAasortedV79AasortedV77AasortedV5Iainfix =V79ainfix ++V3aConsV78aNilFICfaNilainfix =V77V85Aainfix =V78V84aConsVVV4FFANainfix =V4aNilainfix =alengthV5c0ainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV86V87IamemV87V4IamemV86V3FAaleV88V89IamemV89V5IamemV88V3FAasortedV3AasortedV4AasortedV5FAapermutainfix ++ainfix ++V2V0V1ainfix ++V0V1AaleV90V91IamemV91V1IamemV90V2FAaleV92V93IamemV93V0IamemV92V2FAasortedV2AasortedV1AasortedV0IasortedV1AasortedV0Aainfix =V2aNilF">
24 25 26 27 28 29
    <label name="expl:VC for merge"/>
    <transf name="split_goal"
     proved="true">
     <goal name="WP_parameter merge.1" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="1. loop invariant init"
      sum="0a0b9bb8e30c4bca331294afb311cf51" proved="true"
30
      shape="loop invariant initasortedV2AasortedV1AasortedV0IasortedV1AasortedV0Aainfix =V2aNilF">
31 32 33
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
34
       <result status="valid" time="0.02"/>
35 36
      </proof>
     </goal>
37 38 39
     <goal name="WP_parameter merge.2" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="2. loop invariant init"
      sum="60d5b17bacad3906cf10d9416303c5f7" proved="true"
40
      shape="loop invariant initaleV3V4IamemV4V0IamemV3V2FIasortedV1AasortedV0Aainfix =V2aNilF">
41 42 43
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
44
       <result status="valid" time="0.02"/>
45 46
      </proof>
     </goal>
47 48 49
     <goal name="WP_parameter merge.3" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="3. loop invariant init"
      sum="565f2d8fab46418eac2fd0b4d8563248" proved="true"
50
      shape="loop invariant initaleV3V4IamemV4V1IamemV3V2FIasortedV1AasortedV0Aainfix =V2aNilF">
51 52 53
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
54
       <result status="valid" time="0.02"/>
55 56
      </proof>
     </goal>
57 58 59
     <goal name="WP_parameter merge.4" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="4. loop invariant init"
      sum="2032e4158a2c4962d479c03e25baa5c6" proved="true"
60
      shape="loop invariant initapermutainfix ++ainfix ++V2V0V1ainfix ++V0V1IasortedV1AasortedV0Aainfix =V2aNilF">
61 62 63
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
64
       <result status="valid" time="0.02"/>
65 66
      </proof>
     </goal>
67 68 69
     <goal name="WP_parameter merge.5" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="5. precondition"
      sum="0824ce1f41e12e409b533f7f9e77f21e" proved="true"
70
      shape="preconditionNainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV6V7IamemV7V4IamemV6V3FAaleV8V9IamemV9V5IamemV8V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
71 72 73
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
74
       <result status="valid" time="0.01"/>
75 76
      </proof>
     </goal>
77
     <goal name="WP_parameter merge.6" locfile="../mergesort_queue.mlw"
78
      loclnum="20" loccnumb="6" loccnume="11"
79
      expl="6. loop invariant preservation"
80
      sum="2420db2b86dd7801ac2a56bf31a48171" proved="true"
81
      shape="loop invariant preservationasortedV8AasortedV6AasortedV5Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
82 83 84
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
85
       <result status="valid" time="0.01"/>
86
      </proof>
87
     </goal>
88
     <goal name="WP_parameter merge.7" locfile="../mergesort_queue.mlw"
89 90
      loclnum="20" loccnumb="6" loccnume="11"
      expl="7. loop invariant preservation"
91
      sum="daf867c4cf5f435afce0928ea5808b8a" proved="true"
92
      shape="loop invariant preservationaleV9V10IamemV10V5IamemV9V8FIainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V12Aainfix =V7V11aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV13V14IamemV14V4IamemV13V3FAaleV15V16IamemV16V5IamemV15V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
93 94 95
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
96
       <result status="valid" time="0.02"/>
97 98
      </proof>
     </goal>
99
     <goal name="WP_parameter merge.8" locfile="../mergesort_queue.mlw"
100
      loclnum="20" loccnumb="6" loccnume="11"
101
      expl="8. loop invariant preservation"
102
      sum="fa753065ca43b34e648c956c0e37642e" proved="true"
103
      shape="loop invariant preservationaleV9V10IamemV10V6IamemV9V8FIainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V12Aainfix =V7V11aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV13V14IamemV14V4IamemV13V3FAaleV15V16IamemV16V5IamemV15V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
104 105 106
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
107
       <result status="valid" time="0.02"/>
108 109
      </proof>
     </goal>
110
     <goal name="WP_parameter merge.9" locfile="../mergesort_queue.mlw"
111
      loclnum="20" loccnumb="6" loccnume="11"
112
      expl="9. loop invariant preservation"
113
      sum="735cebb3058904dfc5d61fb011ce4583" proved="true"
114
      shape="loop invariant preservationapermutainfix ++ainfix ++V8V5V6ainfix ++V0V1Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
115 116 117
      <label name="expl:VC for merge"/>
      <proof prover="3" timelimit="10"
       memlimit="0">
118
       <result status="valid" time="0.03"/>
119 120
      </proof>
     </goal>
121
     <goal name="WP_parameter merge.10" locfile="../mergesort_queue.mlw"
122
      loclnum="20" loccnumb="6" loccnume="11"
123
      expl="10. loop variant decrease" sum="ce77a70267eda5b48f6f1e5441b470c4"
124
      proved="true"
125
      shape="loop variant decreaseainfix &lt;ainfix +alengthV5alengthV6ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
126 127 128
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
129
       <result status="valid" time="0.02"/>
130 131
      </proof>
     </goal>
132 133 134
     <goal name="WP_parameter merge.11" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="11. precondition"
      sum="8b42a321248a44d8079738eb4e479f5a" proved="true"
135
      shape="preconditionNainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV6V7IamemV7V4IamemV6V3FAaleV8V9IamemV9V5IamemV8V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
136 137 138
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
139 140 141
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
142
     <goal name="WP_parameter merge.12" locfile="../mergesort_queue.mlw"
143
      loclnum="20" loccnumb="6" loccnume="11"
144
      expl="12. loop invariant preservation"
145
      sum="0527164e0a162ca750fca4a262c24b83" proved="true"
146
      shape="loop invariant preservationasortedV8AasortedV4AasortedV6Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
147 148 149
      <label name="expl:VC for merge"/>
      <proof prover="6" timelimit="6"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
150
       <result status="valid" time="0.37"/>
151
      </proof>
152
     </goal>
153
     <goal name="WP_parameter merge.13" locfile="../mergesort_queue.mlw"
154 155
      loclnum="20" loccnumb="6" loccnume="11"
      expl="13. loop invariant preservation"
156
      sum="2cfb62ef6a43267886c9c141cd2c34d8" proved="true"
157
      shape="loop invariant preservationaleV9V10IamemV10V6IamemV9V8FIainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V12Aainfix =V7V11aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV13V14IamemV14V4IamemV13V3FAaleV15V16IamemV16V5IamemV15V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
158 159 160
      <label name="expl:VC for merge"/>
      <proof prover="6" timelimit="6"
       memlimit="1000">
161
       <result status="valid" time="0.53"/>
162 163
      </proof>
     </goal>
164
     <goal name="WP_parameter merge.14" locfile="../mergesort_queue.mlw"
165
      loclnum="20" loccnumb="6" loccnume="11"
166
      expl="14. loop invariant preservation"
167
      sum="ca6095686d9a1731dc853b48e2e5b395" proved="true"
168
      shape="loop invariant preservationaleV9V10IamemV10V4IamemV9V8FIainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V12Aainfix =V7V11aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV13V14IamemV14V4IamemV13V3FAaleV15V16IamemV16V5IamemV15V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
169 170 171
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
172
       <result status="valid" time="0.12"/>
173 174
      </proof>
     </goal>
175
     <goal name="WP_parameter merge.15" locfile="../mergesort_queue.mlw"
176
      loclnum="20" loccnumb="6" loccnume="11"
177
      expl="15. loop invariant preservation"
178
      sum="36328611ec4d7a8585d32922a2bf9f40" proved="true"
179
      shape="loop invariant preservationapermutainfix ++ainfix ++V8V6V4ainfix ++V0V1Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
180 181 182
      <label name="expl:VC for merge"/>
      <proof prover="3" timelimit="5"
       memlimit="1000">
183 184
       <result status="valid" time="0.09"/>
      </proof>
185 186
      <proof prover="5" timelimit="5"
       memlimit="1000">
187
       <result status="valid" time="0.10"/>
188 189
      </proof>
     </goal>
190
     <goal name="WP_parameter merge.16" locfile="../mergesort_queue.mlw"
191
      loclnum="20" loccnumb="6" loccnume="11"
192
      expl="16. loop variant decrease" sum="3fa138cc796da88ae30e91b3f64b71fa"
193
      proved="true"
194
      shape="loop variant decreaseainfix &lt;ainfix +alengthV6alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
195 196 197
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
198
       <result status="valid" time="0.01"/>
199 200
      </proof>
     </goal>
201 202 203
     <goal name="WP_parameter merge.17" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="17. precondition"
      sum="5f80ff48bac7707a564c5e7d034a2097" proved="true"
204
      shape="preconditionNainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV6V7IamemV7V4IamemV6V3FAaleV8V9IamemV9V5IamemV8V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
205 206 207
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
208
       <result status="valid" time="0.02"/>
209 210
      </proof>
     </goal>
211 212 213
     <goal name="WP_parameter merge.18" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="18. precondition"
      sum="3ad19655c38c3e8eacd345a9ff7fde1c" proved="true"
214
      shape="preconditionNainfix =V4aNilICfaNilainfix =V6V7aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV8V9IamemV9V4IamemV8V3FAaleV10V11IamemV11V5IamemV10V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
215 216 217
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
218 219 220
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
221 222 223
     <goal name="WP_parameter merge.19" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="19. precondition"
      sum="d455fc9d7354ac3d88e559b206adb87f" proved="true"
224
      shape="preconditionNainfix =V5aNilIaleV6V7ICfaNilainfix =V7V8aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V9aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV10V11IamemV11V4IamemV10V3FAaleV12V13IamemV13V5IamemV12V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
225 226 227
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
228
       <result status="valid" time="0.02"/>
229
      </proof>
230
     </goal>
231
     <goal name="WP_parameter merge.20" locfile="../mergesort_queue.mlw"
232 233
      loclnum="20" loccnumb="6" loccnume="11"
      expl="20. loop invariant preservation"
234
      sum="9fa787f60773d3afb5e88c423f288219" proved="true"
235
      shape="loop invariant preservationasortedV10AasortedV4AasortedV8Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
236 237 238
      <label name="expl:VC for merge"/>
      <proof prover="6" timelimit="6"
       memlimit="1000">
239
       <result status="valid" time="0.55"/>
240 241
      </proof>
     </goal>
242
     <goal name="WP_parameter merge.21" locfile="../mergesort_queue.mlw"
243
      loclnum="20" loccnumb="6" loccnume="11"
244
      expl="21. loop invariant preservation"
245
      sum="c5c029e5bf6c65b10801b97ecefef349" proved="true"
246
      shape="loop invariant preservationaleV11V12IamemV12V8IamemV11V10FIainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V14Aainfix =V9V13aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V15aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V16aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV17V18IamemV18V4IamemV17V3FAaleV19V20IamemV20V5IamemV19V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
247 248 249
      <label name="expl:VC for merge"/>
      <proof prover="6" timelimit="6"
       memlimit="1000">
250
       <result status="valid" time="0.53"/>
251 252
      </proof>
     </goal>
253
     <goal name="WP_parameter merge.22" locfile="../mergesort_queue.mlw"
254
      loclnum="20" loccnumb="6" loccnume="11"
255
      expl="22. loop invariant preservation"
256
      sum="8221b41bda71b34d11c5ef3d8f200006" proved="true"
257
      shape="loop invariant preservationaleV11V12IamemV12V4IamemV11V10FIainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V14Aainfix =V9V13aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V15aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V16aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV17V18IamemV18V4IamemV17V3FAaleV19V20IamemV20V5IamemV19V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
258 259 260
      <label name="expl:VC for merge"/>
      <proof prover="3" timelimit="6"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
261
       <result status="valid" time="2.46"/>
262 263
      </proof>
     </goal>
264
     <goal name="WP_parameter merge.23" locfile="../mergesort_queue.mlw"
265
      loclnum="20" loccnumb="6" loccnume="11"
266
      expl="23. loop invariant preservation"
267
      sum="1d7766eb80a528abfbe3802c5c4dbafc" proved="true"
268
      shape="loop invariant preservationapermutainfix ++ainfix ++V10V8V4ainfix ++V0V1Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
269 270 271
      <label name="expl:VC for merge"/>
      <proof prover="3" timelimit="5"
       memlimit="1000">
272 273
       <result status="valid" time="0.29"/>
      </proof>
274 275
      <proof prover="5" timelimit="5"
       memlimit="1000">
276
       <result status="valid" time="0.12"/>
277 278
      </proof>
     </goal>
279
     <goal name="WP_parameter merge.24" locfile="../mergesort_queue.mlw"
280
      loclnum="20" loccnumb="6" loccnume="11"
281
      expl="24. loop variant decrease" sum="8b971e31509583a7c0ad980470a239c4"
282
      proved="true"
283
      shape="loop variant decreaseainfix &lt;ainfix +alengthV8alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
284 285 286
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
287
       <result status="valid" time="0.02"/>
288 289
      </proof>
     </goal>
290 291 292
     <goal name="WP_parameter merge.25" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="25. precondition"
      sum="4a7ee8bbfe15a7b71c11eb36452925e2" proved="true"
293
      shape="preconditionNainfix =V4aNilINaleV6V7ICfaNilainfix =V7V8aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V9aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV10V11IamemV11V4IamemV10V3FAaleV12V13IamemV13V5IamemV12V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
294 295 296
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
297 298 299
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
300
     <goal name="WP_parameter merge.26" locfile="../mergesort_queue.mlw"
301
      loclnum="20" loccnumb="6" loccnume="11"
302
      expl="26. loop invariant preservation"
303
      sum="e284c1eca91180463e9db69136735990" proved="true"
304
      shape="loop invariant preservationasortedV10AasortedV8AasortedV5Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
305 306 307
      <label name="expl:VC for merge"/>
      <proof prover="6" timelimit="6"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
308
       <result status="valid" time="0.40"/>
309 310
      </proof>
     </goal>
311
     <goal name="WP_parameter merge.27" locfile="../mergesort_queue.mlw"
312
      loclnum="20" loccnumb="6" loccnume="11"
313
      expl="27. loop invariant preservation"
314
      sum="cfb9aafaff683c7bc71e5be78737067a" proved="true"
315
      shape="loop invariant preservationaleV11V12IamemV12V5IamemV11V10FIainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V14Aainfix =V9V13aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V15aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V16aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV17V18IamemV18V4IamemV17V3FAaleV19V20IamemV20V5IamemV19V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
316 317 318
      <label name="expl:VC for merge"/>
      <proof prover="3" timelimit="6"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
319
       <result status="valid" time="2.59"/>
320 321
      </proof>
     </goal>
322
     <goal name="WP_parameter merge.28" locfile="../mergesort_queue.mlw"
323
      loclnum="20" loccnumb="6" loccnume="11"
324
      expl="28. loop invariant preservation"
325
      sum="a7d555a73b321971b35aa008c044dd30" proved="true"
326
      shape="loop invariant preservationaleV11V12IamemV12V8IamemV11V10FIainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V14Aainfix =V9V13aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V15aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V16aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV17V18IamemV18V4IamemV17V3FAaleV19V20IamemV20V5IamemV19V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
327 328 329
      <label name="expl:VC for merge"/>
      <proof prover="6" timelimit="6"
       memlimit="1000">
330 331 332
       <result status="valid" time="0.58"/>
      </proof>
     </goal>
333
     <goal name="WP_parameter merge.29" locfile="../mergesort_queue.mlw"
334 335
      loclnum="20" loccnumb="6" loccnume="11"
      expl="29. loop invariant preservation"
336
      sum="60563376b8f3f205d587cd4bcbe6efff" proved="true"
337
      shape="loop invariant preservationapermutainfix ++ainfix ++V10V5V8ainfix ++V0V1Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
338 339 340
      <label name="expl:VC for merge"/>
      <proof prover="7" timelimit="10" memlimit="0"
       edited="mergesort_queue_MergesortQueue_WP_parameter_merge_3.v">
MARCHE Claude's avatar
MARCHE Claude committed
341
       <result status="valid" time="1.02"/>
342 343
      </proof>
     </goal>
344
     <goal name="WP_parameter merge.30" locfile="../mergesort_queue.mlw"
345
      loclnum="20" loccnumb="6" loccnume="11"
346
      expl="30. loop variant decrease" sum="a1c9f0696fa390af7934becc2906baf1"
347
      proved="true"
348
      shape="loop variant decreaseainfix &lt;ainfix +alengthV5alengthV8ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
349 350 351
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
352
       <result status="valid" time="0.02"/>
353 354
      </proof>
     </goal>
355 356 357
     <goal name="WP_parameter merge.31" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="31. precondition"
      sum="ded692c87aadf63d15b1f4ed7e0c6990" proved="true"
358
      shape="preconditionNainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV6V7IamemV7V4IamemV6V3FAaleV8V9IamemV9V5IamemV8V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
359 360 361
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
Andrei Paskevich's avatar
Andrei Paskevich committed
362
       <result status="valid" time="0.02"/>
363 364
      </proof>
     </goal>
365
     <goal name="WP_parameter merge.32" locfile="../mergesort_queue.mlw"
366
      loclnum="20" loccnumb="6" loccnume="11"
367
      expl="32. loop invariant preservation"
368
      sum="7f3eed970327db41dce8b52344becf06" proved="true"
369
      shape="loop invariant preservationasortedV8AasortedV6AasortedV5Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
370 371 372
      <label name="expl:VC for merge"/>
      <proof prover="6" timelimit="6"
       memlimit="1000">
373
       <result status="valid" time="0.54"/>
374 375
      </proof>
     </goal>
376
     <goal name="WP_parameter merge.33" locfile="../mergesort_queue.mlw"
377
      loclnum="20" loccnumb="6" loccnume="11"
378
      expl="33. loop invariant preservation"
379
      sum="5cf8f64f1b8525f89cfa66e3d89e7acc" proved="true"
380
      shape="loop invariant preservationaleV9V10IamemV10V5IamemV9V8FIainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V12Aainfix =V7V11aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV13V14IamemV14V4IamemV13V3FAaleV15V16IamemV16V5IamemV15V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
381 382 383
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
384
       <result status="valid" time="0.14"/>
385 386
      </proof>
     </goal>
387
     <goal name="WP_parameter merge.34" locfile="../mergesort_queue.mlw"
388
      loclnum="20" loccnumb="6" loccnume="11"
389
      expl="34. loop invariant preservation"
390
      sum="11fe4e13d6ed9d1dae5a878cf50594ad" proved="true"
391
      shape="loop invariant preservationaleV9V10IamemV10V6IamemV9V8FIainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V12Aainfix =V7V11aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV13V14IamemV14V4IamemV13V3FAaleV15V16IamemV16V5IamemV15V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
392 393 394
      <label name="expl:VC for merge"/>
      <proof prover="6" timelimit="6"
       memlimit="1000">
395 396 397
       <result status="valid" time="0.55"/>
      </proof>
     </goal>
398
     <goal name="WP_parameter merge.35" locfile="../mergesort_queue.mlw"
399 400
      loclnum="20" loccnumb="6" loccnume="11"
      expl="35. loop invariant preservation"
401
      sum="be1a1cf24652d6326a1dbc037c705614" proved="true"
402
      shape="loop invariant preservationapermutainfix ++ainfix ++V8V5V6ainfix ++V0V1Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
403 404 405
      <label name="expl:VC for merge"/>
      <proof prover="3" timelimit="5"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
406
       <result status="valid" time="1.07"/>
407
      </proof>
408 409
      <proof prover="5" timelimit="5"
       memlimit="1000">
410 411 412
       <result status="valid" time="0.11"/>
      </proof>
     </goal>
413
     <goal name="WP_parameter merge.36" locfile="../mergesort_queue.mlw"
414
      loclnum="20" loccnumb="6" loccnume="11"
415
      expl="36. loop variant decrease" sum="4deb70f6db3a92c34c395d91bec1d247"
416 417
      proved="true"
      shape="loop variant decreaseainfix &lt;ainfix +alengthV5alengthV6ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV4FFINainfix =V4aNilIainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
418 419 420
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
421 422 423
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
424 425 426
     <goal name="WP_parameter merge.37" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="37. precondition"
      sum="a3126a79484bf0238dbd36cc44638fe4" proved="true"
427
      shape="preconditionNainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV6V7IamemV7V4IamemV6V3FAaleV8V9IamemV9V5IamemV8V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
428 429 430
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
431 432 433
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
434
     <goal name="WP_parameter merge.38" locfile="../mergesort_queue.mlw"
435 436
      loclnum="20" loccnumb="6" loccnume="11"
      expl="38. loop invariant preservation"
437
      sum="a98e5a96a48bcbf5531e6399dad68080" proved="true"
438
      shape="loop invariant preservationasortedV8AasortedV4AasortedV6Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
439 440 441
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
442 443 444
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
445
     <goal name="WP_parameter merge.39" locfile="../mergesort_queue.mlw"
446 447
      loclnum="20" loccnumb="6" loccnume="11"
      expl="39. loop invariant preservation"
448
      sum="c8d565125b6370ef630d84965052c5d4" proved="true"
449
      shape="loop invariant preservationaleV9V10IamemV10V6IamemV9V8FIainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V12Aainfix =V7V11aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV13V14IamemV14V4IamemV13V3FAaleV15V16IamemV16V5IamemV15V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
450 451 452
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
453 454 455
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
456
     <goal name="WP_parameter merge.40" locfile="../mergesort_queue.mlw"
457 458
      loclnum="20" loccnumb="6" loccnume="11"
      expl="40. loop invariant preservation"
459
      sum="1ab51f19543599a95b90402f696d9131" proved="true"
460
      shape="loop invariant preservationaleV9V10IamemV10V4IamemV9V8FIainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V12Aainfix =V7V11aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV13V14IamemV14V4IamemV13V3FAaleV15V16IamemV16V5IamemV15V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
461 462 463
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
464 465
       <result status="valid" time="0.02"/>
      </proof>
466 467
      <proof prover="6" timelimit="6"
       memlimit="1000">
468 469 470
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
471
     <goal name="WP_parameter merge.41" locfile="../mergesort_queue.mlw"
472 473
      loclnum="20" loccnumb="6" loccnume="11"
      expl="41. loop invariant preservation"
474
      sum="2dfdf723dd30eb9958b23c2839fba76a" proved="true"
475
      shape="loop invariant preservationapermutainfix ++ainfix ++V8V6V4ainfix ++V0V1Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
476 477 478
      <label name="expl:VC for merge"/>
      <proof prover="3" timelimit="10"
       memlimit="0">
479 480 481
       <result status="valid" time="0.06"/>
      </proof>
     </goal>
482
     <goal name="WP_parameter merge.42" locfile="../mergesort_queue.mlw"
483
      loclnum="20" loccnumb="6" loccnume="11"
484
      expl="42. loop variant decrease" sum="49d77cc98570e02c4146c949e2e4ccc7"
485 486
      proved="true"
      shape="loop variant decreaseainfix &lt;ainfix +alengthV6alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V8ainfix ++V3aConsV7aNilFICfaNilainfix =V6V10Aainfix =V7V9aConsVVV5FFINainfix =V5aNilIainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV11V12IamemV12V4IamemV11V3FAaleV13V14IamemV14V5IamemV13V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
487 488 489
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
490 491 492
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
493 494 495
     <goal name="WP_parameter merge.43" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="43. precondition"
      sum="f85228e940c078547f7e3b80c434a188" proved="true"
496
      shape="preconditionNainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV6V7IamemV7V4IamemV6V3FAaleV8V9IamemV9V5IamemV8V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
497 498 499
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
500 501 502
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
503 504 505
     <goal name="WP_parameter merge.44" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="44. precondition"
      sum="8007484cdc0015f97c2d039ee51c2b67" proved="true"
506
      shape="preconditionNainfix =V4aNilICfaNilainfix =V6V7aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV8V9IamemV9V4IamemV8V3FAaleV10V11IamemV11V5IamemV10V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
507 508 509
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
510 511 512
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
513 514 515
     <goal name="WP_parameter merge.45" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="45. precondition"
      sum="b98be62a5f9bb3a98314433d20624549" proved="true"
516
      shape="preconditionNainfix =V5aNilIaleV6V7ICfaNilainfix =V7V8aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V9aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV10V11IamemV11V4IamemV10V3FAaleV12V13IamemV13V5IamemV12V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
517 518 519
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
520 521 522
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
523
     <goal name="WP_parameter merge.46" locfile="../mergesort_queue.mlw"
524 525
      loclnum="20" loccnumb="6" loccnume="11"
      expl="46. loop invariant preservation"
526
      sum="61b3a3a4f6d4eee1c1769d4b7c835820" proved="true"
527
      shape="loop invariant preservationasortedV10AasortedV4AasortedV8Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
528 529 530
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
531 532 533
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
534
     <goal name="WP_parameter merge.47" locfile="../mergesort_queue.mlw"
535 536
      loclnum="20" loccnumb="6" loccnume="11"
      expl="47. loop invariant preservation"
537
      sum="1bd05c1fe40248e7fa2e1735817dd18e" proved="true"
538
      shape="loop invariant preservationaleV11V12IamemV12V8IamemV11V10FIainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V14Aainfix =V9V13aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V15aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V16aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV17V18IamemV18V4IamemV17V3FAaleV19V20IamemV20V5IamemV19V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
539 540 541
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
542 543
       <result status="valid" time="0.03"/>
      </proof>
544 545
      <proof prover="6" timelimit="6"
       memlimit="1000">
546 547 548
       <result status="valid" time="0.04"/>
      </proof>
     </goal>
549
     <goal name="WP_parameter merge.48" locfile="../mergesort_queue.mlw"
550 551
      loclnum="20" loccnumb="6" loccnume="11"
      expl="48. loop invariant preservation"
552
      sum="57fc1399e6bb7165e35096796e2f58d6" proved="true"
553
      shape="loop invariant preservationaleV11V12IamemV12V4IamemV11V10FIainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V14Aainfix =V9V13aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V15aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V16aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV17V18IamemV18V4IamemV17V3FAaleV19V20IamemV20V5IamemV19V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
554 555 556
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
557 558
       <result status="valid" time="0.04"/>
      </proof>
559 560
      <proof prover="6" timelimit="6"
       memlimit="1000">
561 562 563
       <result status="valid" time="0.04"/>
      </proof>
     </goal>
564
     <goal name="WP_parameter merge.49" locfile="../mergesort_queue.mlw"
565 566
      loclnum="20" loccnumb="6" loccnume="11"
      expl="49. loop invariant preservation"
567
      sum="94f6443d67f4666902effddfe7fdf487" proved="true"
568
      shape="loop invariant preservationapermutainfix ++ainfix ++V10V8V4ainfix ++V0V1Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
569 570 571
      <label name="expl:VC for merge"/>
      <proof prover="3" timelimit="10"
       memlimit="0">
572 573 574
       <result status="valid" time="0.06"/>
      </proof>
     </goal>
575
     <goal name="WP_parameter merge.50" locfile="../mergesort_queue.mlw"
576
      loclnum="20" loccnumb="6" loccnume="11"
577
      expl="50. loop variant decrease" sum="45666e171be65fb99392cc60e18729ac"
578 579
      proved="true"
      shape="loop variant decreaseainfix &lt;ainfix +alengthV8alengthV4ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV5FFINainfix =V5aNilIaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
580 581 582
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
583 584 585
       <result status="valid" time="0.04"/>
      </proof>
     </goal>
586 587 588
     <goal name="WP_parameter merge.51" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="51. precondition"
      sum="5e6d0c8fe6f5267a62b97a5588b3afd2" proved="true"
589
      shape="preconditionNainfix =V4aNilINaleV6V7ICfaNilainfix =V7V8aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V9aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV10V11IamemV11V4IamemV10V3FAaleV12V13IamemV13V5IamemV12V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
590 591 592
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
593 594 595
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
596
     <goal name="WP_parameter merge.52" locfile="../mergesort_queue.mlw"
597 598
      loclnum="20" loccnumb="6" loccnume="11"
      expl="52. loop invariant preservation"
599
      sum="1b600e66497a0b63ca5517c78d494332" proved="true"
600
      shape="loop invariant preservationasortedV10AasortedV8AasortedV5Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
601 602 603
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
604 605 606
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
607
     <goal name="WP_parameter merge.53" locfile="../mergesort_queue.mlw"
608 609
      loclnum="20" loccnumb="6" loccnume="11"
      expl="53. loop invariant preservation"
610
      sum="dae01bb858df3cf02f8a409a81244b7d" proved="true"
611
      shape="loop invariant preservationaleV11V12IamemV12V5IamemV11V10FIainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V14Aainfix =V9V13aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V15aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V16aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV17V18IamemV18V4IamemV17V3FAaleV19V20IamemV20V5IamemV19V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
612 613 614
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
615 616
       <result status="valid" time="0.03"/>
      </proof>
617 618
      <proof prover="6" timelimit="6"
       memlimit="1000">
619 620 621
       <result status="valid" time="0.04"/>
      </proof>
     </goal>
622
     <goal name="WP_parameter merge.54" locfile="../mergesort_queue.mlw"
623 624
      loclnum="20" loccnumb="6" loccnume="11"
      expl="54. loop invariant preservation"
625
      sum="6b0837848d2ebb5cc237ed830eccda3c" proved="true"
626
      shape="loop invariant preservationaleV11V12IamemV12V8IamemV11V10FIainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V14Aainfix =V9V13aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V15aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V16aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV17V18IamemV18V4IamemV17V3FAaleV19V20IamemV20V5IamemV19V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
627 628 629
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
630 631
       <result status="valid" time="0.03"/>
      </proof>
632 633
      <proof prover="6" timelimit="6"
       memlimit="1000">
634 635 636
       <result status="valid" time="0.04"/>
      </proof>
     </goal>
637
     <goal name="WP_parameter merge.55" locfile="../mergesort_queue.mlw"
638 639
      loclnum="20" loccnumb="6" loccnume="11"
      expl="55. loop invariant preservation"
640
      sum="d3cf9a13c95032043e1bb17fac756fae" proved="true"
641
      shape="loop invariant preservationapermutainfix ++ainfix ++V10V5V8ainfix ++V0V1Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
642 643 644
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="5"
       memlimit="1000">
645 646
       <result status="valid" time="0.09"/>
      </proof>
647 648
      <proof prover="1" timelimit="6"
       memlimit="1000">
649 650 651
       <result status="valid" time="0.10"/>
      </proof>
     </goal>
652
     <goal name="WP_parameter merge.56" locfile="../mergesort_queue.mlw"
653
      loclnum="20" loccnumb="6" loccnume="11"
654
      expl="56. loop variant decrease" sum="2e5ea3576f5b0d9460eba5c857355c20"
655 656
      proved="true"
      shape="loop variant decreaseainfix &lt;ainfix +alengthV5alengthV8ainfix +alengthV5alengthV4Aainfix &lt;=c0ainfix +alengthV5alengthV4Iainfix =V10ainfix ++V3aConsV9aNilFICfaNilainfix =V8V12Aainfix =V9V11aConsVVV4FFINainfix =V4aNilINaleV6V7ICfaNilainfix =V7V13aConsVwV4FINainfix =V4aNilICfaNilainfix =V6V14aConsVwV5FINainfix =V5aNilINainfix =alengthV4c0INainfix =alengthV5c0Iainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV15V16IamemV16V4IamemV15V3FAaleV17V18IamemV18V5IamemV17V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
657 658 659
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
660 661
       <result status="valid" time="0.04"/>
      </proof>
662 663
      <proof prover="1" timelimit="6"
       memlimit="1000">
664 665 666
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
667 668 669
     <goal name="WP_parameter merge.57" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="57. postcondition"
      sum="d9a6fa555965cd875af2a32011b53f8d" proved="true"
670
      shape="postconditionasortedV3INainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV6V7IamemV7V4IamemV6V3FAaleV8V9IamemV9V5IamemV8V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
671 672 673
      <label name="expl:VC for merge"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
674 675 676
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
677 678 679
     <goal name="WP_parameter merge.58" locfile="../mergesort_queue.mlw"
      loclnum="20" loccnumb="6" loccnume="11" expl="58. postcondition"
      sum="4ed7a226f52217075b89248cf0c30b44" proved="true"
680
      shape="postconditionapermutV3ainfix ++V0V1INainfix &gt;alengthV4c0INainfix &gt;alengthV5c0Iapermutainfix ++ainfix ++V3V5V4ainfix ++V0V1AaleV6V7IamemV7V4IamemV6V3FAaleV8V9IamemV9V5IamemV8V3FAasortedV3AasortedV4AasortedV5FIasortedV1AasortedV0Aainfix =V2aNilF">
681 682 683
      <label name="expl:VC for merge"/>
      <proof prover="0" timelimit="10"
       memlimit="0">
MARCHE Claude's avatar
MARCHE Claude committed
684
       <result status="valid" time="2.10"/>
685
      </proof>
686 687
      <proof prover="1" timelimit="6"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
688
       <result status="valid" time="1.26"/>
689 690 691 692
      </proof>
     </goal>
    </transf>
   </goal>
693 694 695
   <goal name="WP_parameter mergesort" locfile="../mergesort_queue.mlw"
    loclnum="45" loccnumb="10" loccnume="19" expl="VC for mergesort"
    sum="4ef4ed5d0bd66c257f898a145ecfba1b" proved="true" expanded="true"
696
    shape="iapermutV0V0AasortedV0Aainfix =V0aConsV1aNilEOainfix =V0aNiliapermutV10V0AasortedV10IapermutV10ainfix ++V8V9AasortedV10FAasortedV9AasortedV8Aainfix =V6aNilIapermutV9V4AasortedV9FAainfix &lt;alengthV4alengthV0Aainfix &lt;=c0alengthV0IapermutV8V5AasortedV8FAainfix &lt;alengthV5alengthV0Aainfix &lt;=c0alengthV0Aapermutainfix ++V5V4V0Aainfix =V6aNiliainfix &lt;alengthV11alengthV6Aainfix &lt;=c0alengthV6Aainfix =alengthV13ainfix +alengthV4c1Aainfix =alengthV11c0Oainfix =alengthV13alengthV4Aapermutainfix ++ainfix ++V13V4V11V0ainfix &lt;alengthV15alengthV6Aainfix &lt;=c0alengthV6Aainfix =alengthV13ainfix +alengthV17c1Aainfix =alengthV15c0Oainfix =alengthV13alengthV17Aapermutainfix ++ainfix ++V13V17V15V0Iainfix =V17ainfix ++V4aConsV16aNilFICfaNilainfix =V15V19Aainfix =V16V18aConsVVV11FFANainfix =V11aNilNainfix =V14aTrueIainfix =V11aNilqainfix =V14aTrueFIainfix =V13ainfix ++V5aConsV12aNilFICfaNilainfix =V11V21Aainfix =V12V20aConsVVV6FFANainfix =V6aNilNainfix =V7aTrueIainfix =V6aNilqainfix =V7aTrueFIainfix =alengthV5ainfix +alengthV4c1Aainfix =alengthV6c0Oainfix =alengthV5alengthV4Aapermutainfix ++ainfix ++V5V4V6V0FAainfix =alengthV2ainfix +alengthV3c1Aainfix =alengthV0c0Oainfix =alengthV2alengthV3Aapermutainfix ++ainfix ++V2V3V0V0Iainfix =V3aNilFIainfix =V2aNilFainfix &gt;alengthV0c1F">
697 698
    <label name="expl:VC for mergesort"/>
    <transf name="split_goal_wp" proved="true"
699
     expanded="true">
700 701 702
     <goal name="WP_parameter mergesort.1" locfile="../mergesort_queue.mlw"
      loclnum="45" loccnumb="10" loccnume="19" expl="1. loop invariant init"
      sum="a7d1aabc938a302ce559ec6f17137a6a" proved="true"
703
      shape="loop invariant initapermutainfix ++ainfix ++V1V2V0V0Iainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
704 705 706
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
707 708 709
       <result status="valid" time="0.07"/>
      </proof>
     </goal>
710 711 712
     <goal name="WP_parameter mergesort.2" locfile="../mergesort_queue.mlw"
      loclnum="45" loccnumb="10" loccnume="19" expl="2. loop invariant init"
      sum="474f36a93ae061c23643651045f967c5" proved="true"
713
      shape="loop invariant initainfix =alengthV1ainfix +alengthV2c1Aainfix =alengthV0c0Oainfix =alengthV1alengthV2Iainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
714 715 716
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
717 718 719
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
720 721 722
     <goal name="WP_parameter mergesort.3" locfile="../mergesort_queue.mlw"
      loclnum="45" loccnumb="10" loccnume="19" expl="3. precondition"
      sum="b92ecba810cfea5dc5f2b4c9c41cf8c8" proved="true"
723
      shape="preconditionNainfix =V5aNilINainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
724 725 726
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
727 728 729
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
730 731 732
     <goal name="WP_parameter mergesort.4" locfile="../mergesort_queue.mlw"
      loclnum="45" loccnumb="10" loccnume="19" expl="4. precondition"
      sum="41799df8d92f39d31bbfad14d7a525f5" proved="true"
733
      shape="preconditionNainfix =V7aNilINainfix =V10aTrueIainfix =V7aNilqainfix =V10aTrueFIainfix =V9ainfix ++V4aConsV8aNilFICfaNilainfix =V7V12Aainfix =V8V11aConsVVV5FFINainfix =V5aNilINainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
734 735 736
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
737 738 739
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
740
     <goal name="WP_parameter mergesort.5" locfile="../mergesort_queue.mlw"
741 742
      loclnum="45" loccnumb="10" loccnume="19"
      expl="5. loop invariant preservation"
743
      sum="660e1e3c806b9ff82848da724ea2e423" proved="true"
744
      shape="loop invariant preservationapermutainfix ++ainfix ++V9V13V11V0Iainfix =V13ainfix ++V3aConsV12aNilFICfaNilainfix =V11V15Aainfix =V12V14aConsVVV7FFINainfix =V7aNilINainfix =V10aTrueIainfix =V7aNilqainfix =V10aTrueFIainfix =V9ainfix ++V4aConsV8aNilFICfaNilainfix =V7V17Aainfix =V8V16aConsVVV5FFINainfix =V5aNilINainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
745 746 747
      <label name="expl:VC for mergesort"/>
      <proof prover="5" timelimit="16"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
748
       <result status="valid" time="4.54"/>
749
      </proof>
750 751
      <proof prover="8" timelimit="16"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
752
       <result status="valid" time="0.84"/>
753 754
      </proof>
     </goal>
755
     <goal name="WP_parameter mergesort.6" locfile="../mergesort_queue.mlw"
756 757
      loclnum="45" loccnumb="10" loccnume="19"
      expl="6. loop invariant preservation"
758
      sum="4733495b6e02aade18a0095bd50e8a4f" proved="true"
759
      shape="loop invariant preservationainfix =alengthV9ainfix +alengthV13c1Aainfix =alengthV11c0Oainfix =alengthV9alengthV13Iainfix =V13ainfix ++V3aConsV12aNilFICfaNilainfix =V11V15Aainfix =V12V14aConsVVV7FFINainfix =V7aNilINainfix =V10aTrueIainfix =V7aNilqainfix =V10aTrueFIainfix =V9ainfix ++V4aConsV8aNilFICfaNilainfix =V7V17Aainfix =V8V16aConsVVV5FFINainfix =V5aNilINainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
760 761 762
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
763 764 765
       <result status="valid" time="0.06"/>
      </proof>
     </goal>
766
     <goal name="WP_parameter mergesort.7" locfile="../mergesort_queue.mlw"
767
      loclnum="45" loccnumb="10" loccnume="19"
768
      expl="7. loop variant decrease" sum="703635c0b618bcd4bf9115d796615006"
769 770
      proved="true"
      shape="loop variant decreaseainfix &lt;alengthV11alengthV5Aainfix &lt;=c0alengthV5Iainfix =V13ainfix ++V3aConsV12aNilFICfaNilainfix =V11V15Aainfix =V12V14aConsVVV7FFINainfix =V7aNilINainfix =V10aTrueIainfix =V7aNilqainfix =V10aTrueFIainfix =V9ainfix ++V4aConsV8aNilFICfaNilainfix =V7V17Aainfix =V8V16aConsVVV5FFINainfix =V5aNilINainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
771 772 773
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
774 775 776
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
777
     <goal name="WP_parameter mergesort.8" locfile="../mergesort_queue.mlw"
778 779
      loclnum="45" loccnumb="10" loccnume="19"
      expl="8. loop invariant preservation"
780
      sum="775378b847319478e6784f7f6f74abca" proved="true"
781
      shape="loop invariant preservationapermutainfix ++ainfix ++V9V3V7V0INNainfix =V10aTrueIainfix =V7aNilqainfix =V10aTrueFIainfix =V9ainfix ++V4aConsV8aNilFICfaNilainfix =V7V12Aainfix =V8V11aConsVVV5FFINainfix =V5aNilINainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
782 783 784
      <label name="expl:VC for mergesort"/>
      <proof prover="2" timelimit="6"
       memlimit="1000">
785 786
       <result status="valid" time="0.12"/>
      </proof>
787 788
      <proof prover="3" timelimit="6"
       memlimit="1000">
789 790
       <result status="valid" time="0.13"/>
      </proof>
791 792
      <proof prover="4" timelimit="6"
       memlimit="1000">
793 794
       <result status="valid" time="0.36"/>
      </proof>
795 796
      <proof prover="5" timelimit="6"
       memlimit="1000">
797 798
       <result status="valid" time="0.50"/>
      </proof>
799 800
      <proof prover="9" timelimit="6"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
801
       <result status="valid" time="0.89"/>
802
      </proof>
803 804
      <proof prover="10" timelimit="6"
       memlimit="1000">
MARCHE Claude's avatar
MARCHE Claude committed
805
       <result status="valid" time="0.85"/>
806 807
      </proof>
     </goal>
808
     <goal name="WP_parameter mergesort.9" locfile="../mergesort_queue.mlw"
809 810
      loclnum="45" loccnumb="10" loccnume="19"
      expl="9. loop invariant preservation"
811
      sum="4232b5a1eb8dfc098fd1ab076031d794" proved="true"
812
      shape="loop invariant preservationainfix =alengthV9ainfix +alengthV3c1Aainfix =alengthV7c0Oainfix =alengthV9alengthV3INNainfix =V10aTrueIainfix =V7aNilqainfix =V10aTrueFIainfix =V9ainfix ++V4aConsV8aNilFICfaNilainfix =V7V12Aainfix =V8V11aConsVVV5FFINainfix =V5aNilINainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
813 814 815
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
816 817 818
       <result status="valid" time="0.06"/>
      </proof>
     </goal>
819
     <goal name="WP_parameter mergesort.10" locfile="../mergesort_queue.mlw"
820
      loclnum="45" loccnumb="10" loccnume="19"
821
      expl="10. loop variant decrease" sum="a6ffa65e8ed40e2c3a3aabfe9446f074"
822 823
      proved="true"
      shape="loop variant decreaseainfix &lt;alengthV7alengthV5Aainfix &lt;=c0alengthV5INNainfix =V10aTrueIainfix =V7aNilqainfix =V10aTrueFIainfix =V9ainfix ++V4aConsV8aNilFICfaNilainfix =V7V12Aainfix =V8V11aConsVVV5FFINainfix =V5aNilINainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
824 825 826
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
827 828 829
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
830 831 832
     <goal name="WP_parameter mergesort.11" locfile="../mergesort_queue.mlw"
      loclnum="45" loccnumb="10" loccnume="19" expl="11. assertion"
      sum="3c92e51a21604baa58c93779b7a79ec6" proved="true"
833
      shape="assertionainfix =V5aNilINNainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
834 835 836
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
837 838 839
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
840 841 842
     <goal name="WP_parameter mergesort.12" locfile="../mergesort_queue.mlw"
      loclnum="45" loccnumb="10" loccnume="19" expl="12. assertion"
      sum="a1fb4fdd87b88e2c0f7c25bfd78b4a00" proved="true"
843
      shape="assertionapermutainfix ++V4V3V0Iainfix =V5aNilINNainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
844 845 846
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
847 848 849
       <result status="valid" time="0.03"/>
      </proof>
     </goal>
850 851 852
     <goal name="WP_parameter mergesort.13" locfile="../mergesort_queue.mlw"
      loclnum="45" loccnumb="10" loccnume="19" expl="13. variant decrease"
      sum="f95bd6e5fe834d1032268a483d0ebaff" proved="true"
853
      shape="variant decreaseainfix &lt;alengthV4alengthV0Aainfix &lt;=c0alengthV0Iapermutainfix ++V4V3V0Iainfix =V5aNilINNainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
854 855 856
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
857 858
       <result status="valid" time="0.03"/>
      </proof>
859 860
      <proof prover="6" timelimit="6"
       memlimit="1000">
861 862 863
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
864 865 866
     <goal name="WP_parameter mergesort.14" locfile="../mergesort_queue.mlw"
      loclnum="45" loccnumb="10" loccnume="19" expl="14. variant decrease"
      sum="d3cd4255f7ccd1cd9b2f0a5ae2779738" proved="true"
867
      shape="variant decreaseainfix &lt;alengthV3alengthV0Aainfix &lt;=c0alengthV0IapermutV7V4AasortedV7FIapermutainfix ++V4V3V0Iainfix =V5aNilINNainfix =V6aTrueIainfix =V5aNilqainfix =V6aTrueFIainfix =alengthV4ainfix +alengthV3c1Aainfix =alengthV5c0Oainfix =alengthV4alengthV3Aapermutainfix ++ainfix ++V4V3V5V0FIainfix =V2aNilFIainfix =V1aNilFIainfix &gt;alengthV0c1F">
868 869 870
      <label name="expl:VC for mergesort"/>
      <proof prover="1" timelimit="6"
       memlimit="1000">
Jean-Christophe Filliâtre's avatar