| buf .len = 1 + n→i(# x), a ' + x = tolist(buf, i→n(buf .len)), inv(buf), a2 = a0 ∧ ar0 = buf .data ∧ i0 = buf .first, ¬ (0 ≤ i0 ∧ i0 < n→i(# ar0)) ⊦ 〈abort〉 〈buf0 := buf .first:= ((buf .first + 1) % buf .size) ; buf0 := buf0 .len:= (buf0 .len - 1)〉 (inv(buf0) ∧ abs(buf0, x) ∧ a = a2) |
buf .len = 1 + n→i(# x), a ' + x = tolist(buf, i→n(buf .len)), inv(buf), a2 = a0 ∧ ar0 = buf .data ∧ i0 = buf .first, ¬ (0 ≤ i0 ∧ i0 < n→i(# ar0)) ⊦
[[CONCRETESIMPRULES : ()]]