| buf1 = mk(mkarray(2)[0, a][1, b], 2, 1, 1), ar0 = buf1 .data ∧ a1 = c ∧ i0 = 0, buf = buf1 .data:= ar0[i→n(i0), a1] .len:= ((buf1 .data:= ar0[i→n(i0), a1]) .len + 1) ⊦ ⟪pop#(; buf, a)⟫ ⟪assert#(a = b) ; pop#(; buf, a) ; assert#(a = c)⟫ true |
buf = mk(mkarray(2)[0, a][1, b][0, c], 2, 1, 2) ⊦ ⟪pop#(; buf, a)⟫ ⟪assert#(a = b) ; pop#(; buf, a) ; assert#(a = c)⟫ true
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mk(ar, i, i0, i1) .len:= i4 = mk(ar, i, i0, i4)], [CSIMPSEQ : ⊦ mk(ar, i, i0, i1) .len = i1], [CSIMPSEQ : ⊦ mk(ar, i, i0, i1) .data:= ar0 = mk(ar0, i, i0, i1)], [CSIMPSEQ : ⊦ mk(ar, i, i0, i1) .data = ar])]]