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