| gstore[n, gblock][@(m0, m1, m2)] = mkgnode(nd, m, boolvar, boolvar0), n ∈ gstore, @(m0, m1, m2).lnum ∈ gstore[n, gblock], @(@(m0, m1, m2).pos, @(m0, m1, m2).size) ∈ gstore[n, gblock][@(m0, m1, m2).lnum].ladrlist ⊦ n = m0, nd = nodes(gstore, ginval)[@(m0, m1, m2)], m0 ∈ ginval |
gstore[n, gblock][@(m0, m1, m2)] = mkgnode(nd, m, boolvar, boolvar0), n ∈ gstore, @(m1, m2) ∈ gstore[m0].ladrlist, m0 ∈ gstore ⊦ n = m0, nd = nodes(gstore, ginval)[@(m0, m1, m2)], m0 ∈ ginval
Used simplifier rules: ⊦ n ≠ n0 → (n ∈ gstore[n0, gblock] ↔ n ∈ gstore); (s)% ⊦ n ≠ n0 → gstore[n0, gblock][n] = gstore[n]; (s)% ⊦ @(m, m0, m1).lnum = m; (s)% ⊦ @(m, m0, m1).size = m1; (s)% ⊦ @(m, m0, m1).pos = m0; (s)