| adr ∈ (iast | as0) | as1 ⊦ (adr ∈ (iast | as0) | as1 ↔ adr ∈ iast | (as0 ∩ as1)) ∧ ((iast | as0) | as1)[adr] = (iast | (as0 ∩ as1))[adr] |
adr ∈ as0, adr ∈ iast, adr ∈ as1 ⊦ # as0 = 0, # as1 = 0, ((iast | as0) | as1)[adr] = (iast | (as0 ∩ as1))[adr], as0 = ∅, as1 = ∅
Used simplifier rules: 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]%int-c: ⊦ as ∩ as0 = as0 ∩ as; from specification set-union[node-store]%int-a: ⊦ (as ∩ as0) ∩ as1 = as ∩ as0 ∩ as1; from specification set-union[node-store]% ⊦ adr ∈ as ∩ as0 ↔ adr ∈ as ∧ adr ∈ as0; (ws)% ⊦ adr ∈ iast | as ↔ adr ∈ iast ∧ adr ∈ as; (ws)