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