| st[m] = mkblock(x0, lax0, 0), (∅)[m] = mkblock(x, lax, m2), inv(mkblock(x0, lax0, 0)), @(m, m0, 0) ∈ st, @(m, m0, 0) ∈ as, m ∈ st ⊦ # as = 0, as = ∅ |
⊦ inv(ablock) ↔ # ablock.list = # ablock.ladrlist ∧ inv-flashsize(ablock.list, ablock.ladrlist) ∧ ¬ dups(ablock.ladrlist)
# mkblock(x0, lax0, 0).list = # mkblock(x0, lax0, 0).ladrlist, (∅)[m] = mkblock(x, lax, m2), st[m] = mkblock(x0, lax0, 0), inv-flashsize(mkblock(x0, lax0, 0).list, mkblock(x0, lax0, 0).ladrlist), m ∈ st, @(m, m0, 0) ∈ as, @(m, m0, 0) ∈ st ⊦ # as = 0, as = ∅, dups(mkblock(x0, lax0, 0).ladrlist)
Used terms: mkblock(x0, lax0, 0)