| # ax1 = # ax0, adr ∈ ri, ax1.toSet ⊆ range ri, ∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]), key = fs[adr].key ∨ key ∈ keys(fs, ax1) ⊦ key ∈ ri, key ∈ ri[keys(fs, ax1), ax1] |
⊦ # kx = # ax → (key ∈ ri[kx, ax] ↔ key ∈ ri ∨ key ∈ kx)
# ax1 = # ax0, # keys(fs, ax1) = # ax1, adr ∈ ri, ax1.toSet ⊆ range ri, ∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]), key = fs[adr].key ∨ key ∈ keys(fs, ax1) ⊦ key ∈ keys(fs, ax1), key ∈ ri
Used simplifier rules: ⊦ # keys(fs, ax) = # ax; (s) Used terms: ax1, keys(fs, ax1), ri, key