| dom gstore ∩ ginval = ∅ ⊦ (@(m, m0, m1).lnum ∈ gstore ∧ @(@(m, m0, m1).pos, @(m, m0, m1).size) ∈ gstore[@(m, m0, m1).lnum].ladrlist → ¬ m ∈ ginval) ∧ ( (@(m, m0, m1).lnum ∈ gstore ∧ @(@(m, m0, m1).pos, @(m, m0, m1).size) ∈ gstore[@(m, m0, m1).lnum].ladrlist) ∧ ¬ m ∈ ginval → nodes(gstore, ginval)[@(m, m0, m1)] = nodes(gstore, ∅)[@(m, m0, m1)]) |
dom gstore ∩ ginval = ∅, m ∈ gstore, @(m0, m1) ∈ gstore[m].ladrlist ⊦ nodes(gstore, ginval)[@(m, m0, m1)] = nodes(gstore, ∅)[@(m, m0, m1)]
Used simplifier rules: ⊦ ns ∩ dom gstore = ∅ ∧ n ∈ gstore → ¬ n ∈ ns; (s)%int-c: ⊦ ns ∩ ns0 = ns0 ∩ ns; from specification set-union[nat-set]%int-a: ⊦ (ns ∩ ns0) ∩ ns1 = ns ∩ ns0 ∩ ns1; from specification set-union[nat-set]% ⊦ @(m, m0, m1).size = m1; (s)% ⊦ @(m, m0, m1).pos = m0; (s)% ⊦ @(m, m0, m1).lnum = m; (s)