| gstore1[lnum] = groupblock(gndx0, lax0, m0), gstore0[lnum] = groupblock(gndx, lax, m), (∀ n. (n ∈ gstore0 ↔ n ∈ gstore1) ∧ (n ∈ gstore0 → gstore1[n].gndlist = gstore0[n].gndlist ∧ gstore1[n].ladrlist = gstore0[n].ladrlist)) → abs-log(nx0, gstore0) = abs-log(nx0, gstore1), ∀ n. (n ∈ gstore0 ↔ n ∈ gstore1) ∧ (n ∈ gstore0 → gstore1[n].gndlist = gstore0[n].gndlist ∧ gstore1[n].ladrlist = gstore0[n].ladrlist) ⊦ lax.to-adr(lnum) + abs-log(nx0, gstore0) = lax0.to-adr(lnum) + abs-log(nx0, gstore1) |
gstore1[lnum] = groupblock(gndx0, lax0, m0), gstore0[lnum] = groupblock(gndx, lax, m), abs-log(nx0, gstore0) = abs-log(nx0, gstore1), ∀ n. (n ∈ gstore0 ↔ n ∈ gstore1) ∧ (n ∈ gstore0 → gstore1[n].gndlist = gstore0[n].gndlist ∧ gstore1[n].ladrlist = gstore0[n].ladrlist) ⊦ lax = lax0
Used simplifier rules: a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ lax0.to-adr(n) = lax1.to-adr(n) ↔ lax0 = lax1; (s)% ⊦ ax + ax0 = ax1 + ax0 ↔ ax = ax1; (s)