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="1" name="CVC4" version="1.8" timelimit="1" steplimit="0" memlimit="1000"/>
6 <prover id="2" name="Alt-Ergo" version="2.5.3" timelimit="1" steplimit="0" memlimit="1000"/>
7 <file format="whyml" proved="true">
8 <path name=".."/><path name="string_hex_encoding.mlw"/>
9 <theory name="Top" proved="true">
10 <goal name="hex'vc" expl="VC for hex" proved="true">
11 <proof prover="2"><result status="valid" time="0.032105" steps="207"/></proof>
13 <goal name="xeh'vc" expl="VC for xeh" proved="true">
14 <proof prover="2"><result status="valid" time="0.041858" steps="396"/></proof>
16 <goal name="decode_unique" proved="true">
17 <transf name="introduce_premises" proved="true" >
18 <goal name="decode_unique.0" proved="true">
19 <transf name="assert" proved="true" arg1="(eq_string s1 s3)">
20 <goal name="decode_unique.0.0" expl="asserted formula" proved="true">
21 <proof prover="2"><result status="valid" time="0.065944" steps="462"/></proof>
23 <goal name="decode_unique.0.1" proved="true">
24 <proof prover="2"><result status="valid" time="0.015780" steps="21"/></proof>
30 <goal name="encode'vc" expl="VC for encode" proved="true">
31 <transf name="split_vc" proved="true" >
32 <goal name="encode'vc.0" expl="loop invariant init" proved="true">
33 <proof prover="2"><result status="valid" time="0.012186" steps="16"/></proof>
35 <goal name="encode'vc.1" expl="loop invariant init" proved="true">
36 <proof prover="2"><result status="valid" time="0.022976" steps="18"/></proof>
38 <goal name="encode'vc.2" expl="loop invariant init" proved="true">
39 <proof prover="2"><result status="valid" time="0.025125" steps="20"/></proof>
41 <goal name="encode'vc.3" expl="loop invariant init" proved="true">
42 <proof prover="2"><result status="valid" time="0.021387" steps="20"/></proof>
44 <goal name="encode'vc.4" expl="precondition" proved="true">
45 <proof prover="2"><result status="valid" time="0.016913" steps="26"/></proof>
47 <goal name="encode'vc.5" expl="division by zero" proved="true">
48 <proof prover="2"><result status="valid" time="0.024992" steps="29"/></proof>
50 <goal name="encode'vc.6" expl="integer overflow" proved="true">
51 <proof prover="2"><result status="valid" time="0.028239" steps="104"/></proof>
53 <goal name="encode'vc.7" expl="precondition" proved="true">
54 <proof prover="2"><result status="valid" time="0.048913" steps="190"/></proof>
56 <goal name="encode'vc.8" expl="division by zero" proved="true">
57 <proof prover="2"><result status="valid" time="0.020390" steps="32"/></proof>
59 <goal name="encode'vc.9" expl="integer overflow" proved="true">
60 <transf name="unfold" proved="true" arg1="encoding">
61 <goal name="encode'vc.9.0" expl="integer overflow" proved="true">
62 <transf name="split_vc" proved="true" >
63 <goal name="encode'vc.9.0.0" expl="integer overflow" proved="true">
64 <proof prover="2"><result status="valid" time="0.040506" steps="167"/></proof>
70 <goal name="encode'vc.10" expl="precondition" proved="true">
71 <proof prover="2"><result status="valid" time="0.060377" steps="324"/></proof>
73 <goal name="encode'vc.11" expl="integer overflow" proved="true">
74 <proof prover="2"><result status="valid" time="0.038611" steps="113"/></proof>
76 <goal name="encode'vc.12" expl="loop variant decrease" proved="true">
77 <proof prover="2"><result status="valid" time="0.025303" steps="40"/></proof>
79 <goal name="encode'vc.13" expl="loop invariant preservation" proved="true">
80 <proof prover="2"><result status="valid" time="0.032155" steps="39"/></proof>
82 <goal name="encode'vc.14" expl="loop invariant preservation" proved="true">
83 <proof prover="2"><result status="valid" time="0.036088" steps="110"/></proof>
85 <goal name="encode'vc.15" expl="loop invariant preservation" proved="true">
86 <proof prover="2" timelimit="5"><result status="valid" time="1.791973" steps="17153"/></proof>
88 <goal name="encode'vc.16" expl="loop invariant preservation" proved="true">
89 <proof prover="1"><result status="valid" time="0.654644" steps="90602"/></proof>
91 <goal name="encode'vc.17" expl="postcondition" proved="true">
92 <transf name="unfold" proved="true" arg1="encoding">
93 <goal name="encode'vc.17.0" expl="VC for encode" proved="true">
94 <transf name="split_vc" proved="true" >
95 <goal name="encode'vc.17.0.0" expl="VC for encode" proved="true">
96 <proof prover="2"><result status="valid" time="0.020338" steps="31"/></proof>
98 <goal name="encode'vc.17.0.1" expl="VC for encode" proved="true">
99 <proof prover="1"><result status="valid" time="0.162526" steps="28253"/></proof>
101 <goal name="encode'vc.17.0.2" expl="VC for encode" proved="true">
102 <proof prover="2"><result status="valid" time="0.038781" steps="203"/></proof>
110 <goal name="decode'vc" expl="VC for decode" proved="true">
111 <transf name="split_vc" proved="true" >
112 <goal name="decode'vc.0" expl="division by zero" proved="true">
113 <proof prover="2"><result status="valid" time="0.021262" steps="16"/></proof>
115 <goal name="decode'vc.1" expl="integer overflow" proved="true">
116 <proof prover="2"><result status="valid" time="0.029357" steps="60"/></proof>
118 <goal name="decode'vc.2" expl="loop invariant init" proved="true">
119 <proof prover="2"><result status="valid" time="0.021933" steps="39"/></proof>
121 <goal name="decode'vc.3" expl="loop invariant init" proved="true">
122 <proof prover="2"><result status="valid" time="0.018344" steps="22"/></proof>
124 <goal name="decode'vc.4" expl="loop invariant init" proved="true">
125 <proof prover="2"><result status="valid" time="0.024033" steps="49"/></proof>
127 <goal name="decode'vc.5" expl="loop invariant init" proved="true">
128 <proof prover="2"><result status="valid" time="0.022100" steps="32"/></proof>
130 <goal name="decode'vc.6" expl="precondition" proved="true">
131 <proof prover="2"><result status="valid" time="0.019724" steps="32"/></proof>
133 <goal name="decode'vc.7" expl="precondition" proved="true">
134 <proof prover="2"><result status="valid" time="0.043238" steps="163"/></proof>
136 <goal name="decode'vc.8" expl="integer overflow" proved="true">
137 <proof prover="2"><result status="valid" time="0.029515" steps="89"/></proof>
139 <goal name="decode'vc.9" expl="precondition" proved="true">
140 <proof prover="2"><result status="valid" time="0.028276" steps="90"/></proof>
142 <goal name="decode'vc.10" expl="precondition" proved="true">
143 <proof prover="2"><result status="valid" time="0.045353" steps="227"/></proof>
145 <goal name="decode'vc.11" expl="integer overflow" proved="true">
146 <proof prover="2"><result status="valid" time="0.048191" steps="211"/></proof>
148 <goal name="decode'vc.12" expl="integer overflow" proved="true">
149 <proof prover="2"><result status="valid" time="0.060691" steps="400"/></proof>
151 <goal name="decode'vc.13" expl="precondition" proved="true">
152 <proof prover="2"><result status="valid" time="0.101295" steps="796"/></proof>
154 <goal name="decode'vc.14" expl="integer overflow" proved="true">
155 <proof prover="2"><result status="valid" time="0.050229" steps="152"/></proof>
157 <goal name="decode'vc.15" expl="loop variant decrease" proved="true">
158 <proof prover="2"><result status="valid" time="0.023043" steps="51"/></proof>
160 <goal name="decode'vc.16" expl="loop invariant preservation" proved="true">
161 <proof prover="2"><result status="valid" time="0.069930" steps="390"/></proof>
163 <goal name="decode'vc.17" expl="loop invariant preservation" proved="true">
164 <proof prover="2"><result status="valid" time="0.042815" steps="153"/></proof>
166 <goal name="decode'vc.18" expl="loop invariant preservation" proved="true">
167 <proof prover="2"><result status="valid" time="0.040153" steps="155"/></proof>
169 <goal name="decode'vc.19" expl="loop invariant preservation" proved="true">
170 <proof prover="2"><result status="valid" time="0.247728" steps="2069"/></proof>
172 <goal name="decode'vc.20" expl="postcondition" proved="true">
173 <proof prover="2"><result status="valid" time="0.044935" steps="274"/></proof>
177 <goal name="decode_encode'vc" expl="VC for decode_encode" proved="true">
178 <transf name="split_vc" proved="true" >
179 <goal name="decode_encode'vc.0" expl="precondition" proved="true">
180 <proof prover="2"><result status="valid" time="0.017476" steps="18"/></proof>
182 <goal name="decode_encode'vc.1" expl="assertion" proved="true">
183 <proof prover="2"><result status="valid" time="0.024429" steps="20"/></proof>