| x = tolist(buf, i→n(buf .len)), buf .len < buf .size, inv(buf), 0 ≤ buf .len, 0 < buf .size ⊦ 〈let j = (buf .first + buf .len) % buf .size in { buf0 := buf ; put#(j, a; buf0 .data) }〉 〈buf0 := buf0 .len:= (buf0 .len + 1)〉 (inv(buf0) ∧ abs(buf0, x + a ')) |
x = tolist(buf, i→n(buf .len)), buf .len < buf .size, inv(buf), 0 ≤ buf .len, 0 < buf .size, j0 = (buf .first + buf .len) % buf .size ⊦ 〈buf0 := buf〉 〈put#(j0, a; buf0 .data)〉 〈buf0 := buf0 .len:= (buf0 .len + 1)〉 (inv(buf0) ∧ abs(buf0, x + a '))
[[CONCRETESIMPRULES : ()]]