| adr ∈ fs0 | (ax.toSet ++ adr) ↔ adr ∈ fs1 | (ax.toSet ++ adr), (fs0 | (ax.toSet ++ adr))[adr] = (fs1 | (ax.toSet ++ adr))[adr], keys(fs0, ax) = keys(fs1, ax), fs0 | ax.toSet = fs1 | ax.toSet ⊦ fs0[adr].key = fs1[adr].key |
⊦ adr ∈ fs | as ↔ adr ∈ fs ∧ adr ∈ as
adr ∈ fs0 ∧ adr ∈ ax.toSet ++ adr ↔ adr ∈ fs1 | (ax.toSet ++ adr), (fs0 | (ax.toSet ++ adr))[adr] = (fs1 | (ax.toSet ++ adr))[adr], keys(fs0, ax) = keys(fs1, ax), fs0 | ax.toSet = fs1 | ax.toSet ⊦ fs0[adr].key = fs1[adr].key
Used terms: ax.toSet ++ adr, fs0, adr