| new(ax, fs), as ⊆ dom fs ⊦ #(ax.toSet ∩ as) = 0, ax.toSet ∩ as = ∅ |
⊦ as = as0 ↔ (∀ adr. adr ∈ as ↔ adr ∈ as0)
Used simplifier rules: ⊦ ¬ adr ∈ ∅; (s)% ⊦ adr ∈ as ∩ as0 ↔ adr ∈ as ∧ adr ∈ as0; (ws)% ⊦ adr ∈ ax.toSet ↔ adr ∈ ax; (s)%int-a: ⊦ (as ∩ as0) ∩ as1 = as ∩ as0 ∩ as1; from specification set-union[node-store]%int-c: ⊦ as ∩ as0 = as0 ∩ as; from specification set-union[node-store]%sub-in: ⊦ adr ∈ as ∧ as ⊆ as0 → adr ∈ as0; (forward) from specification set-basic[node-store]%ne-01: ⊦ adr ∈ as → as ≠ ∅; (forward) from specification set-basic[node-store]% ⊦ adr ∈ dom fs ↔ adr ∈ fs; (s)% ⊦ new(ax, fs) ∧ adr ∈ ax → (adr ∈ fs ↔ false); (s) Used terms: ∅, ax.toSet ∩ as