| # gndx1 = # lax1, gstore[n] = groupblock(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0), inv(groupblock(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0)), ri-cons(ri, nodes(gstore ↓, ginval)), @(n, n0, n1) ∈ ri ⊦ nd.key ∈ ri ∧ ri[nd.key] = @(n, n0, n1) |
⊦ adr ∈ ri ↔ (∃ key. key ∈ ri ∧ ri[key] = adr)
# gndx1 = # lax1, gstore[n] = groupblock(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0), inv(groupblock(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0)), ri-cons(ri, nodes(gstore ↓, ginval)), ∃ key. key ∈ ri ∧ ri[key] = @(n, n0, n1) ⊦ nd.key ∈ ri ∧ ri[nd.key] = @(n, n0, n1)
Used terms: ri, @(n, n0, n1)