| gndx0.last = mkgnode(nd0, m2, boolvar1, boolvar2), gndx.last = mkgnode(nd, m1, boolvar, boolvar0), gstore1[nx.last] = groupblock(gndx0, lax0, m0), gstore0[nx.last] = groupblock(gndx, lax, m), nx.last ∈ gstore0, ∀ n. (n ∈ gstore0 ↔ n ∈ gstore1) ∧ gstore0[n].gndlist = gstore1[n].gndlist ∧ gstore0[n].ladrlist = gstore1[n].ladrlist, gndx = [] ∨ boolvar0 ⊦ nx = [], nx.last ∈ ginval, nx.last ∈ gstore1 ∧ (gndx0 = [] ∨ boolvar2) |
Used simplifier rules: ⊦ groupblock(gndx, lax, m).gndlist = gndx; (s)% ⊦ groupblock(gndx, lax, m).ladrlist = lax; (s)%⊦ mkgnode(nd, m, boolvar, boolvar0) = mkgnode(nd0, m0, boolvar1, boolvar2) ↔ nd = nd0 ∧ m = m0 ∧ (boolvar ↔ boolvar1) ∧ (boolvar0 ↔ boolvar2); (ws) Used terms: nx.last