| buf .len = 1 + n→i(# x), a ' + x = tolist(buf, i→n(buf .len)), inv(buf) ⊦ 〈get#(buf .first, buf .data; a0)〉 a = a0 |
buf .len = 1 + n→i(# x), a ' + x = tolist(buf, i→n(buf .len)), inv(buf) ⊦ 〈a1 := a0, ar := buf .data, i := buf .first〉 〈if 0 ≤ i ∧ i < n→i(# ar) then a1 := ar[i→n(i)] else abort〉 a = a1
[[CONCRETESIMPRULES : ([CSIMPDECL : get# (i, ar; a) { if 0 ≤ i ∧ i < n→i(# ar) then a := ar[i→n(i)] else abort }])]]