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