| # x = # lax1 + # lax0 + 1, st[m] = mkblock(x, lax1 + @(m0, 0) ' + lax0, m1), inv-flashsize(x, lax1 + @(m0, 0) ' + lax0), @(m, m0, 0) ∈ as, m ∈ st, as ⊆ dom nodes(st) ⊦ # as = 0, as = ∅, dups(lax1 + lax0), dups(lax1), dups(lax0), @(m0, 0) ∈ lax1, @(m0, 0) ∈ lax0 |
⊦ inv-flashsize(x, lax) ↔ # x = # lax ∧ (∀ n. n < # x → lax[n].size = x[n].flashsize)
# x = #(lax1 + @(m0, 0) ' + lax0), # x = # lax1 + # lax0 + 1, st[m] = mkblock(x, lax1 + @(m0, 0) ' + lax0, m1), m ∈ st, @(m, m0, 0) ∈ as, as ⊆ dom nodes(st), ∀ n. n < # x → (lax1 + @(m0, 0) ' + lax0)[n].size = x[n].flashsize ⊦ # as = 0, as = ∅, dups(lax0), dups(lax1), dups(lax1 + lax0), @(m0, 0) ∈ lax0, @(m0, 0) ∈ lax1
Used terms: lax1 + @(m0, 0) ' + lax0, x