| buf = mk(mkarray(2)[0, a][1, b][0, c], 2, 0, 1), a1 = a ∧ ar0 = buf .data ∧ i0 = buf .first ⊦ ⟪a1 := ar0[i→n(i0)]⟫ ⟪buf := buf .first:= ((buf .first + 1) % buf .size) ; buf := buf .len:= (buf .len - 1)⟫ ⟪assert#(a1 = c)⟫ true |
buf = mk(mkarray(2)[0, a][1, b][0, c], 2, 0, 1), a1 = a ∧ ar0 = buf .data ∧ i0 = buf .first ⊦ ⟪buf := buf .first:= ((buf .first + 1) % buf .size)⟫ ⟪buf := buf .len:= (buf .len - 1)⟫ ⟪assert#(ar0[i→n(i0)] = c)⟫ true
[[CONCRETESIMPRULES : ()]]