why3session.xml 20.1 KB
Newer Older
Asma Tafat's avatar
Asma Tafat committed
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">
Asma Tafat's avatar
Asma Tafat committed
4
 <prover
Andrei Paskevich's avatar
Andrei Paskevich committed
5
  id="0"
Asma Tafat's avatar
Asma Tafat committed
6
  name="Alt-Ergo"
7
  version="0.95.1"/>
Asma Tafat's avatar
Asma Tafat committed
8
 <prover
Andrei Paskevich's avatar
Andrei Paskevich committed
9
  id="1"
10 11 12 13
  name="Alt-Ergo"
  version="0.95.2"/>
 <prover
  id="2"
Andrei Paskevich's avatar
Andrei Paskevich committed
14 15
  name="Z3"
  version="3.2"/>
Asma Tafat's avatar
Asma Tafat committed
16 17
 <file
  name="../arm.mlw"
18
  verified="true"
Asma Tafat's avatar
Asma Tafat committed
19 20
  expanded="true">
  <theory
Andrei Paskevich's avatar
Andrei Paskevich committed
21
   name="M"
22 23
   locfile="../arm.mlw"
   loclnum="3" loccnumb="7" loccnume="8"
24
   verified="true"
Asma Tafat's avatar
Asma Tafat committed
25 26 27
   expanded="true">
   <goal
    name="WP_parameter insertion_sort"
28 29
    locfile="../arm.mlw"
    loclnum="16" loccnumb="6" loccnume="20"
30
    expl="VC for insertion_sort"
MARCHE Claude's avatar
MARCHE Claude committed
31
    sum="12ad10e0643d819dcdf614beb2a7db7f"
32
    proved="true"
Asma Tafat's avatar
Asma Tafat committed
33
    expanded="false"
34
    shape="iainfix &lt;=V6c45Aainfix =V7c9Aainfix &lt;=c0V0iainfix &lt;ainfix -c10V16ainfix -c10V5Aainfix &lt;=c0ainfix -c10V5Aainfix &lt;=ainfix *c2V12ainfix *ainfix -V16c2ainfix -V16c1Aainfix =V10ainfix -V16c2AainvV14Aainfix &lt;=V16c11Aainfix &lt;=c2V16Iainfix =V16ainfix +V5c1Fainfix &lt;V22V11Aainfix &lt;=c0V11Aainfix &lt;=ainfix *c2V17ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V22Aainvamk arrayV0V21Aainfix &lt;=V22V5Aainfix &lt;=c1V22Iainfix =V22ainfix -V11c1FIainfix =V21asetV19V20agetV13V11Aainfix &lt;=c0V0FAainfix &lt;V20V0Aainfix &lt;=c0V20Lainfix -V11c1Iainfix =V19asetV13V11agetV13V18Aainfix &lt;=c0V0FAainfix &lt;V11V0Aainfix &lt;=c0V11Aainfix &lt;V18V0Aainfix &lt;=c0V18Lainfix -V11c1Aainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix =V17ainfix +V12c1Fainfix &lt;agetV13V11agetV13V15Aainfix &lt;V11V0Aainfix &lt;=c0V11Aainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FAainfix &lt;=ainfix *c2V6ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V5AainvV9Aainfix &lt;=V5V5Aainfix &lt;=c1V5Iainfix =V10ainfix +V7c1Fainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FAainfix &lt;=ainfix *c2V1ainfix *ainfix -c2c2ainfix -c2c1Aainfix =V2ainfix -c2c2AainvV4Aainfix &lt;=c2c11Aainfix &lt;=c2c2Iainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
Andrei Paskevich's avatar
Andrei Paskevich committed
35
    <label
36
     name="expl:VC for insertion_sort"/>
37 38 39 40 41 42 43 44 45
    <transf
     name="split_goal_wp"
     proved="true"
     expanded="false">
     <goal
      name="WP_parameter insertion_sort.1"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
      expl="1. loop invariant init"
MARCHE Claude's avatar
MARCHE Claude committed
46
      sum="62cedfa9a8840be299dc60f48e358e9d"
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
      proved="true"
      expanded="false"
      shape="loop invariant initainfix &lt;=ainfix *c2V1ainfix *ainfix -c2c2ainfix -c2c1Aainfix =V2ainfix -c2c2AainvV4Aainfix &lt;=c2c11Aainfix &lt;=c2c2Iainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.00"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.2"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
      expl="2. loop invariant init"
MARCHE Claude's avatar
MARCHE Claude committed
66
      sum="b847af6941605e2d7d0f84017c990223"
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
      proved="true"
      expanded="false"
      shape="loop invariant initainfix &lt;=ainfix *c2V6ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V5AainvV9Aainfix &lt;=V5V5Aainfix &lt;=c1V5Iainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.3"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
      expl="3. type invariant"
MARCHE Claude's avatar
MARCHE Claude committed
86
      sum="fd006cfa55f9c725523fa4d12ca78e01"
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
      proved="true"
      expanded="false"
      shape="type invariantainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.4"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
MARCHE Claude's avatar
MARCHE Claude committed
105
      expl="4. index in array bounds"
MARCHE Claude's avatar
MARCHE Claude committed
106
      sum="f227e497d584beb98543bab70b47919b"
107 108
      proved="true"
      expanded="false"
MARCHE Claude's avatar
MARCHE Claude committed
109
      shape="index in array boundsainfix &lt;V15V0Aainfix &lt;=c0V15Iainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.5"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
MARCHE Claude's avatar
MARCHE Claude committed
125
      expl="5. index in array bounds"
MARCHE Claude's avatar
MARCHE Claude committed
126
      sum="ba9aa8802c1c8bbb7224a4ff9eb6cb57"
127 128
      proved="true"
      expanded="false"
MARCHE Claude's avatar
MARCHE Claude committed
129
      shape="index in array boundsainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.6"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
MARCHE Claude's avatar
MARCHE Claude committed
145
      expl="6. index in array bounds"
MARCHE Claude's avatar
MARCHE Claude committed
146
      sum="d5a19d25ce8ded0495d70f00972b3a9a"
147 148
      proved="true"
      expanded="false"
MARCHE Claude's avatar
MARCHE Claude committed
149
      shape="index in array boundsainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix =V16ainfix +V12c1FIainfix &lt;agetV13V11agetV13V15Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.7"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
MARCHE Claude's avatar
MARCHE Claude committed
165
      expl="7. index in array bounds"
MARCHE Claude's avatar
MARCHE Claude committed
166
      sum="9bff97babe4eca7f0409aed0b47935ec"
167 168
      proved="true"
      expanded="false"
MARCHE Claude's avatar
MARCHE Claude committed
169
      shape="index in array boundsainfix &lt;V17V0Aainfix &lt;=c0V17Lainfix -V11c1Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix =V16ainfix +V12c1FIainfix &lt;agetV13V11agetV13V15Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
170 171 172 173 174 175 176 177
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
MARCHE Claude's avatar
MARCHE Claude committed
178
       <result status="valid" time="0.03"/>
179 180 181 182 183 184
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.8"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
MARCHE Claude's avatar
MARCHE Claude committed
185
      expl="8. index in array bounds"
MARCHE Claude's avatar
MARCHE Claude committed
186
      sum="d24f30ba4db1835ea6c7cbe67360299b"
187 188
      proved="true"
      expanded="false"
MARCHE Claude's avatar
MARCHE Claude committed
189
      shape="index in array boundsainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V17V0Aainfix &lt;=c0V17Lainfix -V11c1Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix =V16ainfix +V12c1FIainfix &lt;agetV13V11agetV13V15Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
190 191 192 193 194 195 196 197
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
MARCHE Claude's avatar
MARCHE Claude committed
198
       <result status="valid" time="0.02"/>
199 200 201 202 203 204
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.9"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
MARCHE Claude's avatar
MARCHE Claude committed
205
      expl="9. index in array bounds"
MARCHE Claude's avatar
MARCHE Claude committed
206
      sum="891cbbbe7c1a5380ce4c569a6fab8ff3"
207 208
      proved="true"
      expanded="false"
MARCHE Claude's avatar
MARCHE Claude committed
209
      shape="index in array boundsainfix &lt;V19V0Aainfix &lt;=c0V19Lainfix -V11c1Iainfix =V18asetV13V11agetV13V17Aainfix &lt;=c0V0FIainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V17V0Aainfix &lt;=c0V17Lainfix -V11c1Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix =V16ainfix +V12c1FIainfix &lt;agetV13V11agetV13V15Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.10"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
      expl="10. loop invariant preservation"
MARCHE Claude's avatar
MARCHE Claude committed
226
      sum="2c65e9965e0b58c50e58909f7dce52b4"
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245
      proved="true"
      expanded="false"
      shape="loop invariant preservationainfix &lt;=ainfix *c2V16ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V21Aainvamk arrayV0V20Aainfix &lt;=V21V5Aainfix &lt;=c1V21Iainfix =V21ainfix -V11c1FIainfix =V20asetV18V19agetV13V11Aainfix &lt;=c0V0FIainfix &lt;V19V0Aainfix &lt;=c0V19Lainfix -V11c1Iainfix =V18asetV13V11agetV13V17Aainfix &lt;=c0V0FIainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V17V0Aainfix &lt;=c0V17Lainfix -V11c1Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix =V16ainfix +V12c1FIainfix &lt;agetV13V11agetV13V15Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="1.14"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.11"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
      expl="11. loop variant decrease"
MARCHE Claude's avatar
MARCHE Claude committed
246
      sum="c40f38c738ab3c9bf180ca851f10dd2f"
247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265
      proved="true"
      expanded="false"
      shape="loop variant decreaseainfix &lt;V21V11Aainfix &lt;=c0V11Iainfix =V21ainfix -V11c1FIainfix =V20asetV18V19agetV13V11Aainfix &lt;=c0V0FIainfix &lt;V19V0Aainfix &lt;=c0V19Lainfix -V11c1Iainfix =V18asetV13V11agetV13V17Aainfix &lt;=c0V0FIainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V17V0Aainfix &lt;=c0V17Lainfix -V11c1Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix =V16ainfix +V12c1FIainfix &lt;agetV13V11agetV13V15Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.12"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
      expl="12. loop invariant preservation"
MARCHE Claude's avatar
MARCHE Claude committed
266
      sum="40978b8820a2223fa24e995db5f1e9d1"
267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285
      proved="true"
      expanded="false"
      shape="loop invariant preservationainfix &lt;=ainfix *c2V12ainfix *ainfix -V16c2ainfix -V16c1Aainfix =V10ainfix -V16c2AainvV14Aainfix &lt;=V16c11Aainfix &lt;=c2V16Iainfix =V16ainfix +V5c1FINainfix &lt;agetV13V11agetV13V15Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.02"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.13"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
      expl="13. loop variant decrease"
MARCHE Claude's avatar
MARCHE Claude committed
286
      sum="a686ac7bc009cdbf8c7721f8c222cb8d"
287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305
      proved="true"
      expanded="false"
      shape="loop variant decreaseainfix &lt;ainfix -c10V16ainfix -c10V5Aainfix &lt;=c0ainfix -c10V5Iainfix =V16ainfix +V5c1FINainfix &lt;agetV13V11agetV13V15Iainfix &lt;V11V0Aainfix &lt;=c0V11Iainfix &lt;V15V0Aainfix &lt;=c0V15Aainfix &lt;=c0V0Lainfix -V11c1Iainfix &lt;=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix &lt;=V11V5Aainfix &lt;=c1V11Lamk arrayV0V13FIainfix =V10ainfix +V7c1FIainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.14"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
      expl="14. type invariant"
MARCHE Claude's avatar
MARCHE Claude committed
306
      sum="419004f397624b7907de99cc5f139e80"
307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325
      proved="true"
      expanded="false"
      shape="type invariantainfix &lt;=c0V0INainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.00"/>
      </proof>
     </goal>
     <goal
      name="WP_parameter insertion_sort.15"
      locfile="../arm.mlw"
      loclnum="16" loccnumb="6" loccnume="20"
      expl="15. postcondition"
MARCHE Claude's avatar
MARCHE Claude committed
326
      sum="16ba8ad695c6d82d3bde615f6426d0a2"
327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
      proved="true"
      expanded="false"
      shape="postconditionainfix &lt;=V6c45Aainfix =V7c9Iainfix &lt;=c0V0INainfix &lt;=V5c10Iainfix &lt;=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix &lt;=V5c11Aainfix &lt;=c2V5Lamk arrayV0V8FIainfix =V1c0Aainfix =V2c0AainvV4Aainfix &lt;=c0V0Lamk arrayV0V3FF">
      <label
       name="expl:VC for insertion_sort"/>
      <proof
       prover="1"
       timelimit="5"
       memlimit="1000"
       obsolete="false"
       archived="false">
       <result status="valid" time="0.01"/>
      </proof>
     </goal>
    </transf>
Asma Tafat's avatar
Asma Tafat committed
342 343 344
   </goal>
  </theory>
  <theory
Andrei Paskevich's avatar
Andrei Paskevich committed
345
   name="ARM"
346 347
   locfile="../arm.mlw"
   loclnum="41" loccnumb="7" loccnume="10"
Asma Tafat's avatar
Asma Tafat committed
348 349 350 351
   verified="true"
   expanded="true">
  </theory>
  <theory
Andrei Paskevich's avatar
Andrei Paskevich committed
352
   name="InsertionSortExample"
353 354
   locfile="../arm.mlw"
   loclnum="98" loccnumb="7" loccnume="27"
Asma Tafat's avatar
Asma Tafat committed
355
   verified="true"
Andrei Paskevich's avatar
Andrei Paskevich committed
356
   expanded="true">
Asma Tafat's avatar
Asma Tafat committed
357 358
   <goal
    name="WP_parameter path_init_l2"
359 360
    locfile="../arm.mlw"
    loclnum="120" loccnumb="6" loccnume="18"
361
    expl="VC for path_init_l2"
MARCHE Claude's avatar
MARCHE Claude committed
362
    sum="ddaf1b23f084f36f71d149a56e4c5a17"
Asma Tafat's avatar
Asma Tafat committed
363
    proved="true"
364
    expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
365 366
    shape="ainv_l2V5V0V2Iainfix =V5amixfix [&lt;-]V1ainfix -V0c16V4FIainfix =V4c2FIainfix =V3c0FIainfix =V2c0FIainvV1AaseparationV0F">
    <label
367
     name="expl:VC for path_init_l2"/>
Asma Tafat's avatar
Asma Tafat committed
368
    <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
369 370 371 372 373
     prover="0"
     timelimit="5"
     memlimit="1000"
     obsolete="false"
     archived="false">
374
     <result status="valid" time="0.02"/>
Andrei Paskevich's avatar
Andrei Paskevich committed
375 376
    </proof>
    <proof
377
     prover="2"
Andrei Paskevich's avatar
Andrei Paskevich committed
378 379 380 381
     timelimit="5"
     memlimit="1000"
     obsolete="false"
     archived="false">
382
     <result status="valid" time="0.14"/>
Asma Tafat's avatar
Asma Tafat committed
383 384 385 386
    </proof>
   </goal>
   <goal
    name="WP_parameter path_l2_exit"
387 388
    locfile="../arm.mlw"
    loclnum="127" loccnumb="6" loccnume="18"
389
    expl="VC for path_l2_exit"
MARCHE Claude's avatar
MARCHE Claude committed
390
    sum="eb7cf7cf9c33eb25d306a2663432ef04"
Asma Tafat's avatar
Asma Tafat committed
391
    proved="true"
392
    expanded="false"
Andrei Paskevich's avatar
Andrei Paskevich committed
393 394
    shape="ainfix =V0c9Iainfix =V4aFalseIainfix &lt;=V3c10qainfix =V4aTrueFIainfix =V3amixfix []V2ainfix -V1c16FIainv_l2V2V1V0AaseparationV1F">
    <label
395
     name="expl:VC for path_l2_exit"/>
Asma Tafat's avatar
Asma Tafat committed
396
    <proof
Andrei Paskevich's avatar
Andrei Paskevich committed
397
     prover="0"
Asma Tafat's avatar
Asma Tafat committed
398
     timelimit="10"
Andrei Paskevich's avatar
Andrei Paskevich committed
399 400 401
     memlimit="0"
     obsolete="false"
     archived="false">
Andrei Paskevich's avatar
Andrei Paskevich committed
402
     <result status="valid" time="0.01"/>
Asma Tafat's avatar
Asma Tafat committed
403 404 405 406 407
    </proof>
   </goal>
  </theory>
 </file>
</why3session>