| # lax = # gndx, # lax1 = # gndx1, gstore[n] = groupblock(gndx, lax, m), transaction(ndx, gndx1), n ∈ gstore ⊦ nodes(gstore[n, groupblock(gndx + gndx1, lax + lax1, m0)], ginval) = nodes(gstore, ginval)[lax1.to-adr(n), ndx], dups(lax1), dups(lax), dups(lax + lax1), n ∈ ginval |
⊦ fs = fs0 ↔ (∀ adr. (adr ∈ fs ↔ adr ∈ fs0) ∧ (adr ∈ fs → fs[adr] = fs0[adr]))
# lax1 = # gndx1, # lax = # gndx, gstore[n] = groupblock(gndx, lax, m), transaction(ndx, gndx1), n ∈ gstore ⊦ dups(lax + lax1), dups(lax), dups(lax1), n ∈ ginval, ∀ adr. (adr ∈ nodes(gstore[n, groupblock(gndx + gndx1, lax + lax1, m0)], ginval) ↔ adr ∈ nodes(gstore, ginval)[lax1.to-adr(n), ndx]) ∧ ( adr ∈ nodes(gstore[n, groupblock(gndx + gndx1, lax + lax1, m0)], ginval) → nodes(gstore[n, groupblock(gndx + gndx1, lax + lax1, m0)], ginval)[adr] = nodes(gstore, ginval)[lax1.to-adr(n), ndx][adr])
Used terms: nodes(gstore, ginval)[lax1.to-adr(n), ndx], nodes(gstore[n, groupblock(gndx + gndx1, lax + lax1, m0)], ginval)