| gstore[m] = groupblock(gndx, lax, (range ri | m).size), inv(gstore \ ginval), ri-cons(ri, nodes(gstore ↓, ginval)), @(m, m0, m1) ∈ ri, m ∈ ginval, m ∈ gstore ⊦ # ginval = 0, ginval = ∅ |
⊦ ri-cons(ri, fs) ↔ (∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]))
gstore[m] = groupblock(gndx, lax, (range ri | m).size), inv(gstore \ ginval), m ∈ gstore, m ∈ ginval, @(m, m0, m1) ∈ ri, ∀ key. key ∈ ri → ri[key] ∈ nodes(gstore ↓, ginval) ∧ key-cons(key, nodes(gstore ↓, ginval)[ri[key]]) ⊦ # ginval = 0, ginval = ∅
Used terms: nodes(gstore ↓, ginval), ri