| # x0 = # lax0, st[m] = mkblock(x0, lax0, 0), (∅)[m] = mkblock(x, lax, m2), inv-flashsize(x0, lax0), @(m, m0, 0) ∈ st, @(m, m0, 0) ∈ as, m ∈ st ⊦ # as = 0, as = ∅, dups(lax0) |
⊦ inv-flashsize(x, lax) ↔ # x = # lax ∧ (∀ n. n < # x → lax[n].size = x[n].flashsize)
# x0 = # lax0, (∅)[m] = mkblock(x, lax, m2), st[m] = mkblock(x0, lax0, 0), m ∈ st, @(m, m0, 0) ∈ as, @(m, m0, 0) ∈ st, ∀ n. n < # x0 → lax0[n].size = x0[n].flashsize ⊦ # as = 0, as = ∅, dups(lax0)
Used terms: lax0, x0