| gstore[lnum] = groupblock(gndx, lax, m), ax.toSet ∩ abs-log(nx0, gstore).toSet = ∅, ginval ∩ elems nx0 = ∅, lnum ∈ gstore, adr ∈ ax, adr ∈ lax.to-adr(lnum), elems nx0 ⊆ dom gstore, ¬ adr ∈ gstore ∨ adr.lnum ∈ ginval ⊦ #(ax.toSet ∩ (lax.to-adr(lnum)).toSet) = 0, #(ax.toSet ∩ ((lax.to-adr(lnum)).toSet ∪ abs-log(nx0, gstore).toSet)) = 0, lnum ∈ ginval |
Used simplifier rules: ⊦ @(m, m0, m1) ∈ lax.to-adr(n) ↔ m = n ∧ @(m0, m1) ∈ lax; (ws)%⊦ gstore[n] = groupblock(gndx, lax, m0) ∧ n ∈ gstore ∧ @(n0, n1) ∈ lax → @(n, n0, n1) ∈ gstore; (ss)% ⊦ (m = adr.lnum ∧ m0 = adr.pos) ∧ m1 = adr.size ↔ adr = @(m, m0, m1); (elim) Used terms: adr, m2, m3, m4