| ⊦ ⟪create#(2; buf0)⟫ ⟪push#(a; buf0) ; push#(b; buf0) ; 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(i→n(2)), 2, 0, 0)⟫ ⟪push#(a; buf) ; push#(b; buf) ; pop#(; buf, a0) ; assert#(a0 = a) ; push#(c; buf) ; pop#(; buf, a0) ; assert#(a0 = b) ; pop#(; buf, a0) ; assert#(a0 = c)⟫ true
[[CONCRETESIMPRULES : ([CSIMPDECL : create# (i; buf) { buf := mk (mkarray(i→n(i)), i, 0, 0) }])]]