| ax.toSet ∩ as = ∅ ⊦ #(referenced-adrs(ax, ri).toSet ∩ as) = 0, ∀ adr. adr ∈ referenced-adrs(ax, ri).toSet ∩ as ↔ adr ∈ ∅ |
ax.toSet ∩ as = ∅, adr ∈ ri, adr ∈ ax, adr ∈ as ⊦ #(referenced-adrs(ax, ri).toSet ∩ as) = 0, # as = 0, as = ∅
Used simplifier rules: referenced-adrs-in: ⊦ adr ∈ referenced-adrs(ax, ri) ↔ adr ∈ ax ∧ adr ∈ ri;%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 ∈ ax.toSet ↔ adr ∈ ax; (s)% ⊦ adr ∈ as ∩ as0 ↔ adr ∈ as ∧ adr ∈ as0; (ws)% ⊦ ¬ adr ∈ ∅; (s)