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