| n ≤ # ax0, ∀ n, fs. n < # ax0 → keys(fs, ax0)[n] = fs[ax0[n]].key ∨ ax0 = [] ⊦ (fs[adr].key ' + keys(fs, ax0))[n] = fs[(adr ' + ax0)[n]].key |
⊦ ¬ n < # kx → (kx + kx0)[n] = kx0[n - # kx]
n ≤ # ax0, ∀ n, fs. n < # ax0 → keys(fs, ax0)[n] = fs[ax0[n]].key ∨ ax0 = [] ⊦ keys(fs, ax0)[n - # fs[adr].key '] = fs[(adr ' + ax0)[n]].key, n < # fs[adr].key '
Used simplifier rules: ⊦ n < # kx → (kx + kx0)[n] = kx[n]; (s)%a: ⊦ (kx + kx0) + kx1 = kx + kx0 + kx1; from specification list[key-list-set]% ⊦ # key ' = 0 +1; (s)% ⊦ m < 1 ↔ m = 0; (s)% ⊦ key '[0] = key; (s)% ⊦ (adr ' + ax)[0] = adr; (s)%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set] Used terms: n, keys(fs, ax0), fs[adr].key '