| # lax = # gndx2, # gndx0 = # lax1, gstore2[m1] = groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m), ri[nd.key] = @(m1, m2, m3), prefixn(valid-group-nodes(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2), gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2) [pos(@(m2, m3), lax1 + @(m2, m3) ' + lax) ] = mkgnode(nd0, m4, boolvar1, boolvar2), inv(groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m)), inv(gstore2 \ ginval), key-cons(nd.key, nd0), m1 ∈ gstore2, nd.key ∈ ri, @(m2, m3) ∈ prefixn(valid-group-nodes(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2), lax1 + @(m2, m3) ' + lax) ⊦ nd = nd0, m1 ∈ ginval |
⊦ inv(gblock) ↔ # gblock.gndlist = # gblock.ladrlist ∧ inv-flashsize(gblock.gndlist, gblock.ladrlist) ∧ ¬ dups(gblock.ladrlist)
# groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m).gndlist = # groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m).ladrlist, # gndx0 = # lax1, # lax = # gndx2, prefixn(valid-group-nodes(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2), gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2) [pos(@(m2, m3), lax1 + @(m2, m3) ' + lax) ] = mkgnode(nd0, m4, boolvar1, boolvar2), ri[nd.key] = @(m1, m2, m3), gstore2[m1] = groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m), inv(gstore2 \ ginval), inv-flashsize (groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m).gndlist, groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m).ladrlist), key-cons(nd.key, nd0), @(m2, m3) ∈ prefixn(valid-group-nodes(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2), lax1 + @(m2, m3) ' + lax), nd.key ∈ ri, m1 ∈ gstore2 ⊦ nd = nd0, dups(groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m).ladrlist), m1 ∈ ginval
Used terms: groupblock (gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m)