| (range ri | m).size = 0, gstore[m] = groupblock(gndx, lax, m1), ri[key] = @(m, m0, 0), inv(gstore \ ginval), inv(groupblock(gndx, lax, m1)), key-cons(key, nodes(gstore ↓, ginval)[@(m, m0, 0)]), key ∈ ri, @(m0, 0) ∈ prefixn(valid-group-nodes(gndx), lax), m ∈ gstore ⊦ m ∈ ginval |
⊦ inv(gblock) ↔ # gblock.gndlist = # gblock.ladrlist ∧ inv-flashsize(gblock.gndlist, gblock.ladrlist) ∧ ¬ dups(gblock.ladrlist)
# groupblock(gndx, lax, m1).gndlist = # groupblock(gndx, lax, m1).ladrlist, (range ri | m).size = 0, ri[key] = @(m, m0, 0), gstore[m] = groupblock(gndx, lax, m1), inv(gstore \ ginval), inv-flashsize(groupblock(gndx, lax, m1).gndlist, groupblock(gndx, lax, m1).ladrlist), key-cons(key, nodes(gstore ↓, ginval)[@(m, m0, 0)]), m ∈ gstore, @(m0, 0) ∈ prefixn(valid-group-nodes(gndx), lax), key ∈ ri ⊦ dups(groupblock(gndx, lax, m1).ladrlist), m ∈ ginval
Used terms: groupblock(gndx, lax, m1)