| ∀ ri, key, adr. ri[key, adr][kx0] = ri[kx0] ∨ key ∈ kx0 ⊦ ri[key, adr][key0 + kx0] = ri[key0 + kx0], key ∈ key0 + kx0 |
∀ ri, key, adr. ri[key, adr][kx0] = ri[kx0] ∨ key ∈ kx0 ⊦ ri[key, adr][kx0] = ri[kx0], key = key0, key ∈ kx0
Used simplifier rules: index-lookup-rec: ⊦ ri[key ' + kx] = ri[key] + ri[kx];%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ adr ' + ax = adr ' + ax0 ↔ ax = ax0; (s)% ⊦ key ≠ key0 → ri[key0, adr][key] = ri[key]; (s)% ⊦ key ∈ key0 ' + kx ↔ ¬(key ≠ key0 ∧ ¬ key ∈ kx); (ss)%a: ⊦ (kx + kx0) + kx1 = kx + kx0 + kx1; from specification list[key-list-set]% ⊦ adr + ax = adr ' + ax; (s)% ⊦ key + kx = key ' + kx; (s)