| # kx0 = # ax1, ri[key, adr1][key0] ∈ ri[key, adr1][kx0, ax1], key0 ∈ ri[key, adr1] ⊦ ri[key, adr1][key0] = adr1, dups(kx0), ri[key, adr1][key0] ∈ ax1, key0 ∈ kx0, key ∈ kx0, key0 ∈ kx0.toSet, ∃ key1. key1 ≠ key ∧ key1 ∈ ri \ kx0.toSet ∧ (ri \ kx0.toSet)[key1] = ri[key, adr1][key0] |
# kx0 = # ax1, key0 ∈ ri[key, adr1], ri[key, adr1][key0] ∈ ri[key, adr1][kx0, ax1] ⊦ ri[key, adr1][key0] = adr1, dups(kx0), key ∈ kx0, ri[key, adr1][key0] ∈ ax1, key0 ∈ kx0, ∃ key1. key1 ≠ key ∧ key1 ∈ ri \ kx0.toSet ∧ (ri \ kx0.toSet)[key1] = ri[key, adr1][key0]
Used simplifier rules: ⊦ key ∈ kx.toSet ↔ key ∈ kx; (s)