| BRANCH_SIZE = # zbrar, iast[adr] = indexnode(brar, bv1, nused + 1), indexnode(brar, bv1, nused + 1) = save(mkznode(rp, zbrar, bv1, false, nused + 1)), nused < BRANCH_SIZE, adr ∈ iast ⊦ (∀ m, m0. m < m0 ∧ m0 < nused → load(brar[m]).key < load(brar[m0]).key) ↔ (∀ m, m0. m < m0 ∧ m0 < nused → zbrar[m].key < zbrar[m0].key) |
⊦ save(znd) = indexnode(save(znd.zbranches, 0, znd.usedsize), znd.leaf, znd.usedsize)
BRANCH_SIZE = # zbrar, iast[adr] = indexnode(brar, bv1, nused + 1), indexnode(brar, bv1, nused + 1) = indexnode (save(mkznode(rp, zbrar, bv1, false, nused + 1).zbranches, 0, mkznode(rp, zbrar, bv1, false, nused + 1).usedsize), mkznode(rp, zbrar, bv1, false, nused + 1).leaf, mkznode(rp, zbrar, bv1, false, nused + 1).usedsize), nused < BRANCH_SIZE, adr ∈ iast ⊦ (∀ m, m0. m < m0 ∧ m0 < nused → load(brar[m]).key < load(brar[m0]).key) ↔ (∀ m, m0. m < m0 ∧ m0 < nused → zbrar[m].key < zbrar[m0].key)
Used terms: mkznode(rp, zbrar, bv1, false, nused + 1)