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.4.1" timelimit="120" steplimit="0" memlimit="1000"/>
6 <prover id="1" name="CVC3" version="2.4.1" timelimit="5" steplimit="0" memlimit="1000"/>
7 <prover id="2" name="Alt-Ergo" version="2.2.0" timelimit="5" steplimit="0" memlimit="1000"/>
8 <prover id="3" name="Alt-Ergo" version="2.3.3" timelimit="5" steplimit="0" memlimit="1000"/>
9 <prover id="5" name="CVC5" version="1.0.5" timelimit="5" steplimit="0" memlimit="1000"/>
10 <file format="whyml" proved="true">
11 <path name=".."/><path name="verifythis_2019_ghc_sort.mlw"/>
12 <theory name="Top" proved="true">
13 <goal name="StrictIncr.Transitive.Trans" proved="true">
14 <proof prover="3"><result status="valid" time="0.010000" steps="4"/></proof>
16 <goal name="RevSorted.Transitive.Trans" proved="true">
17 <proof prover="3"><result status="valid" time="0.010000" steps="6"/></proof>
19 <goal name="eqb'vc" expl="VC for eqb" proved="true">
20 <proof prover="3"><result status="valid" time="0.030000" steps="180"/></proof>
22 <goal name="list_seq'vc" expl="VC for list_seq" proved="true">
23 <proof prover="3"><result status="valid" time="0.020000" steps="8"/></proof>
25 <goal name="nil'vc" expl="VC for nil" proved="true">
26 <proof prover="3"><result status="valid" time="0.020000" steps="8"/></proof>
28 <goal name="extend'vc" expl="VC for extend" proved="true">
29 <proof prover="3"><result status="valid" time="0.060000" steps="221"/></proof>
31 <goal name="cutpoints'vc" expl="VC for cutpoints" proved="true">
32 <transf name="split_vc" proved="true" >
33 <goal name="cutpoints'vc.0" expl="loop invariant init" proved="true">
34 <proof prover="3"><result status="valid" time="0.010000" steps="14"/></proof>
36 <goal name="cutpoints'vc.1" expl="loop invariant init" proved="true">
37 <proof prover="3"><result status="valid" time="0.020000" steps="15"/></proof>
39 <goal name="cutpoints'vc.2" expl="loop invariant init" proved="true">
40 <proof prover="3"><result status="valid" time="0.020000" steps="66"/></proof>
42 <goal name="cutpoints'vc.3" expl="loop invariant init" proved="true">
43 <proof prover="3"><result status="valid" time="0.050000" steps="156"/></proof>
45 <goal name="cutpoints'vc.4" expl="loop invariant init" proved="true">
46 <proof prover="3"><result status="valid" time="0.030000" steps="69"/></proof>
48 <goal name="cutpoints'vc.5" expl="loop invariant init" proved="true">
49 <proof prover="3"><result status="valid" time="0.030000" steps="83"/></proof>
51 <goal name="cutpoints'vc.6" expl="loop invariant init" proved="true">
52 <proof prover="3"><result status="valid" time="0.030000" steps="99"/></proof>
54 <goal name="cutpoints'vc.7" expl="loop invariant init" proved="true">
55 <proof prover="3"><result status="valid" time="0.050000" steps="101"/></proof>
57 <goal name="cutpoints'vc.8" expl="index in array bounds" proved="true">
58 <proof prover="3"><result status="valid" time="0.020000" steps="28"/></proof>
60 <goal name="cutpoints'vc.9" expl="index in array bounds" proved="true">
61 <proof prover="3"><result status="valid" time="0.020000" steps="28"/></proof>
63 <goal name="cutpoints'vc.10" expl="loop invariant init" proved="true">
64 <proof prover="3"><result status="valid" time="0.020000" steps="28"/></proof>
66 <goal name="cutpoints'vc.11" expl="loop invariant init" proved="true">
67 <proof prover="3"><result status="valid" time="0.020000" steps="30"/></proof>
69 <goal name="cutpoints'vc.12" expl="index in array bounds" proved="true">
70 <proof prover="3"><result status="valid" time="0.020000" steps="34"/></proof>
72 <goal name="cutpoints'vc.13" expl="index in array bounds" proved="true">
73 <proof prover="3"><result status="valid" time="0.020000" steps="34"/></proof>
75 <goal name="cutpoints'vc.14" expl="loop variant decrease" proved="true">
76 <proof prover="3"><result status="valid" time="0.020000" steps="44"/></proof>
78 <goal name="cutpoints'vc.15" expl="loop invariant preservation" proved="true">
79 <proof prover="3"><result status="valid" time="0.020000" steps="44"/></proof>
81 <goal name="cutpoints'vc.16" expl="loop invariant preservation" proved="true">
82 <proof prover="3"><result status="valid" time="0.120000" steps="305"/></proof>
84 <goal name="cutpoints'vc.17" expl="assertion" proved="true">
85 <proof prover="3"><result status="valid" time="0.040000" steps="152"/></proof>
87 <goal name="cutpoints'vc.18" expl="assertion" proved="true">
88 <proof prover="5"><result status="valid" time="5.466188" steps="457499"/></proof>
90 <goal name="cutpoints'vc.19" expl="loop variant decrease" proved="true">
91 <proof prover="3"><result status="valid" time="0.020000" steps="42"/></proof>
93 <goal name="cutpoints'vc.20" expl="loop invariant preservation" proved="true">
94 <proof prover="3"><result status="valid" time="0.020000" steps="42"/></proof>
96 <goal name="cutpoints'vc.21" expl="loop invariant preservation" proved="true">
97 <proof prover="3"><result status="valid" time="0.020000" steps="42"/></proof>
99 <goal name="cutpoints'vc.22" expl="loop invariant preservation" proved="true">
100 <proof prover="3"><result status="valid" time="0.050000" steps="163"/></proof>
102 <goal name="cutpoints'vc.23" expl="loop invariant preservation" proved="true">
103 <proof prover="5"><result status="valid" time="0.416345" steps="54449"/></proof>
105 <goal name="cutpoints'vc.24" expl="loop invariant preservation" proved="true">
106 <proof prover="3"><result status="valid" time="0.400000" steps="1407"/></proof>
108 <goal name="cutpoints'vc.25" expl="loop invariant preservation" proved="true">
109 <proof prover="3"><result status="valid" time="0.090000" steps="335"/></proof>
111 <goal name="cutpoints'vc.26" expl="loop invariant preservation" proved="true">
112 <proof prover="2"><result status="valid" time="2.722691" steps="8907"/></proof>
113 <transf name="remove" proved="true" arg1="zero,one,(-),(>),(<=),(>=),get,set,([]'),([<-]'),andb,orb,notb,xorb,implb,is_nil,mem,is_none,nth,hd,tl,(++),reverse,rev_append,num_occ,permut,fold_right,([]''),singleton,cons,snoc,(++'),of_list,point_wise,([]),sorted2,ge,sorted1,sorted,compat,eqb,n,Assoc1,Unit_def_l,Unit_def_r,Inv_def_l,Inv_def_r,Comm1,Assoc,Mul_distr_l,Mul_distr_r,Comm,Unitary,NonTrivialRing,Refl,Trans2,Antisymm,Total,ZeroLessOne,CompatOrderAdd,CompatOrderMult,occ_empty,occ_right_no_add,occ_right_add,occ_left_no_add,occ_left_add,occ_bounds,occ_append,occ_neq,occ_exists,occ_pos,occ_eq,occ_exchange,is_nil'spec,Length_nonnegative,Length_nil,is_none'spec,Nth_tl,Nth0_head,Append_assoc,Append_l_nil,Append_length,mem_append,mem_decomp,reverse_append,reverse_cons,cons_reverse,reverse_reverse,reverse_mem,rev_append_append_l,rev_append_length,rev_append_def,rev_append_append_r,Num_Occ_NonNeg,Mem_Num_Occ,Append_Num_Occ,reverse_num_occ,Permut_refl,Permut_sym,Permut_trans,Permut_cons,Permut_swap,Permut_cons_append,Permut_assoc,Permut_append,Permut_append_swap,Permut_mem,Permut_length,fold_right_append,length_nonnegative,(==)'spec,create'spec,empty'def,set'spec,set'def,([<-])'def,singleton'spec,cons'spec,snoc'spec,([..])'spec,([..])'def,([_..])'def,([.._])'def,(++)'spec,associative,left_neutral,right_neutral,cons_def,snoc_def,double_sub_sequence,cons_back,snoc_back,cat_back,cons_dec,snoc_dec,cat_dec,empty_dec,singleton_dec,to_list_empty,to_list_cons,to_list_length,to_list_nth,to_list_def_cons,elts_seq_of_list,is_of_list,of_list_app,of_list_app_length,of_list_snoc,convolution_to_of_list,array'invariant,([<-])'spec,make_spec,Trans1,sorted_mem2,sorted_append2,Trans,sorted_mem1,sorted_append1,sorted_mem,sorted_append,rev_append_sorted_incr,rev_append_sorted_decr,eqb'spec,nil'def,Requires,Ensures1,LoopInvariant13,H11,LoopInvariant12,LoopInvariant10,LoopInvariant9,LoopInvariant7,H9,H8,H7,H6,H5,H4,H2,LoopInvariant5,LoopInvariant4,LoopInvariant3,LoopInvariant">
114 <goal name="cutpoints'vc.26.0" expl="loop invariant preservation" proved="true">
115 <proof prover="2"><result status="valid" time="0.210000" steps="389"/></proof>
119 <goal name="cutpoints'vc.27" expl="loop invariant preservation" proved="true">
120 <proof prover="3"><result status="valid" time="1.584592" steps="3245"/></proof>
122 <goal name="cutpoints'vc.28" expl="assertion" proved="true">
123 <proof prover="3"><result status="valid" time="0.500000" steps="1740"/></proof>
125 <goal name="cutpoints'vc.29" expl="assertion" proved="true">
126 <proof prover="5"><result status="valid" time="4.843123" steps="389142"/></proof>
128 <goal name="cutpoints'vc.30" expl="postcondition" proved="true">
129 <proof prover="5"><result status="valid" time="0.358229" steps="45157"/></proof>
131 <goal name="cutpoints'vc.31" expl="postcondition" proved="true">
132 <proof prover="3"><result status="valid" time="0.020000" steps="36"/></proof>
134 <goal name="cutpoints'vc.32" expl="postcondition" proved="true">
135 <proof prover="3"><result status="valid" time="0.060000" steps="120"/></proof>
137 <goal name="cutpoints'vc.33" expl="postcondition" proved="true">
138 <proof prover="3"><result status="valid" time="0.070000" steps="299"/></proof>
140 <goal name="cutpoints'vc.34" expl="postcondition" proved="true">
141 <proof prover="0"><result status="valid" time="4.524839" steps="45779"/></proof>
143 <goal name="cutpoints'vc.35" expl="postcondition" proved="true">
144 <proof prover="3"><result status="valid" time="0.308087" steps="701"/></proof>
146 <goal name="cutpoints'vc.36" expl="assertion" proved="true">
147 <proof prover="3"><result status="valid" time="0.020000" steps="30"/></proof>
149 <goal name="cutpoints'vc.37" expl="assertion" proved="true">
150 <proof prover="3"><result status="valid" time="0.020000" steps="35"/></proof>
152 <goal name="cutpoints'vc.38" expl="postcondition" proved="true">
153 <proof prover="3"><result status="valid" time="0.020000" steps="31"/></proof>
155 <goal name="cutpoints'vc.39" expl="postcondition" proved="true">
156 <proof prover="3"><result status="valid" time="0.020000" steps="31"/></proof>
158 <goal name="cutpoints'vc.40" expl="postcondition" proved="true">
159 <proof prover="3"><result status="valid" time="0.040000" steps="99"/></proof>
161 <goal name="cutpoints'vc.41" expl="postcondition" proved="true">
162 <proof prover="3"><result status="valid" time="0.030000" steps="36"/></proof>
164 <goal name="cutpoints'vc.42" expl="postcondition" proved="true">
165 <proof prover="3"><result status="valid" time="0.080000" steps="249"/></proof>
167 <goal name="cutpoints'vc.43" expl="postcondition" proved="true">
168 <proof prover="3"><result status="valid" time="0.030000" steps="41"/></proof>
172 <goal name="reverse_sorted_incr" proved="true">
173 <transf name="split_vc" proved="true" >
174 <goal name="reverse_sorted_incr.0" proved="true">
175 <proof prover="3"><result status="valid" time="0.020000" steps="12"/></proof>
177 <goal name="reverse_sorted_incr.1" proved="true">
178 <proof prover="3"><result status="valid" time="0.020000" steps="12"/></proof>
180 <goal name="reverse_sorted_incr.2" proved="true">
181 <proof prover="3"><result status="valid" time="0.020000" steps="43"/></proof>
183 <goal name="reverse_sorted_incr.3" proved="true">
184 <proof prover="3"><result status="valid" time="0.030000" steps="81"/></proof>
188 <goal name="lt_le_sorted'vc" expl="VC for lt_le_sorted" proved="true">
189 <proof prover="3"><result status="valid" time="0.060000" steps="369"/></proof>
191 <goal name="order'vc" expl="VC for order" proved="true">
192 <proof prover="3"><result status="valid" time="0.200000" steps="1418"/></proof>
194 <goal name="list_from'vc" expl="VC for list_from" proved="true">
195 <transf name="split_vc" proved="true" >
196 <goal name="list_from'vc.0" expl="variant decrease" proved="true">
197 <proof prover="3"><result status="valid" time="0.020000" steps="22"/></proof>
199 <goal name="list_from'vc.1" expl="precondition" proved="true">
200 <proof prover="3"><result status="valid" time="0.020000" steps="22"/></proof>
202 <goal name="list_from'vc.2" expl="precondition" proved="true">
203 <proof prover="3"><result status="valid" time="0.020000" steps="25"/></proof>
205 <goal name="list_from'vc.3" expl="precondition" proved="true">
206 <proof prover="3"><result status="valid" time="0.030000" steps="80"/></proof>
208 <goal name="list_from'vc.4" expl="index in array bounds" proved="true">
209 <proof prover="3"><result status="valid" time="0.010000" steps="22"/></proof>
211 <goal name="list_from'vc.5" expl="postcondition" proved="true">
212 <proof prover="3"><result status="valid" time="0.590985" steps="2968"/></proof>
214 <goal name="list_from'vc.6" expl="postcondition" proved="true">
215 <proof prover="3"><result status="valid" time="0.060000" steps="208"/></proof>
217 <goal name="list_from'vc.7" expl="postcondition" proved="true">
218 <proof prover="3"><result status="valid" time="0.180000" steps="770"/></proof>
220 <goal name="list_from'vc.8" expl="postcondition" proved="true">
221 <proof prover="3"><result status="valid" time="0.430000" steps="1583"/></proof>
223 <goal name="list_from'vc.9" expl="postcondition" proved="true">
224 <proof prover="3"><result status="valid" time="0.060000" steps="220"/></proof>
228 <goal name="occ_slice'vc" expl="VC for occ_slice" proved="true">
229 <transf name="split_vc" proved="true" >
230 <goal name="occ_slice'vc.0" expl="variant decrease" proved="true">
231 <proof prover="3"><result status="valid" time="0.020000" steps="22"/></proof>
233 <goal name="occ_slice'vc.1" expl="precondition" proved="true">
234 <proof prover="3"><result status="valid" time="0.020000" steps="22"/></proof>
236 <goal name="occ_slice'vc.2" expl="postcondition" proved="true">
237 <proof prover="3"><result status="valid" time="0.030000" steps="63"/></proof>
241 <goal name="sorted_lists'vc" expl="VC for sorted_lists" proved="true">
242 <transf name="split_vc" proved="true" >
243 <goal name="sorted_lists'vc.0" expl="assertion" proved="true">
244 <proof prover="3"><result status="valid" time="1.420000" steps="3823"/></proof>
246 <goal name="sorted_lists'vc.1" expl="precondition" proved="true">
247 <proof prover="1"><result status="valid" time="0.170000"/></proof>
248 <transf name="remove" proved="true" arg1="zero,one,(-),(>),(<=),(>=),get,set,([]'),([<-]'),andb,orb,notb,xorb,implb,is_nil,length1,is_none,nth,hd,tl,(++),reverse,rev_append,num_occ,permut,fold_right,([]''),singleton,cons,snoc,(++'),of_list,point_wise,([]),sorted2,ge,sorted1,sorted,compat,eqb,seq,Assoc1,Unit_def_l,Unit_def_r,Inv_def_l,Inv_def_r,Comm1,Assoc,Mul_distr_l,Mul_distr_r,Comm,Unitary,NonTrivialRing,Refl,Trans2,Antisymm,Total,ZeroLessOne,CompatOrderAdd,CompatOrderMult,occ_empty,occ_right_no_add,occ_right_add,occ_left_no_add,occ_left_add,occ_bounds,occ_append,occ_neq,occ_exists,occ_pos,occ_eq,occ_exchange,is_nil'spec,Length_nonnegative,Length_nil,is_none'spec,Nth_tl,Nth0_head,Append_assoc,Append_l_nil,Append_length,mem_append,mem_decomp,reverse_append,reverse_cons,cons_reverse,reverse_reverse,reverse_mem,Reverse_length,rev_append_append_l,rev_append_length,rev_append_def,rev_append_append_r,Num_Occ_NonNeg,Mem_Num_Occ,Append_Num_Occ,reverse_num_occ,Permut_refl,Permut_sym,Permut_trans,Permut_cons,Permut_swap,Permut_cons_append,Permut_assoc,Permut_append,Permut_append_swap,Permut_mem,Permut_length,fold_right_append,length_nonnegative,(==)'spec,create'spec,empty'def,set'spec,set'def,([<-])'def,singleton'spec,cons'spec,snoc'spec,([..])'spec,([..])'def,([_..])'def,([.._])'def,(++)'spec,associative,left_neutral,right_neutral,cons_def,snoc_def,double_sub_sequence,cons_back,snoc_back,cat_back,cons_dec,snoc_dec,cat_dec,empty_dec,singleton_dec,to_list_empty,to_list_cons,to_list_length,to_list_nth,to_list_def_cons,length_of_list,elts_seq_of_list,is_of_list,of_list_app,of_list_app_length,of_list_snoc,convolution_to_of_list,array'invariant,([<-])'spec,make_spec,Trans1,sorted_mem2,sorted_append2,Trans,sorted_mem1,sorted_append1,sorted_mem,sorted_append,rev_append_sorted_incr,rev_append_sorted_decr,eqb'spec,list_seq'invariant,nil'def,reverse_sorted_incr,lt_le_sorted,order'spec,order'def,occ_slice,Requires3,Requires2,Requires,Assert">
249 <goal name="sorted_lists'vc.1.0" expl="precondition" proved="true">
250 <proof prover="1" timelimit="1"><result status="valid" time="0.020000"/></proof>
251 <proof prover="3"><result status="valid" time="0.020000" steps="212"/></proof>
255 <goal name="sorted_lists'vc.2" expl="precondition" proved="true">
256 <proof prover="1"><result status="valid" time="0.160000"/></proof>
257 <transf name="remove" proved="true" arg1="zero,one,(-),(>),(<=),(>=),get,set,([]'),([<-]'),andb,orb,notb,xorb,implb,is_nil,length1,mem,is_none,nth,tl,(++),reverse,rev_append,permut,fold_right,([]''),singleton,cons,snoc,(++'),of_list,point_wise,([]),sorted2,ge,sorted1,sorted,compat,eqb,seq,Assoc1,Unit_def_l,Unit_def_r,Inv_def_l,Inv_def_r,Comm1,Assoc,Mul_distr_l,Mul_distr_r,Comm,Unitary,NonTrivialRing,Refl,Trans2,Antisymm,Total,ZeroLessOne,CompatOrderAdd,CompatOrderMult,occ_empty,occ_right_no_add,occ_right_add,occ_left_no_add,occ_left_add,occ_bounds,occ_append,occ_neq,occ_exists,occ_pos,occ_eq,is_nil'spec,Length_nonnegative,Length_nil,is_none'spec,Nth_tl,Nth0_head,Append_assoc,Append_l_nil,Append_length,mem_append,mem_decomp,reverse_append,reverse_cons,cons_reverse,reverse_reverse,reverse_mem,Reverse_length,rev_append_append_l,rev_append_length,rev_append_def,rev_append_append_r,Append_Num_Occ,reverse_num_occ,Permut_refl,Permut_sym,Permut_trans,Permut_cons,Permut_swap,Permut_cons_append,Permut_assoc,Permut_append,Permut_append_swap,Permut_mem,Permut_length,fold_right_append,length_nonnegative,(==)'spec,create'spec,empty'def,set'spec,set'def,([<-])'def,singleton'spec,cons'spec,snoc'spec,([..])'spec,([..])'def,([_..])'def,([.._])'def,(++)'spec,associative,left_neutral,right_neutral,cons_def,snoc_def,double_sub_sequence,cons_back,snoc_back,cat_back,cons_dec,snoc_dec,cat_dec,empty_dec,singleton_dec,to_list_empty,to_list_cons,to_list_length,to_list_nth,to_list_def_cons,length_of_list,elts_seq_of_list,is_of_list,of_list_app,of_list_app_length,of_list_snoc,convolution_to_of_list,array'invariant,([<-])'spec,make_spec,Trans1,sorted_mem2,sorted_append2,Trans,sorted_mem1,sorted_append1,sorted_mem,sorted_append,rev_append_sorted_incr,rev_append_sorted_decr,eqb'spec,list_seq'invariant,nil'def,reverse_sorted_incr,lt_le_sorted,order'spec,order'def,occ_slice,Requires4,Requires3,Requires1,Assert,Requires">
258 <goal name="sorted_lists'vc.2.0" expl="precondition" proved="true">
259 <proof prover="1" timelimit="1"><result status="valid" time="0.070000"/></proof>
260 <proof prover="3"><result status="valid" time="0.030000" steps="281"/></proof>
264 <goal name="sorted_lists'vc.3" expl="precondition" proved="true">
265 <proof prover="3"><result status="valid" time="0.080000" steps="247"/></proof>
267 <goal name="sorted_lists'vc.4" expl="precondition" proved="true">
268 <proof prover="3"><result status="valid" time="0.040000" steps="100"/></proof>
270 <goal name="sorted_lists'vc.5" expl="precondition" proved="true">
271 <proof prover="3"><result status="valid" time="1.330000" steps="2303"/></proof>
273 <goal name="sorted_lists'vc.6" expl="assertion" proved="true">
274 <proof prover="3"><result status="valid" time="0.030000" steps="30"/></proof>
276 <goal name="sorted_lists'vc.7" expl="variant decrease" proved="true">
277 <proof prover="3"><result status="valid" time="0.060000" steps="188"/></proof>
279 <goal name="sorted_lists'vc.8" expl="precondition" proved="true">
280 <proof prover="3"><result status="valid" time="0.040000" steps="128"/></proof>
282 <goal name="sorted_lists'vc.9" expl="precondition" proved="true">
283 <proof prover="3"><result status="valid" time="0.080000" steps="158"/></proof>
285 <goal name="sorted_lists'vc.10" expl="precondition" proved="true">
286 <proof prover="5"><result status="valid" time="1.041171" steps="110234"/></proof>
288 <goal name="sorted_lists'vc.11" expl="precondition" proved="true">
289 <proof prover="3"><result status="valid" time="0.510000" steps="897"/></proof>
291 <goal name="sorted_lists'vc.12" expl="precondition" proved="true">
292 <proof prover="3"><result status="valid" time="0.020000" steps="28"/></proof>
294 <goal name="sorted_lists'vc.13" expl="postcondition" proved="true">
295 <transf name="split_vc" proved="true" >
296 <goal name="sorted_lists'vc.13.0" expl="postcondition" proved="true">
297 <proof prover="3"><result status="valid" time="0.020000" steps="22"/></proof>
299 <goal name="sorted_lists'vc.13.1" expl="postcondition" proved="true">
300 <proof prover="3"><result status="valid" time="0.030000" steps="22"/></proof>
302 <goal name="sorted_lists'vc.13.2" expl="postcondition" proved="true">
303 <proof prover="3"><result status="valid" time="0.020000" steps="38"/></proof>
307 <goal name="sorted_lists'vc.14" expl="postcondition" proved="true">
308 <transf name="split_vc" proved="true" >
309 <goal name="sorted_lists'vc.14.0" expl="postcondition" proved="true">
310 <proof prover="3"><result status="valid" time="0.030000" steps="20"/></proof>
312 <goal name="sorted_lists'vc.14.1" expl="postcondition" proved="true">
313 <proof prover="3"><result status="valid" time="0.050000" steps="151"/></proof>
315 <goal name="sorted_lists'vc.14.2" expl="postcondition" proved="true">
316 <transf name="assert" proved="true" arg1="(occ x (elts s) (get1 (seq1 cutp) 0) (get1 (seq1 cutp) (length2 (seq1 cutp) - 1)) = occ x (elts s) (get1 (seq1 cutp) 0) (get1 (seq1 lseq) (length2 (seq1 lseq) - 1)) + occ x (elts s) (get1 (seq1 lseq) (length2 (seq1 lseq) - 1)) (get1 (seq1 cutp) (length2 (seq1 cutp) - 1)))">
317 <goal name="sorted_lists'vc.14.2.0" expl="asserted formula" proved="true">
318 <proof prover="3"><result status="valid" time="0.180000" steps="382"/></proof>
320 <goal name="sorted_lists'vc.14.2.1" expl="postcondition" proved="true">
321 <proof prover="0" timelimit="1"><result status="valid" time="0.690000" steps="4136"/></proof>
329 <goal name="merge'vc" expl="VC for merge" proved="true">
330 <transf name="split_all_full" proved="true" >
331 <goal name="merge'vc.0" expl="assertion" proved="true">
332 <proof prover="3"><result status="valid" time="0.490000" steps="2814"/></proof>
334 <goal name="merge'vc.1" expl="variant decrease" proved="true">
335 <proof prover="3"><result status="valid" time="0.030000" steps="56"/></proof>
337 <goal name="merge'vc.2" expl="precondition" proved="true">
338 <proof prover="3"><result status="valid" time="0.020000" steps="24"/></proof>
340 <goal name="merge'vc.3" expl="precondition" proved="true">
341 <proof prover="3"><result status="valid" time="0.020000" steps="24"/></proof>
343 <goal name="merge'vc.4" expl="assertion" proved="true">
344 <proof prover="3"><result status="valid" time="0.150000" steps="388"/></proof>
346 <goal name="merge'vc.5" expl="variant decrease" proved="true">
347 <proof prover="3"><result status="valid" time="0.030000" steps="56"/></proof>
349 <goal name="merge'vc.6" expl="precondition" proved="true">
350 <proof prover="3"><result status="valid" time="0.010000" steps="22"/></proof>
352 <goal name="merge'vc.7" expl="precondition" proved="true">
353 <proof prover="3"><result status="valid" time="0.020000" steps="24"/></proof>
355 <goal name="merge'vc.8" expl="postcondition" proved="true">
356 <proof prover="3"><result status="valid" time="0.020000" steps="22"/></proof>
358 <goal name="merge'vc.9" expl="postcondition" proved="true">
359 <proof prover="3"><result status="valid" time="0.030000" steps="25"/></proof>
361 <goal name="merge'vc.10" expl="postcondition" proved="true">
362 <proof prover="3"><result status="valid" time="0.010000" steps="24"/></proof>
364 <goal name="merge'vc.11" expl="postcondition" proved="true">
365 <proof prover="3"><result status="valid" time="0.030000" steps="87"/></proof>
367 <goal name="merge'vc.12" expl="postcondition" proved="true">
368 <proof prover="3"><result status="valid" time="0.020000" steps="24"/></proof>
370 <goal name="merge'vc.13" expl="postcondition" proved="true">
371 <proof prover="3"><result status="valid" time="0.020000" steps="83"/></proof>
373 <goal name="merge'vc.14" expl="postcondition" proved="true">
374 <proof prover="3"><result status="valid" time="0.080000" steps="298"/></proof>
376 <goal name="merge'vc.15" expl="postcondition" proved="true">
377 <proof prover="3"><result status="valid" time="0.060000" steps="158"/></proof>
379 <goal name="merge'vc.16" expl="postcondition" proved="true">
380 <proof prover="3"><result status="valid" time="0.100000" steps="380"/></proof>
382 <goal name="merge'vc.17" expl="postcondition" proved="true">
383 <proof prover="3"><result status="valid" time="0.170000" steps="420"/></proof>
387 <goal name="merge_pair'vc" expl="VC for merge_pair" proved="true">
388 <transf name="split_all_full" proved="true" >
389 <goal name="merge_pair'vc.0" expl="variant decrease" proved="true">
390 <proof prover="3"><result status="valid" time="0.020000" steps="19"/></proof>
392 <goal name="merge_pair'vc.1" expl="precondition" proved="true">
393 <proof prover="3"><result status="valid" time="0.050000" steps="192"/></proof>
395 <goal name="merge_pair'vc.2" expl="precondition" proved="true">
396 <proof prover="3"><result status="valid" time="0.040000" steps="91"/></proof>
398 <goal name="merge_pair'vc.3" expl="precondition" proved="true">
399 <proof prover="3"><result status="valid" time="0.050000" steps="190"/></proof>
401 <goal name="merge_pair'vc.4" expl="postcondition" proved="true">
402 <proof prover="3"><result status="valid" time="0.020000" steps="16"/></proof>
404 <goal name="merge_pair'vc.5" expl="postcondition" proved="true">
405 <proof prover="3"><result status="valid" time="0.020000" steps="20"/></proof>
407 <goal name="merge_pair'vc.6" expl="postcondition" proved="true">
408 <proof prover="3"><result status="valid" time="0.030000" steps="23"/></proof>
410 <goal name="merge_pair'vc.7" expl="postcondition" proved="true">
411 <proof prover="3"><result status="valid" time="0.020000" steps="21"/></proof>
413 <goal name="merge_pair'vc.8" expl="postcondition" proved="true">
414 <proof prover="3"><result status="valid" time="0.020000" steps="18"/></proof>
416 <goal name="merge_pair'vc.9" expl="postcondition" proved="true">
417 <proof prover="3"><result status="valid" time="0.020000" steps="22"/></proof>
419 <goal name="merge_pair'vc.10" expl="postcondition" proved="true">
420 <proof prover="3"><result status="valid" time="0.020000" steps="25"/></proof>
422 <goal name="merge_pair'vc.11" expl="postcondition" proved="true">
423 <proof prover="3"><result status="valid" time="0.020000" steps="23"/></proof>
425 <goal name="merge_pair'vc.12" expl="postcondition" proved="true">
426 <proof prover="3"><result status="valid" time="0.040000" steps="39"/></proof>
428 <goal name="merge_pair'vc.13" expl="postcondition" proved="true">
429 <proof prover="3"><result status="valid" time="0.040000" steps="84"/></proof>
431 <goal name="merge_pair'vc.14" expl="postcondition" proved="true">
432 <proof prover="3"><result status="valid" time="0.030000" steps="44"/></proof>
434 <goal name="merge_pair'vc.15" expl="postcondition" proved="true">
435 <proof prover="3"><result status="valid" time="0.680000" steps="1808"/></proof>
439 <goal name="mergerec'vc" expl="VC for mergerec" proved="true">
440 <proof prover="3"><result status="valid" time="0.160000" steps="985"/></proof>
442 <goal name="find'vc" expl="VC for find" proved="true">
443 <proof prover="3"><result status="valid" time="0.100000" steps="214"/></proof>
445 <goal name="same_occs_same_lengths'vc" expl="VC for same_occs_same_lengths" proved="true">
446 <transf name="split_vc" proved="true" >
447 <goal name="same_occs_same_lengths'vc.0" expl="assertion" proved="true">
448 <proof prover="3"><result status="valid" time="0.110000" steps="326"/></proof>
450 <goal name="same_occs_same_lengths'vc.1" expl="assertion" proved="true">
451 <transf name="split_vc" proved="true" >
452 <goal name="same_occs_same_lengths'vc.1.0" expl="assertion" proved="true">
453 <proof prover="3"><result status="valid" time="0.040000" steps="59"/></proof>
455 <goal name="same_occs_same_lengths'vc.1.1" expl="VC for same_occs_same_lengths" proved="true">
456 <proof prover="3"><result status="valid" time="0.040000" steps="59"/></proof>
460 <goal name="same_occs_same_lengths'vc.2" expl="index in array bounds" proved="true">
461 <proof prover="3"><result status="valid" time="0.020000" steps="20"/></proof>
463 <goal name="same_occs_same_lengths'vc.3" expl="precondition" proved="true">
464 <proof prover="3"><result status="valid" time="0.020000" steps="22"/></proof>
466 <goal name="same_occs_same_lengths'vc.4" expl="precondition" proved="true">
467 <proof prover="3"><result status="valid" time="0.030000" steps="61"/></proof>
469 <goal name="same_occs_same_lengths'vc.5" expl="precondition" proved="true">
470 <proof prover="3"><result status="valid" time="0.020000" steps="26"/></proof>
472 <goal name="same_occs_same_lengths'vc.6" expl="precondition" proved="true">
473 <proof prover="3"><result status="valid" time="0.020000" steps="28"/></proof>
475 <goal name="same_occs_same_lengths'vc.7" expl="assertion" proved="true">
476 <transf name="split_vc" proved="true" >
477 <goal name="same_occs_same_lengths'vc.7.0" expl="assertion" proved="true">
478 <proof prover="3"><result status="valid" time="0.230000" steps="654"/></proof>
480 <goal name="same_occs_same_lengths'vc.7.1" expl="VC for same_occs_same_lengths" proved="true">
481 <proof prover="3"><result status="valid" time="0.290000" steps="316"/></proof>
483 <goal name="same_occs_same_lengths'vc.7.2" expl="VC for same_occs_same_lengths" proved="true">
484 <proof prover="3"><result status="valid" time="0.060000" steps="141"/></proof>
486 <goal name="same_occs_same_lengths'vc.7.3" expl="VC for same_occs_same_lengths" proved="true">
487 <proof prover="3"><result status="valid" time="0.090000" steps="282"/></proof>
489 <goal name="same_occs_same_lengths'vc.7.4" expl="VC for same_occs_same_lengths" proved="true">
490 <proof prover="3"><result status="valid" time="0.080000" steps="280"/></proof>
494 <goal name="same_occs_same_lengths'vc.8" expl="variant decrease" proved="true">
495 <proof prover="3"><result status="valid" time="0.020000" steps="34"/></proof>
497 <goal name="same_occs_same_lengths'vc.9" expl="precondition" proved="true">
498 <proof prover="3"><result status="valid" time="0.020000" steps="34"/></proof>
500 <goal name="same_occs_same_lengths'vc.10" expl="precondition" proved="true">
501 <proof prover="3"><result status="valid" time="0.090000" steps="225"/></proof>
503 <goal name="same_occs_same_lengths'vc.11" expl="postcondition" proved="true">
504 <proof prover="3"><result status="valid" time="0.040000" steps="89"/></proof>
508 <goal name="num_occ_seq_occ'vc" expl="VC for num_occ_seq_occ" proved="true">
509 <transf name="split_all_full" proved="true" >
510 <goal name="num_occ_seq_occ'vc.0" expl="assertion" proved="true">
511 <proof prover="3"><result status="valid" time="0.110000" steps="429"/></proof>
513 <goal name="num_occ_seq_occ'vc.1" expl="variant decrease" proved="true">
514 <proof prover="3"><result status="valid" time="0.040000" steps="168"/></proof>
516 <goal name="num_occ_seq_occ'vc.2" expl="postcondition" proved="true">
517 <proof prover="3"><result status="valid" time="0.040000" steps="77"/></proof>
519 <goal name="num_occ_seq_occ'vc.3" expl="postcondition" proved="true">
520 <proof prover="3"><result status="valid" time="0.400000" steps="1093"/></proof>
524 <goal name="sort_to_list'vc" expl="VC for sort_to_list" proved="true">
525 <transf name="split_vc" proved="true" >
526 <goal name="sort_to_list'vc.0" expl="precondition" proved="true">
527 <proof prover="3"><result status="valid" time="0.020000" steps="14"/></proof>
529 <goal name="sort_to_list'vc.1" expl="precondition" proved="true">
530 <proof prover="3"><result status="valid" time="0.020000" steps="20"/></proof>
532 <goal name="sort_to_list'vc.2" expl="precondition" proved="true">
533 <proof prover="3"><result status="valid" time="0.040000" steps="29"/></proof>
535 <goal name="sort_to_list'vc.3" expl="precondition" proved="true">
536 <proof prover="3"><result status="valid" time="0.030000" steps="24"/></proof>
538 <goal name="sort_to_list'vc.4" expl="precondition" proved="true">
539 <proof prover="3"><result status="valid" time="0.070000" steps="185"/></proof>
541 <goal name="sort_to_list'vc.5" expl="precondition" proved="true">
542 <proof prover="3"><result status="valid" time="0.030000" steps="24"/></proof>
544 <goal name="sort_to_list'vc.6" expl="precondition" proved="true">
545 <proof prover="3"><result status="valid" time="0.020000" steps="24"/></proof>
547 <goal name="sort_to_list'vc.7" expl="precondition" proved="true">
548 <proof prover="3"><result status="valid" time="0.060000" steps="104"/></proof>
550 <goal name="sort_to_list'vc.8" expl="postcondition" proved="true">
551 <proof prover="3"><result status="valid" time="0.020000" steps="26"/></proof>
553 <goal name="sort_to_list'vc.9" expl="postcondition" proved="true">
554 <proof prover="3"><result status="valid" time="0.060000" steps="105"/></proof>
556 <goal name="sort_to_list'vc.10" expl="postcondition" proved="true">
557 <proof prover="3"><result status="valid" time="0.030000" steps="28"/></proof>
561 <goal name="copy_list'vc" expl="VC for copy_list" proved="true">
562 <transf name="split_vc" proved="true" >
563 <goal name="copy_list'vc.0" expl="postcondition" proved="true">
564 <proof prover="3"><result status="valid" time="0.030000" steps="24"/></proof>
566 <goal name="copy_list'vc.1" expl="postcondition" proved="true">
567 <proof prover="3"><result status="valid" time="0.020000" steps="22"/></proof>
569 <goal name="copy_list'vc.2" expl="postcondition" proved="true">
570 <proof prover="3"><result status="valid" time="0.030000" steps="66"/></proof>
572 <goal name="copy_list'vc.3" expl="index in array bounds" proved="true">
573 <proof prover="3"><result status="valid" time="0.030000" steps="65"/></proof>
575 <goal name="copy_list'vc.4" expl="variant decrease" proved="true">
576 <proof prover="3"><result status="valid" time="0.040000" steps="108"/></proof>
578 <goal name="copy_list'vc.5" expl="precondition" proved="true">
579 <proof prover="3"><result status="valid" time="0.020000" steps="24"/></proof>
581 <goal name="copy_list'vc.6" expl="precondition" proved="true">
582 <proof prover="3"><result status="valid" time="0.030000" steps="27"/></proof>
584 <goal name="copy_list'vc.7" expl="postcondition" proved="true">
585 <proof prover="3"><result status="valid" time="0.040000" steps="91"/></proof>
587 <goal name="copy_list'vc.8" expl="postcondition" proved="true">
588 <proof prover="3"><result status="valid" time="0.040000" steps="131"/></proof>
590 <goal name="copy_list'vc.9" expl="postcondition" proved="true">
591 <proof prover="3"><result status="valid" time="0.110000" steps="379"/></proof>
595 <goal name="mem_nth_in_bounds'vc" expl="VC for mem_nth_in_bounds" proved="true">
596 <proof prover="3"><result status="valid" time="0.040000" steps="196"/></proof>
598 <goal name="sorted_list_nth'vc" expl="VC for sorted_list_nth" proved="true">
599 <transf name="split_vc" proved="true" >
600 <goal name="sorted_list_nth'vc.0" expl="variant decrease" proved="true">
601 <proof prover="3"><result status="valid" time="0.040000" steps="104"/></proof>
603 <goal name="sorted_list_nth'vc.1" expl="precondition" proved="true">
604 <proof prover="3"><result status="valid" time="0.030000" steps="26"/></proof>
606 <goal name="sorted_list_nth'vc.2" expl="precondition" proved="true">
607 <proof prover="3"><result status="valid" time="0.030000" steps="28"/></proof>
609 <goal name="sorted_list_nth'vc.3" expl="postcondition" proved="true">
610 <proof prover="3"><result status="valid" time="0.120000" steps="534"/></proof>
614 <goal name="ghc_sort'vc" expl="VC for ghc_sort" proved="true">
615 <transf name="split_vc" proved="true" >
616 <goal name="ghc_sort'vc.0" expl="postcondition" proved="true">
617 <proof prover="3"><result status="valid" time="0.030000" steps="68"/></proof>
619 <goal name="ghc_sort'vc.1" expl="postcondition" proved="true">
620 <proof prover="3"><result status="valid" time="0.030000" steps="48"/></proof>
622 <goal name="ghc_sort'vc.2" expl="precondition" proved="true">
623 <proof prover="3"><result status="valid" time="0.030000" steps="16"/></proof>
625 <goal name="ghc_sort'vc.3" expl="assertion" proved="true">
626 <proof prover="3"><result status="valid" time="0.020000" steps="18"/></proof>
628 <goal name="ghc_sort'vc.4" expl="precondition" proved="true">
629 <proof prover="3"><result status="valid" time="0.020000" steps="18"/></proof>
631 <goal name="ghc_sort'vc.5" expl="precondition" proved="true">
632 <proof prover="3"><result status="valid" time="0.020000" steps="19"/></proof>
634 <goal name="ghc_sort'vc.6" expl="postcondition" proved="true">
635 <proof prover="3"><result status="valid" time="0.120000" steps="375"/></proof>
637 <goal name="ghc_sort'vc.7" expl="postcondition" proved="true">
638 <proof prover="3"><result status="valid" time="0.040000" steps="92"/></proof>