| # ax = # kx, ax.toSet ∩ range ri = ∅, ri-inj(ri) ⊦ dups(ax), ri-inj(ri[kx, ax]) |
# ax = # kx, ri[kx, ax][key] = ri[kx, ax][key0], ax.toSet ∩ range ri = ∅, ri-inj(ri), key ∈ ri[kx, ax], key0 ∈ ri[kx, ax] ⊦ key = key0, dups(ax), key ∈ ri ∧ key0 ∈ ri ∧ ri[key] = ri[key0]
Used simplifier rules: ⊦ ri-inj(ri) → ( ri-inj(ri0) ↔ (∀ key0, key1. (key0 ∈ ri ∧ key1 ∈ ri ∧ ri[key0] = ri[key1] → key0 = key1) → key0 ∈ ri0 ∧ key1 ∈ ri0 ∧ ri0[key0] = ri0[key1] → key0 = key1)); (ss)