| gstore[lnum] = groupblock(gndx1, lax1, m2), gstore[n] = groupblock(gndx, lax, m0), gstore[n, groupblock(gndx, lax, m)][lnum] = groupblock(gndx0, lax0, m1), n ∈ gstore, ∀ gstore, n, gndx, lax, m0, m. gstore[n] = groupblock(gndx, lax, m0) ∧ n ∈ gstore → abs-log(nx0, gstore[n, groupblock(gndx, lax, m)]) = abs-log(nx0, gstore) ⊦ lax0.to-adr(lnum) + abs-log(nx0, gstore[n, groupblock(gndx, lax, m)]) = lax1.to-adr(lnum) + abs-log(nx0, gstore), lnum = n |
gstore[lnum] = groupblock(gndx1, lax1, m2), gstore[n] = groupblock(gndx, lax, m0), n ∈ gstore, ∀ gstore, n, gndx, lax, m0, m. gstore[n] = groupblock(gndx, lax, m0) ∧ n ∈ gstore → abs-log(nx0, gstore[n, groupblock(gndx, lax, m)]) = abs-log(nx0, gstore) ⊦ abs-log(nx0, gstore[n, groupblock(gndx, lax, m)]) = abs-log(nx0, gstore), lnum = n
Used simplifier rules: a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ ax + ax0 = ax + ax1 ↔ ax0 = ax1; (s)%⊦ groupblock(gndx, lax, m) = groupblock(gndx0, lax0, m0) ↔ gndx = gndx0 ∧ lax = lax0 ∧ m = m0; (ws)% ⊦ n ≠ n0 → gstore[n0, gblock][n] = gstore[n]; (s)