| gstore[n] = groupblock(gndx, lax, m2), inv(gstore \ ginval), ri-cons(ri, nodes(gstore ↓, ginval)), n ∈ ginval, n ∈ gstore, n ∈ gstore → gstore[n].ref-size = (range ri | n).size ⊦ # ginval = 0, ginval = ∅, m2 = 0 |
gstore[adr.lnum] = groupblock(gndx, lax, (range ri | adr.lnum).size), inv(gstore \ ginval), ri-cons(ri, nodes(gstore ↓, ginval)), adr ∈ ri, adr.lnum ∈ ginval, adr.lnum ∈ gstore ⊦ # ginval = 0, ginval = ∅
Used simplifier rules: size-0: ⊦ ri-cons(ri, nodes(gstore ↓, ginval)) ∧ inv(gstore \ ginval) → ((range ri | m).size = 0 ↔ ¬(∃ adr. adr ∈ range ri ∧ adr.lnum = m));% ⊦ adr ∈ range ri ↔ adr ∈ ri; (s)% ⊦ groupblock(gndx, lax, m).ref-size = m; (s)