| log.toSet ∩ as = ∅, adr ∈ log, adr ∈ as, ∀ adr. adr ∈ log → adr ∈ fs ∧ node-cons(fs[adr].key, fs[adr]) ⊦ adr ∈ fs \ as ∧ node-cons((fs \ as)[adr].key, (fs \ as)[adr]) |
log.toSet ∩ as = ∅, adr ∈ log, adr ∈ as, ∀ adr. adr ∈ log → adr ∈ fs ∧ node-cons(fs[adr].key, fs[adr]) ⊦ # as = 0, as = ∅, adr ∈ fs \ as
Used simplifier rules: size-zero-01: ⊦ as ≠ ∅ → # as ≠ 0; (forward) from specification set-basic[node-store]% ⊦ adr ∈ fs \ as ↔ adr ∈ fs ∧ ¬ adr ∈ as; (ws)%ne-01: ⊦ adr ∈ as → as ≠ ∅; (forward) from specification set-basic[node-store]% ⊦ adr ∈ as → (fs \ as)[adr] = (∅)[adr]; (s)