| (n ∈ nx ∨ ¬ n ∈ ginval ⊃ groupblock(gstore[n].gndlist, gstore[n].ladrlist, (n ∈ gstore0 ⊃ m0;0));groupblock(gndx0, lax0, m0)) = groupblock(gndx, lax, m), gstore0[n] = groupblock(gndx0, lax0, m0), dom gstore0 ∪ elems nx = dom gstore ∪ ginval, n ∈ crash(gstore, gstore0, ginval, nx), fi.lebs ⊆ dom gstore0, n ∈ gstore0 → m0 = (range fi | n).size ⊦ m = (range fi | n).size |
gstore0[n] = groupblock(gndx0, lax0, m0), groupblock(gndx0, lax0, m0) = groupblock(gndx, lax, m), dom gstore0 ∪ elems nx = dom gstore ∪ ginval, n ∈ ginval, n ∈ crash(gstore, gstore0, ginval, nx), fi.lebs ⊆ dom gstore0, n ∈ gstore0 → m0 = (range fi | n).size ⊦ m = (range fi | n).size, n ∈ nx
Used simplifier rules: restrict-range-notin-lebs: ⊦ ¬ n ∈ gstore ∧ fi.lebs ⊆ dom gstore → range fi | n = ∅;%⊦ groupblock(gndx, lax, m) = groupblock(gndx0, lax0, m0) ↔ gndx = gndx0 ∧ lax = lax0 ∧ m = m0; (ws)% ⊦ ¬ n ∈ gstore → gstore[n] = (∅)[n]; (s)% ⊦ ∅.size = 0; (s)