| ⊦ ⟪let buf = [?], a0 = [?] in { create#(2; buf) ; 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 |
⊦ ∀ a1. ⟪create#(2; buf0) ; push#(a; buf0) ; push#(b; buf0) ; pop#(; buf0, a1) ; assert#(a1 = a) ; push#(c; buf0) ; pop#(; buf0, a1) ; assert#(a1 = b) ; pop#(; buf0, a1) ; assert#(a1 = c)⟫ true
[[CONCRETESIMPRULES : ()]]