| # zbrar = BRANCH_SIZE, iast[adr] = indexnode(brar, bv1, nused + 1), indexnode(brar, bv1, nused + 1) = save(mkznode(rp, zbrar, bv1, false, nused + 1)), nused < BRANCH_SIZE, n < BRANCH_SIZE, adr ∈ iast, n ≤ nused ⊦ key-range(load(brar, 0, nused + 1), n, nused + 1, ri) = key-range(zbrar, n, nused + 1, ri) |
⊦ ri = ri0 ↔ (∀ key. (key ∈ ri ↔ key ∈ ri0) ∧ (key ∈ ri → ri[key] = ri0[key]))
# zbrar = BRANCH_SIZE, iast[adr] = indexnode(brar, bv1, nused + 1), indexnode(brar, bv1, nused + 1) = save(mkznode(rp, zbrar, bv1, false, nused + 1)), n < BRANCH_SIZE, nused < BRANCH_SIZE, adr ∈ iast, n ≤ nused ⊦ ∀ key. (key ∈ key-range(load(brar, 0, nused + 1), n, nused + 1, ri) ↔ key ∈ key-range(zbrar, n, nused + 1, ri)) ∧ ( key ∈ key-range(load(brar, 0, nused + 1), n, nused + 1, ri) → key-range(load(brar, 0, nused + 1), n, nused + 1, ri)[key] = key-range(zbrar, n, nused + 1, ri)[key])
Used terms: key-range(zbrar, n, nused + 1, ri), key-range(load(brar, 0, nused + 1), n, nused + 1, ri)