| # 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] |
# kx0 = # ax1, ri[key, adr1][key0] ∈ ri[key, adr1][kx0, ax1], key0 ∈ ri[key, adr1] ⊦ ri[key, adr1][key0] = adr1, key0 = key, dups(kx0), key0 ∈ kx0, ri[key, adr1][key0] ∈ ax1, key ∈ kx0, ∃ key1. key1 ≠ key ∧ key1 ∈ ri \ kx0.toSet ∧ (ri \ kx0.toSet)[key1] = ri[key, adr1][key0]
Used simplifier rules: ⊦ ri[key, adr][key] = adr; (s) Used formulas: key0 = key