@@ -68,20 +68,41 @@ s_empty: Sequence.length(s) == 0
6868Obligation:
6969Sequence.length(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30)) == 3
7070
71+ Label: assert_t_0_calls_Sequence.select_0
72+ Property: out-of-bounds access check
73+ Assumptions:
74+ s_empty: Sequence.length(s) == 0
75+ Obligation:
76+ true && 0 < Sequence.length(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30))
77+
7178Label: t_0
7279Property: assert
7380Assumptions:
7481s_empty: Sequence.length(s) == 0
7582Obligation:
7683Sequence.select(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 0) == 10
7784
85+ Label: assert_t_1_calls_Sequence.select_0
86+ Property: out-of-bounds access check
87+ Assumptions:
88+ s_empty: Sequence.length(s) == 0
89+ Obligation:
90+ true && 1 < Sequence.length(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30))
91+
7892Label: t_1
7993Property: assert
8094Assumptions:
8195s_empty: Sequence.length(s) == 0
8296Obligation:
8397Sequence.select(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 1) == 20
8498
99+ Label: assert_t_2_calls_Sequence.select_0
100+ Property: out-of-bounds access check
101+ Assumptions:
102+ s_empty: Sequence.length(s) == 0
103+ Obligation:
104+ true && 2 < Sequence.length(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30))
105+
85106Label: t_2
86107Property: assert
87108Assumptions:
@@ -102,14 +123,26 @@ Obligation: t_length
102123Property: assert
103124Result: ✅ pass
104125
126+ Obligation: assert_t_0_calls_Sequence.select_0
127+ Property: out-of-bounds access check
128+ Result: ✅ pass
129+
105130Obligation: t_0
106131Property: assert
107132Result: ✅ pass
108133
134+ Obligation: assert_t_1_calls_Sequence.select_0
135+ Property: out-of-bounds access check
136+ Result: ✅ pass
137+
109138Obligation: t_1
110139Property: assert
111140Result: ✅ pass
112141
142+ Obligation: assert_t_2_calls_Sequence.select_0
143+ Property: out-of-bounds access check
144+ Result: ✅ pass
145+
113146Obligation: t_2
114147Property: assert
115148Result: ✅ pass
@@ -185,34 +218,69 @@ s_empty: Sequence.length(s) == 0
185218Obligation:
186219Sequence.length(Sequence.append(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), Sequence.build(Sequence.build(s, 40), 50))) == 5
187220
221+ Label: assert_append_elem_0_calls_Sequence.select_0
222+ Property: out-of-bounds access check
223+ Assumptions:
224+ s_empty: Sequence.length(s) == 0
225+ Obligation:
226+ true && 0 < Sequence.length(Sequence.append(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), Sequence.build(Sequence.build(s, 40), 50)))
227+
188228Label: append_elem_0
189229Property: assert
190230Assumptions:
191231s_empty: Sequence.length(s) == 0
192232Obligation:
193233Sequence.select(Sequence.append(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), Sequence.build(Sequence.build(s, 40), 50)), 0) == 10
194234
235+ Label: assert_append_elem_4_calls_Sequence.select_0
236+ Property: out-of-bounds access check
237+ Assumptions:
238+ s_empty: Sequence.length(s) == 0
239+ Obligation:
240+ true && 4 < Sequence.length(Sequence.append(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), Sequence.build(Sequence.build(s, 40), 50)))
241+
195242Label: append_elem_4
196243Property: assert
197244Assumptions:
198245s_empty: Sequence.length(s) == 0
199246Obligation:
200247Sequence.select(Sequence.append(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), Sequence.build(Sequence.build(s, 40), 50)), 4) == 50
201248
249+ Label: set_u_calls_Sequence.update_0
250+ Property: out-of-bounds access check
251+ Assumptions:
252+ s_empty: Sequence.length(s) == 0
253+ Obligation:
254+ true && 1 < Sequence.length(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30))
255+
202256Label: update_length
203257Property: assert
204258Assumptions:
205259s_empty: Sequence.length(s) == 0
206260Obligation:
207261Sequence.length(Sequence.update(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 1, 99)) == 3
208262
263+ Label: assert_update_same_calls_Sequence.select_0
264+ Property: out-of-bounds access check
265+ Assumptions:
266+ s_empty: Sequence.length(s) == 0
267+ Obligation:
268+ true && 1 < Sequence.length(Sequence.update(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 1, 99))
269+
209270Label: update_same
210271Property: assert
211272Assumptions:
212273s_empty: Sequence.length(s) == 0
213274Obligation:
214275Sequence.select(Sequence.update(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 1, 99), 1) == 99
215276
277+ Label: assert_update_other_calls_Sequence.select_0
278+ Property: out-of-bounds access check
279+ Assumptions:
280+ s_empty: Sequence.length(s) == 0
281+ Obligation:
282+ true && 0 < Sequence.length(Sequence.update(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 1, 99))
283+
216284Label: update_other
217285Property: assert
218286Assumptions:
@@ -227,27 +295,55 @@ s_empty: Sequence.length(s) == 0
227295Obligation:
228296Sequence.contains(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 20)
229297
298+ Label: set_u_calls_Sequence.take_0
299+ Property: out-of-bounds access check
300+ Assumptions:
301+ s_empty: Sequence.length(s) == 0
302+ Obligation:
303+ true && 2 <= Sequence.length(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30))
304+
230305Label: take_length
231306Property: assert
232307Assumptions:
233308s_empty: Sequence.length(s) == 0
234309Obligation:
235310Sequence.length(Sequence.take(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 2)) == 2
236311
312+ Label: assert_take_elem_calls_Sequence.select_0
313+ Property: out-of-bounds access check
314+ Assumptions:
315+ s_empty: Sequence.length(s) == 0
316+ Obligation:
317+ true && 0 < Sequence.length(Sequence.take(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 2))
318+
237319Label: take_elem
238320Property: assert
239321Assumptions:
240322s_empty: Sequence.length(s) == 0
241323Obligation:
242324Sequence.select(Sequence.take(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 2), 0) == 10
243325
326+ Label: set_u_calls_Sequence.drop_0
327+ Property: out-of-bounds access check
328+ Assumptions:
329+ s_empty: Sequence.length(s) == 0
330+ Obligation:
331+ true && 1 <= Sequence.length(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30))
332+
244333Label: drop_length
245334Property: assert
246335Assumptions:
247336s_empty: Sequence.length(s) == 0
248337Obligation:
249338Sequence.length(Sequence.drop(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 1)) == 2
250339
340+ Label: assert_drop_elem_calls_Sequence.select_0
341+ Property: out-of-bounds access check
342+ Assumptions:
343+ s_empty: Sequence.length(s) == 0
344+ Obligation:
345+ true && 0 < Sequence.length(Sequence.drop(Sequence.build(Sequence.build(Sequence.build(s, 10), 20), 30), 1))
346+
251347Label: drop_elem
252348Property: assert
253349Assumptions:
@@ -261,22 +357,42 @@ Obligation: append_length
261357Property: assert
262358Result: ✅ pass
263359
360+ Obligation: assert_append_elem_0_calls_Sequence.select_0
361+ Property: out-of-bounds access check
362+ Result: ✅ pass
363+
264364Obligation: append_elem_0
265365Property: assert
266366Result: ✅ pass
267367
368+ Obligation: assert_append_elem_4_calls_Sequence.select_0
369+ Property: out-of-bounds access check
370+ Result: ✅ pass
371+
268372Obligation: append_elem_4
269373Property: assert
270374Result: ✅ pass
271375
376+ Obligation: set_u_calls_Sequence.update_0
377+ Property: out-of-bounds access check
378+ Result: ✅ pass
379+
272380Obligation: update_length
273381Property: assert
274382Result: ✅ pass
275383
384+ Obligation: assert_update_same_calls_Sequence.select_0
385+ Property: out-of-bounds access check
386+ Result: ✅ pass
387+
276388Obligation: update_same
277389Property: assert
278390Result: ✅ pass
279391
392+ Obligation: assert_update_other_calls_Sequence.select_0
393+ Property: out-of-bounds access check
394+ Result: ✅ pass
395+
280396Obligation: update_other
281397Property: assert
282398Result: ✅ pass
@@ -285,18 +401,34 @@ Obligation: contains_yes
285401Property: assert
286402Result: ❓ unknown
287403
404+ Obligation: set_u_calls_Sequence.take_0
405+ Property: out-of-bounds access check
406+ Result: ✅ pass
407+
288408Obligation: take_length
289409Property: assert
290410Result: ✅ pass
291411
412+ Obligation: assert_take_elem_calls_Sequence.select_0
413+ Property: out-of-bounds access check
414+ Result: ✅ pass
415+
292416Obligation: take_elem
293417Property: assert
294418Result: ✅ pass
295419
420+ Obligation: set_u_calls_Sequence.drop_0
421+ Property: out-of-bounds access check
422+ Result: ✅ pass
423+
296424Obligation: drop_length
297425Property: assert
298426Result: ✅ pass
299427
428+ Obligation: assert_drop_elem_calls_Sequence.select_0
429+ Property: out-of-bounds access check
430+ Result: ✅ pass
431+
300432Obligation: drop_elem
301433Property: assert
302434Result: ✅ pass
0 commit comments