| # kx0 = # ax1, adr ∈ ri[key, adr1][kx0, ax1], adr ∈ ri[key, adr1] \ kx0.toSet ⊦ adr = adr1, dups(kx0), adr ∈ (ri \ kx0.toSet) -- key, adr ∈ ax1, key ∈ kx0 |
⊦ adr ∈ ri ↔ (∃ key. key ∈ ri ∧ ri[key] = adr)
# kx0 = # ax1, adr ∈ ri[key, adr1] \ kx0.toSet, adr ∈ ri[key, adr1][kx0, ax1] ⊦ adr = adr1, dups(kx0), key ∈ kx0, adr ∈ ax1, ∃ key0. key0 ∈ (ri \ kx0.toSet) -- key ∧ ((ri \ kx0.toSet) -- key)[key0] = adr
Used terms: (ri \ kx0.toSet) -- key, adr