| # gndx1 = # lax1, # gndx0 = # lax0, gstore[n] = groupblock(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0), ri[gstore ↓[@(n, n0, n1)].nd.key] = @(n, n0, n1), inv-flashsize(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1, lax0 + @(n0, n1) ' + lax1), gstore ↓[@(n, n0, n1)].nd.key ∈ ri, n ∈ gstore, @(n0, n1) ∈ prefixn(valid-group-nodes(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1), lax0 + @(n0, n1) ' + lax1) ⊦ dups(lax1), dups(lax0), dups(lax0 + lax1), @(n0, n1) ∈ lax1, @(n0, n1) ∈ lax0, n ∈ ginval, nd.key ∈ ri ∧ ri[nd.key] = @(n, n0, n1) |
# gndx0 = # lax0, # gndx1 = # lax1, ri[nd0.key] = @(n, n0, n1), gstore[n] = groupblock(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0), gstore ↓[@(n, n0, n1)] = mkgnode(nd0, m1, boolvar1, boolvar2), inv-flashsize(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1, lax0 + @(n0, n1) ' + lax1), @(n0, n1) ∈ prefixn(valid-group-nodes(gndx0 + mkgnode(nd, m, boolvar, boolvar0) ' + gndx1), lax0 + @(n0, n1) ' + lax1), n ∈ gstore, nd0.key ∈ ri ⊦ dups(lax0 + lax1), dups(lax0), dups(lax1), n ∈ ginval, @(n0, n1) ∈ lax0, @(n0, n1) ∈ lax1, nd.key ∈ ri ∧ ri[nd.key] = @(n, n0, n1)
Used simplifier rules: ⊦ ((nd = gnd.nd ∧ m = gnd.sqnum) ∧ (boolvar ↔ gnd.start)) ∧ (boolvar0 ↔ gnd.end) ↔ gnd = mkgnode(nd, m, boolvar, boolvar0); (elim) Used terms: gstore ↓[@(n, n0, n1)], nd0, m3, boolvar2, boolvar3