| # zbrar0 = BRANCH_SIZE, BRANCH_SIZE = # zbrar1, iast1[adr] = indexnode(save(zbrar1, 0, nused), bv, nused), iast0[adr] = indexnode(save(zbrar1, 0, nused), bv, nused), save(zbrar0, 0, nused) = save(zbrar1, 0, nused), n < nused, n < BRANCH_SIZE, adr ∈ iast1, adr ∈ iast0, nused ≤ BRANCH_SIZE ⊦ zbrar1[n].key = zbrar0[n].key |
⊦ brar = brar0 ↔ # brar = # brar0 ∧ (∀ n. n < # brar → brar[n] = brar0[n])
# save(zbrar1, 0, nused) = # save(zbrar0, 0, nused), # zbrar0 = BRANCH_SIZE, BRANCH_SIZE = # zbrar1, iast0[adr] = indexnode(save(zbrar1, 0, nused), bv, nused), iast1[adr] = indexnode(save(zbrar1, 0, nused), bv, nused), n < BRANCH_SIZE, n < nused, adr ∈ iast0, adr ∈ iast1, nused ≤ BRANCH_SIZE, ∀ n. n < # save(zbrar1, 0, nused) → save(zbrar1, 0, nused)[n] = save(zbrar0, 0, nused)[n] ⊦ zbrar1[n].key = zbrar0[n].key
Used terms: save(zbrar0, 0, nused), save(zbrar1, 0, nused)