| buf = mk(mkarray(2)[0, a], 2, 0, 1), j0 = (buf .first + buf .len) % buf .size ⊦ ⟪buf0 := buf⟫ ⟪put#(j0, b; buf0 .data)⟫ ⟪buf0 := buf0 .len:= (buf0 .len + 1)⟫ ⟪pop#(; buf0, a0) ; assert#(a0 = a) ; push#(c; buf0) ; pop#(; buf0, a0) ; assert#(a0 = b) ; pop#(; buf0, a0) ; assert#(a0 = c)⟫ true |
buf = mk(mkarray(2)[0, a], 2, 0, 1), j0 = (buf .first + buf .len) % buf .size, buf1 = buf ⊦ ⟪put#(j0, b; buf1 .data)⟫ ⟪buf1 := buf1 .len:= (buf1 .len + 1)⟫ ⟪pop#(; buf1, a0) ; assert#(a0 = a) ; push#(c; buf1) ; pop#(; buf1, a0) ; assert#(a0 = b) ; pop#(; buf1, a0) ; assert#(a0 = c)⟫ true
[[CONCRETESIMPRULES : ()]]