| as1 ⊆ as0, iast0 | as0 ⊆ iast1 ⊦ ∀ adr. adr ∈ iast0 | as1 → adr ∈ iast1 ∧ (iast0 | as1)[adr] = iast1[adr] |
adr ∈ iast0, adr ∈ as1, adr ∈ as0, iast0 | as0 ⊆ iast1, as1 ⊆ as0 ⊦ # as1 = 0, # as0 = 0, iast0[adr] = iast1[adr], as0 = ∅, as1 = ∅
Used simplifier rules: restrict-add-in: ⊦ iast0 | as ⊆ iast1 ∧ adr ∈ as ∧ adr ∈ iast0 → adr ∈ iast1;%size-zero-01: ⊦ as ≠ ∅ → # as ≠ 0; (forward) from specification set-basic[node-store]%ne-01: ⊦ adr ∈ as → as ≠ ∅; (forward) from specification set-basic[node-store]%sub-in: ⊦ adr ∈ as ∧ as ⊆ as0 → adr ∈ as0; (forward) from specification set-basic[node-store]% ⊦ adr ∈ iast ∧ adr ∈ as → (iast | as)[adr] = iast[adr]; (s)% ⊦ adr ∈ iast | as ↔ adr ∈ iast ∧ adr ∈ as; (ws)