| as1 ∩ as3 ⊆ as, ∀ adr. adr ∈ as0 ∩ as3 → adr ∈ as ⊦ ∀ adr. adr ∈ (as0 ∪ (as1 \ as2)) ∩ as3 → adr ∈ as |
adr ∈ as3, adr ∈ as0 ∪ (as1 \ as2), as1 ∩ as3 ⊆ as, ∀ adr. adr ∈ as0 ∩ as3 → adr ∈ as ⊦ # as3 = 0, #(as0 ∪ (as1 \ as2)) = 0, as3 = ∅, as0 ∪ (as1 \ as2) = ∅, adr ∈ as
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)