| gstore[m] = groupblock(gndx, lax, m2), gstore ↓[@(m, m0, m1)] = mkgnode(nd0, m3, boolvar1, boolvar2), crash(gstore, gstore0, ginval, nx) ↓[m].gndlist[pos(@(m0, m1), crash(gstore, gstore0, ginval, nx) ↓[m].ladrlist)] = mkgnode(nd, m4, boolvar, boolvar0), inv(gstore \ ginval), inv(groupblock(gndx, lax, m2)), @(m0, m1) ∈ prefixn(valid-group-nodes(gndx), lax), m ∈ gstore, @(m0, m1) ∈ crash(gstore, gstore0, ginval, nx) ↓[m].ladrlist ⊦ nd = nd0, m ∈ ginval |
gndx0[pos(@(m0, m1), lax0)] = mkgnode(nd, m4, boolvar, boolvar0), gstore ↓[@(m, m0, m1)] = mkgnode(nd0, m3, boolvar1, boolvar2), gstore[m] = groupblock(gndx, lax, m2), crash(gstore, gstore0, ginval, nx) ↓[m] = groupblock(gndx0, lax0, m5), inv(groupblock(gndx, lax, m2)), inv(gstore \ ginval), @(m0, m1) ∈ lax0, m ∈ gstore, @(m0, m1) ∈ prefixn(valid-group-nodes(gndx), lax) ⊦ nd = nd0, m ∈ ginval
Used simplifier rules: ⊦ (gndx = gblock.gndlist ∧ lax = gblock.ladrlist) ∧ m = gblock.ref-size ↔ gblock = groupblock(gndx, lax, m); (elim) Used terms: crash(gstore, gstore0, ginval, nx) ↓[m], gndx0, lax0, m5