| # lax = # gndx2, # gndx0 = # lax1, gstore2[m1] = groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m), ri[nd.key] = @(m1, m2, m3), gstore2 ↓[@(m1, m2, m3)] = mkgnode(nd0, m4, boolvar1, boolvar2), inv(groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m)), inv(gstore2 \ ginval), @(m1, m2, m3) ∈ nodes(gstore2 ↓, ginval), m1 ∈ gstore2, nd.key ∈ ri, ∀ key. key ∈ ri → ri[key] ∈ nodes(gstore2 ↓, ginval) ∧ key-cons(key, gstore2 ↓[ri[key]].nd) ⊦ nd = nd0, m1 ∈ ginval |
# gndx0 = # lax1, # lax = # gndx2, gstore2 ↓[@(m1, m2, m3)] = mkgnode(nd0, m4, boolvar1, boolvar2), ri[nd.key] = @(m1, m2, m3), gstore2[m1] = groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m), inv(gstore2 \ ginval), inv(groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m)), nd.key ∈ ri, m1 ∈ gstore2, @(m1, m2, m3) ∈ nodes(gstore2 ↓, ginval), nd.key ∈ ri → ri[nd.key] ∈ nodes(gstore2 ↓, ginval) ∧ key-cons(nd.key, gstore2 ↓[ri[nd.key]].nd) ⊦ nd = nd0, m1 ∈ ginval
Used terms: nd.key