| # lax = # gndx, # lax1 = # gndx1, gstore[n] = groupblock(gndx, lax, m), transaction(ndx, gndx1), n ∈ gstore ⊦ dups(lax + lax1), dups(lax), dups(lax1), n ∈ ginval, (adr ∈ gstore ∧ ¬ adr.lnum ∈ ginval ∨ adr ∈ lax1.to-adr(n) → (adr ∈ gstore ∨ adr ∈ lax1.to-adr(n)) ∧ ¬ adr.lnum ∈ ginval) ∧ ( (adr ∈ gstore ∨ adr ∈ lax1.to-adr(n)) ∧ ¬ adr.lnum ∈ ginval → nodes(gstore[n, groupblock(gndx + gndx1, lax + lax1, m0)], ginval)[adr] = nodes(gstore, ginval)[lax1.to-adr(n), ndx][adr]) |
# lax1 = # gndx1, # lax = # gndx, gstore[n] = groupblock(gndx, lax, m), adr = @(m1, m2, m3), transaction(ndx, gndx1), n ∈ gstore ⊦ dups(lax1), dups(lax), dups(lax + lax1), n ∈ ginval, (adr ∈ gstore ∧ ¬ m1 ∈ ginval ∨ adr ∈ lax1.to-adr(n) → (adr ∈ gstore ∨ adr ∈ lax1.to-adr(n)) ∧ ¬ m1 ∈ ginval) ∧ ( (adr ∈ gstore ∨ adr ∈ lax1.to-adr(n)) ∧ ¬ m1 ∈ ginval → nodes(gstore[n, groupblock(gndx + gndx1, lax + lax1, m0)], ginval)[adr] = nodes(gstore, ginval)[lax1.to-adr(n), ndx][adr])
Used simplifier rules: ⊦ (m = adr.lnum ∧ m0 = adr.pos) ∧ m1 = adr.size ↔ adr = @(m, m0, m1); (elim) Used terms: adr, m4, m5, m6