Merge branch 'search-in-a-two-dimensional-grid' into 'master'
[why3.git] / examples / numeric / add_sub_mul / why3session.xml
blob298b5ac8cb2fa3d0c8df8fc11c8f8fdb720ca396
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
3 "https://www.why3.org/why3session.dtd">
4 <why3session shape_version="6">
5 <prover id="0" name="Alt-Ergo" version="2.5.4" alternative="FPA" timelimit="5" steplimit="0" memlimit="2000"/>
6 <prover id="1" name="Alt-Ergo" version="2.5.4" timelimit="5" steplimit="0" memlimit="2000"/>
7 <file format="whyml" proved="true">
8 <path name=".."/><path name="add_sub_mul.mlw"/>
9 <theory name="AddSubMulSingle" proved="true">
10  <goal name="example1&#39;vc" expl="VC for example1" proved="true">
11  <transf name="split_vc" proved="true" >
12   <goal name="example1&#39;vc.0" expl="postcondition" proved="true">
13   <transf name="assert" proved="true" arg1="let t = to_real d in
14 let t1 = to_real c in
15 let t2 = abs t in
16 let t3 = 0.0 *. 0.0 in
17 let t4 = eps +. eps in
18 let t5 = 1.0 +. eps in
19 let t6 = to_real a +. to_real b in
20 let t7 = abs t6 +. abs t1 in
21 abs (to_real result -. ((t6 -. t1) *. t))
22 &lt;=. (((eps +. (((t4 +. 0.0) +. (t4 *. 0.0)) *. t5)) *. (t7 *. t2))
23      +. ((((((0.0 +. (0.0 *. t4)) *. t7) +. ((0.0 +. t3) *. t2)) +. t3) *. t5)
24          +. eta))">
25    <goal name="example1&#39;vc.0.0" expl="asserted formula" proved="true">
26    <transf name="assert" proved="true" arg1="abs
27 (to_real result -. (((to_real a +. to_real b) -. to_real c) *. to_real d))
28 &lt;=. (((eps
29        +. ((((eps +. eps) +. 0.0) +. ((eps +. eps) *. 0.0)) *. (1.0 +. eps)))
30       *. ((abs (to_real a +. to_real b) +. abs (to_real c))
31           *. abs (to_real d)))
32      +. ((((((0.0 +. (0.0 *. (eps +. eps)))
33              *. (abs (to_real a +. to_real b) +. abs (to_real c)))
34             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real d)))
35            +. (0.0 *. 0.0))
36           *. (1.0 +. eps))
37          +. eta))">
38     <goal name="example1&#39;vc.0.0.0" expl="asserted formula" proved="true">
39     <transf name="apply" proved="true" arg1="umul_single_error_propagation" arg2="with" arg3="(a ++. b) --. c,d">
40      <goal name="example1&#39;vc.0.0.0.0" expl="apply premises" proved="true">
41      <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) --. c) -. ((to_real a +. to_real b) -. to_real c))
42 &lt;=. ((((eps +. 0.0) +. eps)
43       *. (abs (to_real a +. to_real b) +. abs (to_real c)))
44      +. ((((1.0 +. eps) +. 0.0) *. 0.0) +. (((1.0 +. eps) +. eps) *. 0.0)))">
45       <goal name="example1&#39;vc.0.0.0.0.0" expl="asserted formula" proved="true">
46       <transf name="apply" proved="true" arg1="usub_single_error_propagation" arg2="with" arg3="a ++. b,c">
47        <goal name="example1&#39;vc.0.0.0.0.0.0" expl="apply premises" proved="true">
48        <transf name="assert" proved="true" arg1="abs (to_real (a ++. b) -. (to_real a +. to_real b))
49 &lt;=. (eps *. abs (to_real a +. to_real b))">
50         <goal name="example1&#39;vc.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
51         <proof prover="0"><result status="valid" time="0.096582" steps="731"/></proof>
52         </goal>
53         <goal name="example1&#39;vc.0.0.0.0.0.0.1" expl="apply premises" proved="true">
54         <proof prover="0"><result status="valid" time="0.051130" steps="109"/></proof>
55         </goal>
56        </transf>
57        </goal>
58        <goal name="example1&#39;vc.0.0.0.0.0.1" expl="apply premises" proved="true">
59        <proof prover="0"><result status="valid" time="0.044124" steps="82"/></proof>
60        </goal>
61        <goal name="example1&#39;vc.0.0.0.0.0.2" expl="apply premises" proved="true">
62        <proof prover="0"><result status="valid" time="0.068521" steps="86"/></proof>
63        </goal>
64        <goal name="example1&#39;vc.0.0.0.0.0.3" expl="apply premises" proved="true">
65        <proof prover="0"><result status="valid" time="0.035291" steps="86"/></proof>
66        </goal>
67        <goal name="example1&#39;vc.0.0.0.0.0.4" expl="apply premises" proved="true">
68        <proof prover="0"><result status="valid" time="0.063135" steps="78"/></proof>
69        </goal>
70        <goal name="example1&#39;vc.0.0.0.0.0.5" expl="apply premises" proved="true">
71        <proof prover="0"><result status="valid" time="0.031234" steps="78"/></proof>
72        </goal>
73        <goal name="example1&#39;vc.0.0.0.0.0.6" expl="apply premises" proved="true">
74        <proof prover="0"><result status="valid" time="0.038153" steps="78"/></proof>
75        </goal>
76        <goal name="example1&#39;vc.0.0.0.0.0.7" expl="apply premises" proved="true">
77        <proof prover="0"><result status="valid" time="0.033268" steps="78"/></proof>
78        </goal>
79        <goal name="example1&#39;vc.0.0.0.0.0.8" expl="apply premises" proved="true">
80        <proof prover="0"><result status="valid" time="0.057554" steps="78"/></proof>
81        </goal>
82       </transf>
83       </goal>
84       <goal name="example1&#39;vc.0.0.0.0.1" expl="apply premises" proved="true">
85       <proof prover="0"><result status="valid" time="0.061509" steps="147"/></proof>
86       </goal>
87      </transf>
88      </goal>
89      <goal name="example1&#39;vc.0.0.0.1" expl="apply premises" proved="true">
90      <proof prover="0"><result status="valid" time="0.043852" steps="82"/></proof>
91      </goal>
92      <goal name="example1&#39;vc.0.0.0.2" expl="apply premises" proved="true">
93      <proof prover="0"><result status="valid" time="0.062369" steps="112"/></proof>
94      </goal>
95      <goal name="example1&#39;vc.0.0.0.3" expl="apply premises" proved="true">
96      <proof prover="0"><result status="valid" time="0.049050" steps="86"/></proof>
97      </goal>
98      <goal name="example1&#39;vc.0.0.0.4" expl="apply premises" proved="true">
99      <proof prover="0"><result status="valid" time="0.066733" steps="78"/></proof>
100      </goal>
101      <goal name="example1&#39;vc.0.0.0.5" expl="apply premises" proved="true">
102      <proof prover="0"><result status="valid" time="0.048525" steps="78"/></proof>
103      </goal>
104      <goal name="example1&#39;vc.0.0.0.6" expl="apply premises" proved="true">
105      <proof prover="0"><result status="valid" time="0.053754" steps="78"/></proof>
106      </goal>
107      <goal name="example1&#39;vc.0.0.0.7" expl="apply premises" proved="true">
108      <proof prover="0"><result status="valid" time="0.065989" steps="78"/></proof>
109      </goal>
110      <goal name="example1&#39;vc.0.0.0.8" expl="apply premises" proved="true">
111      <proof prover="0"><result status="valid" time="0.043867" steps="78"/></proof>
112      </goal>
113     </transf>
114     </goal>
115     <goal name="example1&#39;vc.0.0.1" expl="asserted formula" proved="true">
116     <proof prover="0"><result status="valid" time="0.186345" steps="618"/></proof>
117     </goal>
118    </transf>
119    </goal>
120    <goal name="example1&#39;vc.0.1" expl="postcondition" proved="true">
121    <proof prover="0"><result status="valid" time="0.394209" steps="1342"/></proof>
122    </goal>
123   </transf>
124   </goal>
125  </transf>
126  </goal>
127  <goal name="determinant&#39;vc" expl="VC for determinant" proved="true">
128  <transf name="split_vc" proved="true" >
129   <goal name="determinant&#39;vc.0" expl="postcondition" proved="true">
130   <transf name="assert" proved="true" arg1="let t = to_real b *. to_real c in
131 let t1 = to_real a *. to_real d in
132 let t2 = ((1.0 +. eps) +. eps) *. eta in
133 abs (to_real result -. (t1 -. t))
134 &lt;=. ((((eps +. eps) +. eps) *. (abs t1 +. abs t)) +. (t2 +. t2))">
135    <goal name="determinant&#39;vc.0.0" expl="asserted formula" proved="true">
136    <transf name="assert" proved="true" arg1="abs
137 (to_real result -. ((to_real a *. to_real d) -. (to_real b *. to_real c)))
138 &lt;=. ((((eps +. eps) +. eps)
139       *. (abs (to_real a *. to_real d) +. abs (to_real b *. to_real c)))
140      +. ((((1.0 +. eps) +. eps) *. eta) +. (((1.0 +. eps) +. eps) *. eta)))">
141     <goal name="determinant&#39;vc.0.0.0" expl="asserted formula" proved="true">
142     <transf name="apply" proved="true" arg1="usub_single_error_propagation" arg2="with" arg3="a **. d,b **. c">
143      <goal name="determinant&#39;vc.0.0.0.0" expl="apply premises" proved="true">
144      <transf name="assert" proved="true" arg1="abs (to_real (a **. d) -. (to_real a *. to_real d))
145 &lt;=. ((eps *. abs (to_real a *. to_real d)) +. eta)">
146       <goal name="determinant&#39;vc.0.0.0.0.0" expl="asserted formula" proved="true">
147       <proof prover="0"><result status="valid" time="0.125800" steps="1030"/></proof>
148       </goal>
149       <goal name="determinant&#39;vc.0.0.0.0.1" expl="apply premises" proved="true">
150       <proof prover="0"><result status="valid" time="0.051756" steps="136"/></proof>
151       </goal>
152      </transf>
153      </goal>
154      <goal name="determinant&#39;vc.0.0.0.1" expl="apply premises" proved="true">
155      <transf name="assert" proved="true" arg1="abs (to_real (b **. c) -. (to_real b *. to_real c))
156 &lt;=. ((eps *. abs (to_real b *. to_real c)) +. eta)">
157       <goal name="determinant&#39;vc.0.0.0.1.0" expl="asserted formula" proved="true">
158       <proof prover="0"><result status="valid" time="0.111470" steps="1030"/></proof>
159       </goal>
160       <goal name="determinant&#39;vc.0.0.0.1.1" expl="apply premises" proved="true">
161       <proof prover="0"><result status="valid" time="0.078291" steps="136"/></proof>
162       </goal>
163      </transf>
164      </goal>
165      <goal name="determinant&#39;vc.0.0.0.2" expl="apply premises" proved="true">
166      <proof prover="0"><result status="valid" time="0.043207" steps="95"/></proof>
167      </goal>
168      <goal name="determinant&#39;vc.0.0.0.3" expl="apply premises" proved="true">
169      <proof prover="0"><result status="valid" time="0.044141" steps="95"/></proof>
170      </goal>
171      <goal name="determinant&#39;vc.0.0.0.4" expl="apply premises" proved="true">
172      <proof prover="0"><result status="valid" time="0.067001" steps="78"/></proof>
173      </goal>
174      <goal name="determinant&#39;vc.0.0.0.5" expl="apply premises" proved="true">
175      <proof prover="0"><result status="valid" time="0.068716" steps="78"/></proof>
176      </goal>
177      <goal name="determinant&#39;vc.0.0.0.6" expl="apply premises" proved="true">
178      <proof prover="0"><result status="valid" time="0.062778" steps="78"/></proof>
179      </goal>
180      <goal name="determinant&#39;vc.0.0.0.7" expl="apply premises" proved="true">
181      <proof prover="0"><result status="valid" time="0.048144" steps="78"/></proof>
182      </goal>
183      <goal name="determinant&#39;vc.0.0.0.8" expl="apply premises" proved="true">
184      <proof prover="0"><result status="valid" time="0.056372" steps="78"/></proof>
185      </goal>
186     </transf>
187     </goal>
188     <goal name="determinant&#39;vc.0.0.1" expl="asserted formula" proved="true">
189     <proof prover="0"><result status="valid" time="0.067481" steps="367"/></proof>
190     </goal>
191    </transf>
192    </goal>
193    <goal name="determinant&#39;vc.0.1" expl="postcondition" proved="true">
194    <proof prover="0"><result status="valid" time="0.057612" steps="385"/></proof>
195    </goal>
196   </transf>
197   </goal>
198  </transf>
199  </goal>
200  <goal name="square_norm&#39;vc" expl="VC for square_norm" proved="true">
201  <transf name="split_vc" proved="true" >
202   <goal name="square_norm&#39;vc.0" expl="postcondition" proved="true">
203   <transf name="assert" proved="true" arg1="let t = to_real c in
204 let t1 = to_real b in
205 let t2 = to_real a in
206 let t3 = 1.0 +. eps in
207 let t4 = t *. t in
208 let t5 = t1 *. t1 in
209 let t6 = t2 *. t2 in
210 let t7 = (eps +. eps) +. eps in
211 let t8 = t3 +. eps in
212 let t9 = t8 *. eta in
213 abs (to_real result -. ((t6 +. t5) +. t4))
214 &lt;=. ((((t7 +. eps) +. eps) *. ((abs t6 +. abs t5) +. abs t4))
215      +. ((t8 *. (t9 +. t9)) +. ((t3 +. t7) *. eta)))">
216    <goal name="square_norm&#39;vc.0.0" expl="asserted formula" proved="true">
217    <transf name="assert" proved="true" arg1="abs
218 (to_real result
219  -. (((to_real a *. to_real a) +. (to_real b *. to_real b))
220      +. (to_real c *. to_real c)))
221 &lt;=. ((((((eps +. eps) +. eps) +. eps) +. eps)
222       *. ((abs (to_real a *. to_real a) +. abs (to_real b *. to_real b))
223           +. abs (to_real c *. to_real c)))
224      +. ((((1.0 +. eps) +. eps)
225           *. ((((1.0 +. eps) +. eps) *. eta)
226               +. (((1.0 +. eps) +. eps) *. eta)))
227          +. (((1.0 +. eps) +. ((eps +. eps) +. eps)) *. eta)))">
228     <goal name="square_norm&#39;vc.0.0.0" expl="asserted formula" proved="true">
229     <transf name="apply" proved="true" arg1="uadd_single_error_propagation" arg2="with" arg3="(a **. a) ++. (b **. b),c **. c">
230      <goal name="square_norm&#39;vc.0.0.0.0" expl="apply premises" proved="true">
231      <transf name="assert" proved="true" arg1="abs
232 (to_real ((a **. a) ++. (b **. b))
233  -. ((to_real a *. to_real a) +. (to_real b *. to_real b)))
234 &lt;=. ((((eps +. eps) +. eps)
235       *. (abs (to_real a *. to_real a) +. abs (to_real b *. to_real b)))
236      +. ((((1.0 +. eps) +. eps) *. eta) +. (((1.0 +. eps) +. eps) *. eta)))">
237       <goal name="square_norm&#39;vc.0.0.0.0.0" expl="asserted formula" proved="true">
238       <transf name="apply" proved="true" arg1="uadd_single_error_propagation" arg2="with" arg3="a **. a,b **. b">
239        <goal name="square_norm&#39;vc.0.0.0.0.0.0" expl="apply premises" proved="true">
240        <transf name="assert" proved="true" arg1="abs (to_real (a **. a) -. (to_real a *. to_real a))
241 &lt;=. ((eps *. abs (to_real a *. to_real a)) +. eta)">
242         <goal name="square_norm&#39;vc.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
243         <proof prover="0"><result status="valid" time="0.155207" steps="1108"/></proof>
244         </goal>
245         <goal name="square_norm&#39;vc.0.0.0.0.0.0.1" expl="apply premises" proved="true">
246         <proof prover="0"><result status="valid" time="0.046347" steps="119"/></proof>
247         </goal>
248        </transf>
249        </goal>
250        <goal name="square_norm&#39;vc.0.0.0.0.0.1" expl="apply premises" proved="true">
251        <transf name="assert" proved="true" arg1="abs (to_real (b **. b) -. (to_real b *. to_real b))
252 &lt;=. ((eps *. abs (to_real b *. to_real b)) +. eta)">
253         <goal name="square_norm&#39;vc.0.0.0.0.0.1.0" expl="asserted formula" proved="true">
254         <proof prover="0"><result status="valid" time="0.164855" steps="1108"/></proof>
255         </goal>
256         <goal name="square_norm&#39;vc.0.0.0.0.0.1.1" expl="apply premises" proved="true">
257         <proof prover="0"><result status="valid" time="0.066630" steps="119"/></proof>
258         </goal>
259        </transf>
260        </goal>
261        <goal name="square_norm&#39;vc.0.0.0.0.0.2" expl="apply premises" proved="true">
262        <proof prover="0"><result status="valid" time="0.064438" steps="89"/></proof>
263        </goal>
264        <goal name="square_norm&#39;vc.0.0.0.0.0.3" expl="apply premises" proved="true">
265        <proof prover="0"><result status="valid" time="0.056631" steps="89"/></proof>
266        </goal>
267        <goal name="square_norm&#39;vc.0.0.0.0.0.4" expl="apply premises" proved="true">
268        <proof prover="0"><result status="valid" time="0.050232" steps="78"/></proof>
269        </goal>
270        <goal name="square_norm&#39;vc.0.0.0.0.0.5" expl="apply premises" proved="true">
271        <proof prover="0"><result status="valid" time="0.059252" steps="78"/></proof>
272        </goal>
273        <goal name="square_norm&#39;vc.0.0.0.0.0.6" expl="apply premises" proved="true">
274        <proof prover="0"><result status="valid" time="0.049400" steps="78"/></proof>
275        </goal>
276        <goal name="square_norm&#39;vc.0.0.0.0.0.7" expl="apply premises" proved="true">
277        <proof prover="0"><result status="valid" time="0.044623" steps="78"/></proof>
278        </goal>
279        <goal name="square_norm&#39;vc.0.0.0.0.0.8" expl="apply premises" proved="true">
280        <proof prover="0"><result status="valid" time="0.040518" steps="78"/></proof>
281        </goal>
282       </transf>
283       </goal>
284       <goal name="square_norm&#39;vc.0.0.0.0.1" expl="apply premises" proved="true">
285       <proof prover="0"><result status="valid" time="0.057341" steps="156"/></proof>
286       </goal>
287      </transf>
288      </goal>
289      <goal name="square_norm&#39;vc.0.0.0.1" expl="apply premises" proved="true">
290      <transf name="assert" proved="true" arg1="abs (to_real (c **. c) -. (to_real c *. to_real c))
291 &lt;=. ((eps *. abs (to_real c *. to_real c)) +. eta)">
292       <goal name="square_norm&#39;vc.0.0.0.1.0" expl="asserted formula" proved="true">
293       <proof prover="0"><result status="valid" time="0.140113" steps="1108"/></proof>
294       </goal>
295       <goal name="square_norm&#39;vc.0.0.0.1.1" expl="apply premises" proved="true">
296       <proof prover="0"><result status="valid" time="0.052440" steps="119"/></proof>
297       </goal>
298      </transf>
299      </goal>
300      <goal name="square_norm&#39;vc.0.0.0.2" expl="apply premises" proved="true">
301      <proof prover="0"><result status="valid" time="0.078605" steps="114"/></proof>
302      </goal>
303      <goal name="square_norm&#39;vc.0.0.0.3" expl="apply premises" proved="true">
304      <proof prover="0"><result status="valid" time="0.055868" steps="89"/></proof>
305      </goal>
306      <goal name="square_norm&#39;vc.0.0.0.4" expl="apply premises" proved="true">
307      <proof prover="0"><result status="valid" time="0.041893" steps="78"/></proof>
308      </goal>
309      <goal name="square_norm&#39;vc.0.0.0.5" expl="apply premises" proved="true">
310      <proof prover="0"><result status="valid" time="0.069972" steps="78"/></proof>
311      </goal>
312      <goal name="square_norm&#39;vc.0.0.0.6" expl="apply premises" proved="true">
313      <proof prover="0"><result status="valid" time="0.054893" steps="78"/></proof>
314      </goal>
315      <goal name="square_norm&#39;vc.0.0.0.7" expl="apply premises" proved="true">
316      <proof prover="0"><result status="valid" time="0.037490" steps="78"/></proof>
317      </goal>
318      <goal name="square_norm&#39;vc.0.0.0.8" expl="apply premises" proved="true">
319      <proof prover="0"><result status="valid" time="0.073473" steps="78"/></proof>
320      </goal>
321     </transf>
322     </goal>
323     <goal name="square_norm&#39;vc.0.0.1" expl="asserted formula" proved="true">
324     <proof prover="0"><result status="valid" time="0.072001" steps="448"/></proof>
325     </goal>
326    </transf>
327    </goal>
328    <goal name="square_norm&#39;vc.0.1" expl="postcondition" proved="true">
329    <proof prover="0"><result status="valid" time="0.053215" steps="284"/></proof>
330    </goal>
331   </transf>
332   </goal>
333  </transf>
334  </goal>
335  <goal name="example2&#39;vc" expl="VC for example2" proved="true">
336  <transf name="split_vc" proved="true" >
337   <goal name="example2&#39;vc.0" expl="postcondition" proved="true">
338   <transf name="assert" proved="true" arg1="let t = 1.0 +. eps in
339 let t1 = eps +. (eps *. t) in
340 let t2 = (to_real a +. to_real b) *. to_real c in
341 let t3 = abs t2 in
342 let t4 = (t +. t1) *. eta in
343 abs (to_real result -. (t2 +. t2))
344 &lt;=. ((((t1 +. t1) +. eps) *. (t3 +. t3)) +. (t4 +. t4))">
345    <goal name="example2&#39;vc.0.0" expl="asserted formula" proved="true">
346    <transf name="assert" proved="true" arg1="abs
347 (to_real result
348  -. (((to_real a +. to_real b) *. to_real c)
349      +. ((to_real a +. to_real b) *. to_real c)))
350 &lt;=. (((((eps +. (eps *. (1.0 +. eps))) +. (eps +. (eps *. (1.0 +. eps))))
351        +. eps)
352       *. (abs ((to_real a +. to_real b) *. to_real c)
353           +. abs ((to_real a +. to_real b) *. to_real c)))
354      +. ((((1.0 +. eps) +. (eps +. (eps *. (1.0 +. eps)))) *. eta)
355          +. (((1.0 +. eps) +. (eps +. (eps *. (1.0 +. eps)))) *. eta)))">
356     <goal name="example2&#39;vc.0.0.0" expl="asserted formula" proved="true">
357     <transf name="apply" proved="true" arg1="uadd_single_error_propagation" arg2="with" arg3="(a ++. b) **. c,(a ++. b) **. c">
358      <goal name="example2&#39;vc.0.0.0.0" expl="apply premises" proved="true">
359      <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) **. c) -. ((to_real a +. to_real b) *. to_real c))
360 &lt;=. (((eps +. (((eps +. 0.0) +. (eps *. 0.0)) *. (1.0 +. eps)))
361       *. abs ((to_real a +. to_real b) *. to_real c))
362      +. ((((((0.0 +. (0.0 *. eps)) *. abs (to_real a +. to_real b))
363             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real c)))
364            +. (0.0 *. 0.0))
365           *. (1.0 +. eps))
366          +. eta))">
367       <goal name="example2&#39;vc.0.0.0.0.0" expl="asserted formula" proved="true">
368       <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) **. c) -. ((to_real a +. to_real b) *. to_real c))
369 &lt;=. (((eps +. (((eps +. 0.0) +. (eps *. 0.0)) *. (1.0 +. eps)))
370       *. (abs (to_real a +. to_real b) *. abs (to_real c)))
371      +. ((((((0.0 +. (0.0 *. eps)) *. abs (to_real a +. to_real b))
372             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real c)))
373            +. (0.0 *. 0.0))
374           *. (1.0 +. eps))
375          +. eta))">
376        <goal name="example2&#39;vc.0.0.0.0.0.0" expl="asserted formula" proved="true">
377        <transf name="apply" proved="true" arg1="umul_single_error_propagation" arg2="with" arg3="a ++. b,c">
378         <goal name="example2&#39;vc.0.0.0.0.0.0.0" expl="apply premises" proved="true">
379         <transf name="assert" proved="true" arg1="abs (to_real (a ++. b) -. (to_real a +. to_real b))
380 &lt;=. (eps *. abs (to_real a +. to_real b))">
381          <goal name="example2&#39;vc.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
382          <proof prover="0"><result status="valid" time="0.113924" steps="731"/></proof>
383          </goal>
384          <goal name="example2&#39;vc.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
385          <proof prover="0"><result status="valid" time="0.075772" steps="109"/></proof>
386          </goal>
387         </transf>
388         </goal>
389         <goal name="example2&#39;vc.0.0.0.0.0.0.1" expl="apply premises" proved="true">
390         <proof prover="0"><result status="valid" time="0.049509" steps="82"/></proof>
391         </goal>
392         <goal name="example2&#39;vc.0.0.0.0.0.0.2" expl="apply premises" proved="true">
393         <proof prover="0"><result status="valid" time="0.064965" steps="86"/></proof>
394         </goal>
395         <goal name="example2&#39;vc.0.0.0.0.0.0.3" expl="apply premises" proved="true">
396         <proof prover="0"><result status="valid" time="0.054580" steps="86"/></proof>
397         </goal>
398         <goal name="example2&#39;vc.0.0.0.0.0.0.4" expl="apply premises" proved="true">
399         <proof prover="0"><result status="valid" time="0.041857" steps="78"/></proof>
400         </goal>
401         <goal name="example2&#39;vc.0.0.0.0.0.0.5" expl="apply premises" proved="true">
402         <proof prover="0"><result status="valid" time="0.053300" steps="78"/></proof>
403         </goal>
404         <goal name="example2&#39;vc.0.0.0.0.0.0.6" expl="apply premises" proved="true">
405         <proof prover="0"><result status="valid" time="0.063986" steps="78"/></proof>
406         </goal>
407         <goal name="example2&#39;vc.0.0.0.0.0.0.7" expl="apply premises" proved="true">
408         <proof prover="0"><result status="valid" time="0.041146" steps="78"/></proof>
409         </goal>
410         <goal name="example2&#39;vc.0.0.0.0.0.0.8" expl="apply premises" proved="true">
411         <proof prover="0"><result status="valid" time="0.045187" steps="78"/></proof>
412         </goal>
413        </transf>
414        </goal>
415        <goal name="example2&#39;vc.0.0.0.0.0.1" expl="asserted formula" proved="true">
416        <proof prover="0"><result status="valid" time="0.099733" steps="502"/></proof>
417        </goal>
418       </transf>
419       </goal>
420       <goal name="example2&#39;vc.0.0.0.0.1" expl="apply premises" proved="true">
421       <proof prover="0"><result status="valid" time="0.053032" steps="150"/></proof>
422       </goal>
423      </transf>
424      </goal>
425      <goal name="example2&#39;vc.0.0.0.1" expl="apply premises" proved="true">
426      <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) **. c) -. ((to_real a +. to_real b) *. to_real c))
427 &lt;=. (((eps +. (((eps +. 0.0) +. (eps *. 0.0)) *. (1.0 +. eps)))
428       *. abs ((to_real a +. to_real b) *. to_real c))
429      +. ((((((0.0 +. (0.0 *. eps)) *. abs (to_real a +. to_real b))
430             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real c)))
431            +. (0.0 *. 0.0))
432           *. (1.0 +. eps))
433          +. eta))">
434       <goal name="example2&#39;vc.0.0.0.1.0" expl="asserted formula" proved="true">
435       <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) **. c) -. ((to_real a +. to_real b) *. to_real c))
436 &lt;=. (((eps +. (((eps +. 0.0) +. (eps *. 0.0)) *. (1.0 +. eps)))
437       *. (abs (to_real a +. to_real b) *. abs (to_real c)))
438      +. ((((((0.0 +. (0.0 *. eps)) *. abs (to_real a +. to_real b))
439             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real c)))
440            +. (0.0 *. 0.0))
441           *. (1.0 +. eps))
442          +. eta))">
443        <goal name="example2&#39;vc.0.0.0.1.0.0" expl="asserted formula" proved="true">
444        <transf name="apply" proved="true" arg1="umul_single_error_propagation" arg2="with" arg3="a ++. b,c">
445         <goal name="example2&#39;vc.0.0.0.1.0.0.0" expl="apply premises" proved="true">
446         <transf name="assert" proved="true" arg1="abs (to_real (a ++. b) -. (to_real a +. to_real b))
447 &lt;=. (eps *. abs (to_real a +. to_real b))">
448          <goal name="example2&#39;vc.0.0.0.1.0.0.0.0" expl="asserted formula" proved="true">
449          <proof prover="0"><result status="valid" time="0.123771" steps="731"/></proof>
450          </goal>
451          <goal name="example2&#39;vc.0.0.0.1.0.0.0.1" expl="apply premises" proved="true">
452          <proof prover="0"><result status="valid" time="0.043863" steps="109"/></proof>
453          </goal>
454         </transf>
455         </goal>
456         <goal name="example2&#39;vc.0.0.0.1.0.0.1" expl="apply premises" proved="true">
457         <proof prover="0"><result status="valid" time="0.060064" steps="82"/></proof>
458         </goal>
459         <goal name="example2&#39;vc.0.0.0.1.0.0.2" expl="apply premises" proved="true">
460         <proof prover="0"><result status="valid" time="0.068035" steps="86"/></proof>
461         </goal>
462         <goal name="example2&#39;vc.0.0.0.1.0.0.3" expl="apply premises" proved="true">
463         <proof prover="0"><result status="valid" time="0.047839" steps="86"/></proof>
464         </goal>
465         <goal name="example2&#39;vc.0.0.0.1.0.0.4" expl="apply premises" proved="true">
466         <proof prover="0"><result status="valid" time="0.077064" steps="78"/></proof>
467         </goal>
468         <goal name="example2&#39;vc.0.0.0.1.0.0.5" expl="apply premises" proved="true">
469         <proof prover="0"><result status="valid" time="0.041935" steps="78"/></proof>
470         </goal>
471         <goal name="example2&#39;vc.0.0.0.1.0.0.6" expl="apply premises" proved="true">
472         <proof prover="0"><result status="valid" time="0.042320" steps="78"/></proof>
473         </goal>
474         <goal name="example2&#39;vc.0.0.0.1.0.0.7" expl="apply premises" proved="true">
475         <proof prover="0"><result status="valid" time="0.044650" steps="78"/></proof>
476         </goal>
477         <goal name="example2&#39;vc.0.0.0.1.0.0.8" expl="apply premises" proved="true">
478         <proof prover="0"><result status="valid" time="0.051728" steps="78"/></proof>
479         </goal>
480        </transf>
481        </goal>
482        <goal name="example2&#39;vc.0.0.0.1.0.1" expl="asserted formula" proved="true">
483        <proof prover="0"><result status="valid" time="0.087111" steps="502"/></proof>
484        </goal>
485       </transf>
486       </goal>
487       <goal name="example2&#39;vc.0.0.0.1.1" expl="apply premises" proved="true">
488       <proof prover="0"><result status="valid" time="0.075421" steps="150"/></proof>
489       </goal>
490      </transf>
491      </goal>
492      <goal name="example2&#39;vc.0.0.0.2" expl="apply premises" proved="true">
493      <proof prover="0"><result status="valid" time="0.061820" steps="96"/></proof>
494      </goal>
495      <goal name="example2&#39;vc.0.0.0.3" expl="apply premises" proved="true">
496      <proof prover="0"><result status="valid" time="0.057548" steps="96"/></proof>
497      </goal>
498      <goal name="example2&#39;vc.0.0.0.4" expl="apply premises" proved="true">
499      <proof prover="0"><result status="valid" time="0.046061" steps="78"/></proof>
500      </goal>
501      <goal name="example2&#39;vc.0.0.0.5" expl="apply premises" proved="true">
502      <proof prover="0"><result status="valid" time="0.032188" steps="78"/></proof>
503      </goal>
504      <goal name="example2&#39;vc.0.0.0.6" expl="apply premises" proved="true">
505      <proof prover="0"><result status="valid" time="0.044784" steps="78"/></proof>
506      </goal>
507      <goal name="example2&#39;vc.0.0.0.7" expl="apply premises" proved="true">
508      <proof prover="0"><result status="valid" time="0.035306" steps="78"/></proof>
509      </goal>
510      <goal name="example2&#39;vc.0.0.0.8" expl="apply premises" proved="true">
511      <proof prover="0"><result status="valid" time="0.058143" steps="78"/></proof>
512      </goal>
513     </transf>
514     </goal>
515     <goal name="example2&#39;vc.0.0.1" expl="asserted formula" proved="true">
516     <proof prover="0"><result status="valid" time="0.044230" steps="209"/></proof>
517     </goal>
518    </transf>
519    </goal>
520    <goal name="example2&#39;vc.0.1" expl="postcondition" proved="true">
521    <proof prover="1"><result status="valid" time="0.038699" steps="228"/></proof>
522    </goal>
523   </transf>
524   </goal>
525  </transf>
526  </goal>
527 </theory>
528 <theory name="AddSubMulDouble" proved="true">
529  <goal name="example1&#39;vc" expl="VC for example1" proved="true">
530  <transf name="split_vc" proved="true" >
531   <goal name="example1&#39;vc.0" expl="postcondition" proved="true">
532   <transf name="assert" proved="true" arg1="let t = to_real d in
533 let t1 = to_real c in
534 let t2 = abs t in
535 let t3 = 0.0 *. 0.0 in
536 let t4 = eps +. eps in
537 let t5 = 1.0 +. eps in
538 let t6 = to_real a +. to_real b in
539 let t7 = abs t6 +. abs t1 in
540 abs (to_real result -. ((t6 -. t1) *. t))
541 &lt;=. (((eps +. (((t4 +. 0.0) +. (t4 *. 0.0)) *. t5)) *. (t7 *. t2))
542      +. ((((((0.0 +. (0.0 *. t4)) *. t7) +. ((0.0 +. t3) *. t2)) +. t3) *. t5)
543          +. eta))">
544    <goal name="example1&#39;vc.0.0" expl="asserted formula" proved="true">
545    <transf name="assert" proved="true" arg1="abs
546 (to_real result -. (((to_real a +. to_real b) -. to_real c) *. to_real d))
547 &lt;=. (((eps
548        +. ((((eps +. eps) +. 0.0) +. ((eps +. eps) *. 0.0)) *. (1.0 +. eps)))
549       *. ((abs (to_real a +. to_real b) +. abs (to_real c))
550           *. abs (to_real d)))
551      +. ((((((0.0 +. (0.0 *. (eps +. eps)))
552              *. (abs (to_real a +. to_real b) +. abs (to_real c)))
553             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real d)))
554            +. (0.0 *. 0.0))
555           *. (1.0 +. eps))
556          +. eta))">
557     <goal name="example1&#39;vc.0.0.0" expl="asserted formula" proved="true">
558     <transf name="apply" proved="true" arg1="umul_double_error_propagation" arg2="with" arg3="(a ++. b) --. c,d">
559      <goal name="example1&#39;vc.0.0.0.0" expl="apply premises" proved="true">
560      <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) --. c) -. ((to_real a +. to_real b) -. to_real c))
561 &lt;=. ((((eps +. 0.0) +. eps)
562       *. (abs (to_real a +. to_real b) +. abs (to_real c)))
563      +. ((((1.0 +. eps) +. 0.0) *. 0.0) +. (((1.0 +. eps) +. eps) *. 0.0)))">
564       <goal name="example1&#39;vc.0.0.0.0.0" expl="asserted formula" proved="true">
565       <transf name="apply" proved="true" arg1="usub_double_error_propagation" arg2="with" arg3="a ++. b,c">
566        <goal name="example1&#39;vc.0.0.0.0.0.0" expl="apply premises" proved="true">
567        <transf name="assert" proved="true" arg1="abs (to_real (a ++. b) -. (to_real a +. to_real b))
568 &lt;=. (eps *. abs (to_real a +. to_real b))">
569         <goal name="example1&#39;vc.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
570         <proof prover="0"><result status="valid" time="0.099338" steps="731"/></proof>
571         </goal>
572         <goal name="example1&#39;vc.0.0.0.0.0.0.1" expl="apply premises" proved="true">
573         <proof prover="0"><result status="valid" time="0.044111" steps="109"/></proof>
574         </goal>
575        </transf>
576        </goal>
577        <goal name="example1&#39;vc.0.0.0.0.0.1" expl="apply premises" proved="true">
578        <proof prover="0"><result status="valid" time="0.039709" steps="82"/></proof>
579        </goal>
580        <goal name="example1&#39;vc.0.0.0.0.0.2" expl="apply premises" proved="true">
581        <proof prover="0"><result status="valid" time="0.052334" steps="86"/></proof>
582        </goal>
583        <goal name="example1&#39;vc.0.0.0.0.0.3" expl="apply premises" proved="true">
584        <proof prover="0"><result status="valid" time="0.040767" steps="86"/></proof>
585        </goal>
586        <goal name="example1&#39;vc.0.0.0.0.0.4" expl="apply premises" proved="true">
587        <proof prover="0"><result status="valid" time="0.039429" steps="78"/></proof>
588        </goal>
589        <goal name="example1&#39;vc.0.0.0.0.0.5" expl="apply premises" proved="true">
590        <proof prover="0"><result status="valid" time="0.046250" steps="78"/></proof>
591        </goal>
592        <goal name="example1&#39;vc.0.0.0.0.0.6" expl="apply premises" proved="true">
593        <proof prover="0"><result status="valid" time="0.050161" steps="78"/></proof>
594        </goal>
595        <goal name="example1&#39;vc.0.0.0.0.0.7" expl="apply premises" proved="true">
596        <proof prover="0"><result status="valid" time="0.044826" steps="78"/></proof>
597        </goal>
598        <goal name="example1&#39;vc.0.0.0.0.0.8" expl="apply premises" proved="true">
599        <proof prover="0"><result status="valid" time="0.038337" steps="78"/></proof>
600        </goal>
601       </transf>
602       </goal>
603       <goal name="example1&#39;vc.0.0.0.0.1" expl="apply premises" proved="true">
604       <proof prover="0"><result status="valid" time="0.057962" steps="145"/></proof>
605       </goal>
606      </transf>
607      </goal>
608      <goal name="example1&#39;vc.0.0.0.1" expl="apply premises" proved="true">
609      <proof prover="0"><result status="valid" time="0.039300" steps="82"/></proof>
610      </goal>
611      <goal name="example1&#39;vc.0.0.0.2" expl="apply premises" proved="true">
612      <proof prover="0"><result status="valid" time="0.048197" steps="112"/></proof>
613      </goal>
614      <goal name="example1&#39;vc.0.0.0.3" expl="apply premises" proved="true">
615      <proof prover="0"><result status="valid" time="0.045211" steps="86"/></proof>
616      </goal>
617      <goal name="example1&#39;vc.0.0.0.4" expl="apply premises" proved="true">
618      <proof prover="0"><result status="valid" time="0.037370" steps="78"/></proof>
619      </goal>
620      <goal name="example1&#39;vc.0.0.0.5" expl="apply premises" proved="true">
621      <proof prover="0"><result status="valid" time="0.040803" steps="78"/></proof>
622      </goal>
623      <goal name="example1&#39;vc.0.0.0.6" expl="apply premises" proved="true">
624      <proof prover="0"><result status="valid" time="0.047850" steps="78"/></proof>
625      </goal>
626      <goal name="example1&#39;vc.0.0.0.7" expl="apply premises" proved="true">
627      <proof prover="0"><result status="valid" time="0.038349" steps="78"/></proof>
628      </goal>
629      <goal name="example1&#39;vc.0.0.0.8" expl="apply premises" proved="true">
630      <proof prover="0"><result status="valid" time="0.036098" steps="78"/></proof>
631      </goal>
632     </transf>
633     </goal>
634     <goal name="example1&#39;vc.0.0.1" expl="asserted formula" proved="true">
635     <proof prover="0"><result status="valid" time="0.354877" steps="619"/></proof>
636     </goal>
637    </transf>
638    </goal>
639    <goal name="example1&#39;vc.0.1" expl="postcondition" proved="true">
640    <proof prover="0"><result status="valid" time="0.419084" steps="1517"/></proof>
641    </goal>
642   </transf>
643   </goal>
644  </transf>
645  </goal>
646  <goal name="determinant&#39;vc" expl="VC for determinant" proved="true">
647  <transf name="split_vc" proved="true" >
648   <goal name="determinant&#39;vc.0" expl="postcondition" proved="true">
649   <transf name="assert" proved="true" arg1="let t = to_real b *. to_real c in
650 let t3 = to_real a *. to_real d in
651 let t4 = ((1.0 +. eps) +. eps) *. eta in
652 abs (to_real result -. (t3 -. t))
653 &lt;=. ((((eps +. eps) +. eps) *. (abs t3 +. abs t)) +. (t4 +. t4))">
654    <goal name="determinant&#39;vc.0.0" expl="asserted formula" proved="true">
655    <transf name="assert" proved="true" arg1="abs
656 (to_real result -. ((to_real a *. to_real d) -. (to_real b *. to_real c)))
657 &lt;=. ((((eps +. eps) +. eps)
658       *. (abs (to_real a *. to_real d) +. abs (to_real b *. to_real c)))
659      +. ((((1.0 +. eps) +. eps) *. eta) +. (((1.0 +. eps) +. eps) *. eta)))">
660     <goal name="determinant&#39;vc.0.0.0" expl="asserted formula" proved="true">
661     <transf name="apply" proved="true" arg1="usub_double_error_propagation" arg2="with" arg3="a **. d,b **. c">
662      <goal name="determinant&#39;vc.0.0.0.0" expl="apply premises" proved="true">
663      <transf name="assert" proved="true" arg1="abs (to_real (a **. d) -. (to_real a *. to_real d))
664 &lt;=. ((eps *. abs (to_real a *. to_real d)) +. eta)">
665       <goal name="determinant&#39;vc.0.0.0.0.0" expl="asserted formula" proved="true">
666       <proof prover="0"><result status="valid" time="0.112748" steps="1044"/></proof>
667       </goal>
668       <goal name="determinant&#39;vc.0.0.0.0.1" expl="apply premises" proved="true">
669       <proof prover="0"><result status="valid" time="0.052974" steps="136"/></proof>
670       </goal>
671      </transf>
672      </goal>
673      <goal name="determinant&#39;vc.0.0.0.1" expl="apply premises" proved="true">
674      <transf name="assert" proved="true" arg1="abs (to_real (b **. c) -. (to_real b *. to_real c))
675 &lt;=. ((eps *. abs (to_real b *. to_real c)) +. eta)">
676       <goal name="determinant&#39;vc.0.0.0.1.0" expl="asserted formula" proved="true">
677       <proof prover="0"><result status="valid" time="0.117956" steps="1034"/></proof>
678       </goal>
679       <goal name="determinant&#39;vc.0.0.0.1.1" expl="apply premises" proved="true">
680       <proof prover="0"><result status="valid" time="0.080507" steps="136"/></proof>
681       </goal>
682      </transf>
683      </goal>
684      <goal name="determinant&#39;vc.0.0.0.2" expl="apply premises" proved="true">
685      <proof prover="0"><result status="valid" time="0.049878" steps="95"/></proof>
686      </goal>
687      <goal name="determinant&#39;vc.0.0.0.3" expl="apply premises" proved="true">
688      <proof prover="0"><result status="valid" time="0.059504" steps="95"/></proof>
689      </goal>
690      <goal name="determinant&#39;vc.0.0.0.4" expl="apply premises" proved="true">
691      <proof prover="0"><result status="valid" time="0.067906" steps="78"/></proof>
692      </goal>
693      <goal name="determinant&#39;vc.0.0.0.5" expl="apply premises" proved="true">
694      <proof prover="0"><result status="valid" time="0.041347" steps="78"/></proof>
695      </goal>
696      <goal name="determinant&#39;vc.0.0.0.6" expl="apply premises" proved="true">
697      <proof prover="0"><result status="valid" time="0.048682" steps="78"/></proof>
698      </goal>
699      <goal name="determinant&#39;vc.0.0.0.7" expl="apply premises" proved="true">
700      <proof prover="0"><result status="valid" time="0.047418" steps="78"/></proof>
701      </goal>
702      <goal name="determinant&#39;vc.0.0.0.8" expl="apply premises" proved="true">
703      <proof prover="0"><result status="valid" time="0.044028" steps="78"/></proof>
704      </goal>
705     </transf>
706     </goal>
707     <goal name="determinant&#39;vc.0.0.1" expl="asserted formula" proved="true">
708     <proof prover="0"><result status="valid" time="0.068004" steps="367"/></proof>
709     </goal>
710    </transf>
711    </goal>
712    <goal name="determinant&#39;vc.0.1" expl="postcondition" proved="true">
713    <proof prover="0"><result status="valid" time="0.066228" steps="387"/></proof>
714    </goal>
715   </transf>
716   </goal>
717  </transf>
718  </goal>
719  <goal name="square_norm&#39;vc" expl="VC for square_norm" proved="true">
720  <transf name="split_vc" proved="true" >
721   <goal name="square_norm&#39;vc.0" expl="postcondition" proved="true">
722   <transf name="assert" proved="true" arg1="let t = to_real c in
723 let t4 = to_real b in
724 let t5 = to_real a in
725 let t6 = 1.0 +. eps in
726 let t7 = t *. t in
727 let t8 = t4 *. t4 in
728 let t9 = t5 *. t5 in
729 let t10 = (eps +. eps) +. eps in
730 let t11 = t6 +. eps in
731 let t12 = t11 *. eta in
732 abs (to_real result -. ((t9 +. t8) +. t7))
733 &lt;=. ((((t10 +. eps) +. eps) *. ((abs t9 +. abs t8) +. abs t7))
734      +. ((t11 *. (t12 +. t12)) +. ((t6 +. t10) *. eta)))">
735    <goal name="square_norm&#39;vc.0.0" expl="asserted formula" proved="true">
736    <transf name="assert" proved="true" arg1="abs
737 (to_real result
738  -. (((to_real a *. to_real a) +. (to_real b *. to_real b))
739      +. (to_real c *. to_real c)))
740 &lt;=. ((((((eps +. eps) +. eps) +. eps) +. eps)
741       *. ((abs (to_real a *. to_real a) +. abs (to_real b *. to_real b))
742           +. abs (to_real c *. to_real c)))
743      +. ((((1.0 +. eps) +. eps)
744           *. ((((1.0 +. eps) +. eps) *. eta)
745               +. (((1.0 +. eps) +. eps) *. eta)))
746          +. (((1.0 +. eps) +. ((eps +. eps) +. eps)) *. eta)))">
747     <goal name="square_norm&#39;vc.0.0.0" expl="asserted formula" proved="true">
748     <transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(a **. a) ++. (b **. b),c **. c">
749      <goal name="square_norm&#39;vc.0.0.0.0" expl="apply premises" proved="true">
750      <transf name="assert" proved="true" arg1="abs
751 (to_real ((a **. a) ++. (b **. b))
752  -. ((to_real a *. to_real a) +. (to_real b *. to_real b)))
753 &lt;=. ((((eps +. eps) +. eps)
754       *. (abs (to_real a *. to_real a) +. abs (to_real b *. to_real b)))
755      +. ((((1.0 +. eps) +. eps) *. eta) +. (((1.0 +. eps) +. eps) *. eta)))">
756       <goal name="square_norm&#39;vc.0.0.0.0.0" expl="asserted formula" proved="true">
757       <transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="a **. a,b **. b">
758        <goal name="square_norm&#39;vc.0.0.0.0.0.0" expl="apply premises" proved="true">
759        <transf name="assert" proved="true" arg1="abs (to_real (a **. a) -. (to_real a *. to_real a))
760 &lt;=. ((eps *. abs (to_real a *. to_real a)) +. eta)">
761         <goal name="square_norm&#39;vc.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
762         <proof prover="0"><result status="valid" time="0.093713" steps="1108"/></proof>
763         </goal>
764         <goal name="square_norm&#39;vc.0.0.0.0.0.0.1" expl="apply premises" proved="true">
765         <proof prover="0"><result status="valid" time="0.042975" steps="119"/></proof>
766         </goal>
767        </transf>
768        </goal>
769        <goal name="square_norm&#39;vc.0.0.0.0.0.1" expl="apply premises" proved="true">
770        <transf name="assert" proved="true" arg1="abs (to_real (b **. b) -. (to_real b *. to_real b))
771 &lt;=. ((eps *. abs (to_real b *. to_real b)) +. eta)">
772         <goal name="square_norm&#39;vc.0.0.0.0.0.1.0" expl="asserted formula" proved="true">
773         <proof prover="0"><result status="valid" time="0.108802" steps="1108"/></proof>
774         </goal>
775         <goal name="square_norm&#39;vc.0.0.0.0.0.1.1" expl="apply premises" proved="true">
776         <proof prover="0"><result status="valid" time="0.071893" steps="119"/></proof>
777         </goal>
778        </transf>
779        </goal>
780        <goal name="square_norm&#39;vc.0.0.0.0.0.2" expl="apply premises" proved="true">
781        <proof prover="0"><result status="valid" time="0.042091" steps="89"/></proof>
782        </goal>
783        <goal name="square_norm&#39;vc.0.0.0.0.0.3" expl="apply premises" proved="true">
784        <proof prover="0"><result status="valid" time="0.041152" steps="89"/></proof>
785        </goal>
786        <goal name="square_norm&#39;vc.0.0.0.0.0.4" expl="apply premises" proved="true">
787        <proof prover="0"><result status="valid" time="0.055265" steps="78"/></proof>
788        </goal>
789        <goal name="square_norm&#39;vc.0.0.0.0.0.5" expl="apply premises" proved="true">
790        <proof prover="0"><result status="valid" time="0.042744" steps="78"/></proof>
791        </goal>
792        <goal name="square_norm&#39;vc.0.0.0.0.0.6" expl="apply premises" proved="true">
793        <proof prover="0"><result status="valid" time="0.070463" steps="78"/></proof>
794        </goal>
795        <goal name="square_norm&#39;vc.0.0.0.0.0.7" expl="apply premises" proved="true">
796        <proof prover="0"><result status="valid" time="0.070842" steps="78"/></proof>
797        </goal>
798        <goal name="square_norm&#39;vc.0.0.0.0.0.8" expl="apply premises" proved="true">
799        <proof prover="0"><result status="valid" time="0.045319" steps="78"/></proof>
800        </goal>
801       </transf>
802       </goal>
803       <goal name="square_norm&#39;vc.0.0.0.0.1" expl="apply premises" proved="true">
804       <proof prover="0"><result status="valid" time="0.057372" steps="156"/></proof>
805       </goal>
806      </transf>
807      </goal>
808      <goal name="square_norm&#39;vc.0.0.0.1" expl="apply premises" proved="true">
809      <transf name="assert" proved="true" arg1="abs (to_real (c **. c) -. (to_real c *. to_real c))
810 &lt;=. ((eps *. abs (to_real c *. to_real c)) +. eta)">
811       <goal name="square_norm&#39;vc.0.0.0.1.0" expl="asserted formula" proved="true">
812       <proof prover="0"><result status="valid" time="0.106320" steps="1108"/></proof>
813       </goal>
814       <goal name="square_norm&#39;vc.0.0.0.1.1" expl="apply premises" proved="true">
815       <proof prover="0"><result status="valid" time="0.055363" steps="119"/></proof>
816       </goal>
817      </transf>
818      </goal>
819      <goal name="square_norm&#39;vc.0.0.0.2" expl="apply premises" proved="true">
820      <proof prover="0"><result status="valid" time="0.064110" steps="114"/></proof>
821      </goal>
822      <goal name="square_norm&#39;vc.0.0.0.3" expl="apply premises" proved="true">
823      <proof prover="0"><result status="valid" time="0.060803" steps="89"/></proof>
824      </goal>
825      <goal name="square_norm&#39;vc.0.0.0.4" expl="apply premises" proved="true">
826      <proof prover="0"><result status="valid" time="0.046007" steps="78"/></proof>
827      </goal>
828      <goal name="square_norm&#39;vc.0.0.0.5" expl="apply premises" proved="true">
829      <proof prover="0"><result status="valid" time="0.068342" steps="78"/></proof>
830      </goal>
831      <goal name="square_norm&#39;vc.0.0.0.6" expl="apply premises" proved="true">
832      <proof prover="0"><result status="valid" time="0.061078" steps="78"/></proof>
833      </goal>
834      <goal name="square_norm&#39;vc.0.0.0.7" expl="apply premises" proved="true">
835      <proof prover="0"><result status="valid" time="0.050386" steps="78"/></proof>
836      </goal>
837      <goal name="square_norm&#39;vc.0.0.0.8" expl="apply premises" proved="true">
838      <proof prover="0"><result status="valid" time="0.038568" steps="78"/></proof>
839      </goal>
840     </transf>
841     </goal>
842     <goal name="square_norm&#39;vc.0.0.1" expl="asserted formula" proved="true">
843     <proof prover="0"><result status="valid" time="0.068279" steps="448"/></proof>
844     </goal>
845    </transf>
846    </goal>
847    <goal name="square_norm&#39;vc.0.1" expl="postcondition" proved="true">
848    <proof prover="0"><result status="valid" time="0.066598" steps="284"/></proof>
849    </goal>
850   </transf>
851   </goal>
852  </transf>
853  </goal>
854  <goal name="example2&#39;vc" expl="VC for example2" proved="true">
855  <transf name="split_vc" proved="true" >
856   <goal name="example2&#39;vc.0" expl="postcondition" proved="true">
857   <transf name="assert" proved="true" arg1="let t5 = 1.0 +. eps in
858 let t6 = eps +. (eps *. t5) in
859 let t7 = (to_real a +. to_real b) *. to_real c in
860 let t8 = abs t7 in
861 let t9 = (t5 +. t6) *. eta in
862 abs (to_real result -. (t7 +. t7))
863 &lt;=. ((((t6 +. t6) +. eps) *. (t8 +. t8)) +. (t9 +. t9))">
864    <goal name="example2&#39;vc.0.0" expl="asserted formula" proved="true">
865    <transf name="assert" proved="true" arg1="abs
866 (to_real result
867  -. (((to_real a +. to_real b) *. to_real c)
868      +. ((to_real a +. to_real b) *. to_real c)))
869 &lt;=. (((((eps +. (eps *. (1.0 +. eps))) +. (eps +. (eps *. (1.0 +. eps))))
870        +. eps)
871       *. (abs ((to_real a +. to_real b) *. to_real c)
872           +. abs ((to_real a +. to_real b) *. to_real c)))
873      +. ((((1.0 +. eps) +. (eps +. (eps *. (1.0 +. eps)))) *. eta)
874          +. (((1.0 +. eps) +. (eps +. (eps *. (1.0 +. eps)))) *. eta)))">
875     <goal name="example2&#39;vc.0.0.0" expl="asserted formula" proved="true">
876     <transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(a ++. b) **. c,(a ++. b) **. c">
877      <goal name="example2&#39;vc.0.0.0.0" expl="apply premises" proved="true">
878      <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) **. c) -. ((to_real a +. to_real b) *. to_real c))
879 &lt;=. (((eps +. (((eps +. 0.0) +. (eps *. 0.0)) *. (1.0 +. eps)))
880       *. abs ((to_real a +. to_real b) *. to_real c))
881      +. ((((((0.0 +. (0.0 *. eps)) *. abs (to_real a +. to_real b))
882             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real c)))
883            +. (0.0 *. 0.0))
884           *. (1.0 +. eps))
885          +. eta))">
886       <goal name="example2&#39;vc.0.0.0.0.0" expl="asserted formula" proved="true">
887       <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) **. c) -. ((to_real a +. to_real b) *. to_real c))
888 &lt;=. (((eps +. (((eps +. 0.0) +. (eps *. 0.0)) *. (1.0 +. eps)))
889       *. (abs (to_real a +. to_real b) *. abs (to_real c)))
890      +. ((((((0.0 +. (0.0 *. eps)) *. abs (to_real a +. to_real b))
891             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real c)))
892            +. (0.0 *. 0.0))
893           *. (1.0 +. eps))
894          +. eta))">
895        <goal name="example2&#39;vc.0.0.0.0.0.0" expl="asserted formula" proved="true">
896        <transf name="apply" proved="true" arg1="umul_double_error_propagation" arg2="with" arg3="a ++. b,c">
897         <goal name="example2&#39;vc.0.0.0.0.0.0.0" expl="apply premises" proved="true">
898         <transf name="assert" proved="true" arg1="abs (to_real (a ++. b) -. (to_real a +. to_real b))
899 &lt;=. (eps *. abs (to_real a +. to_real b))">
900          <goal name="example2&#39;vc.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
901          <proof prover="0"><result status="valid" time="0.113869" steps="732"/></proof>
902          </goal>
903          <goal name="example2&#39;vc.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
904          <proof prover="0"><result status="valid" time="0.043755" steps="109"/></proof>
905          </goal>
906         </transf>
907         </goal>
908         <goal name="example2&#39;vc.0.0.0.0.0.0.1" expl="apply premises" proved="true">
909         <proof prover="0"><result status="valid" time="0.068017" steps="82"/></proof>
910         </goal>
911         <goal name="example2&#39;vc.0.0.0.0.0.0.2" expl="apply premises" proved="true">
912         <proof prover="0"><result status="valid" time="0.064696" steps="86"/></proof>
913         </goal>
914         <goal name="example2&#39;vc.0.0.0.0.0.0.3" expl="apply premises" proved="true">
915         <proof prover="0"><result status="valid" time="0.038286" steps="86"/></proof>
916         </goal>
917         <goal name="example2&#39;vc.0.0.0.0.0.0.4" expl="apply premises" proved="true">
918         <proof prover="0"><result status="valid" time="0.043526" steps="78"/></proof>
919         </goal>
920         <goal name="example2&#39;vc.0.0.0.0.0.0.5" expl="apply premises" proved="true">
921         <proof prover="0"><result status="valid" time="0.040759" steps="78"/></proof>
922         </goal>
923         <goal name="example2&#39;vc.0.0.0.0.0.0.6" expl="apply premises" proved="true">
924         <proof prover="0"><result status="valid" time="0.061148" steps="78"/></proof>
925         </goal>
926         <goal name="example2&#39;vc.0.0.0.0.0.0.7" expl="apply premises" proved="true">
927         <proof prover="0"><result status="valid" time="0.071233" steps="78"/></proof>
928         </goal>
929         <goal name="example2&#39;vc.0.0.0.0.0.0.8" expl="apply premises" proved="true">
930         <proof prover="0"><result status="valid" time="0.041913" steps="78"/></proof>
931         </goal>
932        </transf>
933        </goal>
934        <goal name="example2&#39;vc.0.0.0.0.0.1" expl="asserted formula" proved="true">
935        <proof prover="0"><result status="valid" time="0.113913" steps="510"/></proof>
936        </goal>
937       </transf>
938       </goal>
939       <goal name="example2&#39;vc.0.0.0.0.1" expl="apply premises" proved="true">
940       <proof prover="0"><result status="valid" time="0.055692" steps="150"/></proof>
941       </goal>
942      </transf>
943      </goal>
944      <goal name="example2&#39;vc.0.0.0.1" expl="apply premises" proved="true">
945      <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) **. c) -. ((to_real a +. to_real b) *. to_real c))
946 &lt;=. (((eps +. (((eps +. 0.0) +. (eps *. 0.0)) *. (1.0 +. eps)))
947       *. abs ((to_real a +. to_real b) *. to_real c))
948      +. ((((((0.0 +. (0.0 *. eps)) *. abs (to_real a +. to_real b))
949             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real c)))
950            +. (0.0 *. 0.0))
951           *. (1.0 +. eps))
952          +. eta))">
953       <goal name="example2&#39;vc.0.0.0.1.0" expl="asserted formula" proved="true">
954       <transf name="assert" proved="true" arg1="abs (to_real ((a ++. b) **. c) -. ((to_real a +. to_real b) *. to_real c))
955 &lt;=. (((eps +. (((eps +. 0.0) +. (eps *. 0.0)) *. (1.0 +. eps)))
956       *. (abs (to_real a +. to_real b) *. abs (to_real c)))
957      +. ((((((0.0 +. (0.0 *. eps)) *. abs (to_real a +. to_real b))
958             +. ((0.0 +. (0.0 *. 0.0)) *. abs (to_real c)))
959            +. (0.0 *. 0.0))
960           *. (1.0 +. eps))
961          +. eta))">
962        <goal name="example2&#39;vc.0.0.0.1.0.0" expl="asserted formula" proved="true">
963        <transf name="apply" proved="true" arg1="umul_double_error_propagation" arg2="with" arg3="a ++. b,c">
964         <goal name="example2&#39;vc.0.0.0.1.0.0.0" expl="apply premises" proved="true">
965         <transf name="assert" proved="true" arg1="abs (to_real (a ++. b) -. (to_real a +. to_real b))
966 &lt;=. (eps *. abs (to_real a +. to_real b))">
967          <goal name="example2&#39;vc.0.0.0.1.0.0.0.0" expl="asserted formula" proved="true">
968          <proof prover="0"><result status="valid" time="0.125627" steps="732"/></proof>
969          </goal>
970          <goal name="example2&#39;vc.0.0.0.1.0.0.0.1" expl="apply premises" proved="true">
971          <proof prover="0"><result status="valid" time="0.078666" steps="109"/></proof>
972          </goal>
973         </transf>
974         </goal>
975         <goal name="example2&#39;vc.0.0.0.1.0.0.1" expl="apply premises" proved="true">
976         <proof prover="0"><result status="valid" time="0.066025" steps="82"/></proof>
977         </goal>
978         <goal name="example2&#39;vc.0.0.0.1.0.0.2" expl="apply premises" proved="true">
979         <proof prover="0"><result status="valid" time="0.051434" steps="86"/></proof>
980         </goal>
981         <goal name="example2&#39;vc.0.0.0.1.0.0.3" expl="apply premises" proved="true">
982         <proof prover="0"><result status="valid" time="0.052211" steps="86"/></proof>
983         </goal>
984         <goal name="example2&#39;vc.0.0.0.1.0.0.4" expl="apply premises" proved="true">
985         <proof prover="0"><result status="valid" time="0.039701" steps="78"/></proof>
986         </goal>
987         <goal name="example2&#39;vc.0.0.0.1.0.0.5" expl="apply premises" proved="true">
988         <proof prover="0"><result status="valid" time="0.048932" steps="78"/></proof>
989         </goal>
990         <goal name="example2&#39;vc.0.0.0.1.0.0.6" expl="apply premises" proved="true">
991         <proof prover="0"><result status="valid" time="0.043339" steps="78"/></proof>
992         </goal>
993         <goal name="example2&#39;vc.0.0.0.1.0.0.7" expl="apply premises" proved="true">
994         <proof prover="0"><result status="valid" time="0.040041" steps="78"/></proof>
995         </goal>
996         <goal name="example2&#39;vc.0.0.0.1.0.0.8" expl="apply premises" proved="true">
997         <proof prover="0"><result status="valid" time="0.041882" steps="78"/></proof>
998         </goal>
999        </transf>
1000        </goal>
1001        <goal name="example2&#39;vc.0.0.0.1.0.1" expl="asserted formula" proved="true">
1002        <proof prover="0"><result status="valid" time="0.122295" steps="510"/></proof>
1003        </goal>
1004       </transf>
1005       </goal>
1006       <goal name="example2&#39;vc.0.0.0.1.1" expl="apply premises" proved="true">
1007       <proof prover="0"><result status="valid" time="0.091872" steps="150"/></proof>
1008       </goal>
1009      </transf>
1010      </goal>
1011      <goal name="example2&#39;vc.0.0.0.2" expl="apply premises" proved="true">
1012      <proof prover="0"><result status="valid" time="0.056166" steps="96"/></proof>
1013      </goal>
1014      <goal name="example2&#39;vc.0.0.0.3" expl="apply premises" proved="true">
1015      <proof prover="0"><result status="valid" time="0.064147" steps="96"/></proof>
1016      </goal>
1017      <goal name="example2&#39;vc.0.0.0.4" expl="apply premises" proved="true">
1018      <proof prover="0"><result status="valid" time="0.053921" steps="78"/></proof>
1019      </goal>
1020      <goal name="example2&#39;vc.0.0.0.5" expl="apply premises" proved="true">
1021      <proof prover="0"><result status="valid" time="0.045842" steps="78"/></proof>
1022      </goal>
1023      <goal name="example2&#39;vc.0.0.0.6" expl="apply premises" proved="true">
1024      <proof prover="0"><result status="valid" time="0.048885" steps="78"/></proof>
1025      </goal>
1026      <goal name="example2&#39;vc.0.0.0.7" expl="apply premises" proved="true">
1027      <proof prover="0"><result status="valid" time="0.053499" steps="78"/></proof>
1028      </goal>
1029      <goal name="example2&#39;vc.0.0.0.8" expl="apply premises" proved="true">
1030      <proof prover="0"><result status="valid" time="0.057707" steps="78"/></proof>
1031      </goal>
1032     </transf>
1033     </goal>
1034     <goal name="example2&#39;vc.0.0.1" expl="asserted formula" proved="true">
1035     <proof prover="0"><result status="valid" time="0.073772" steps="208"/></proof>
1036     </goal>
1037    </transf>
1038    </goal>
1039    <goal name="example2&#39;vc.0.1" expl="postcondition" proved="true">
1040    <proof prover="0"><result status="valid" time="0.049202" steps="229"/></proof>
1041    </goal>
1042   </transf>
1043   </goal>
1044  </transf>
1045  </goal>
1046 </theory>
1047 </file>
1048 </why3session>