| # zbrar0 = BRANCH_SIZE, BRANCH_SIZE = # zbrar1, zbrar0[n] = mkzbranch(key, adr0, r2), iast[adr] = save(mkznode(rp1, zbrar1, bv, false, nused)), iast[adr] = save(mkznode(rp0, zbrar0, bv, false, nused)), n < nused, n < BRANCH_SIZE, adr ∈ iast, nused ≤ BRANCH_SIZE ⊦ ∃ r0. zbrar1[n] = mkzbranch(key, adr0, r0) |
⊦ save(znd) = indexnode(save(znd.zbranches, 0, znd.usedsize), znd.leaf, znd.usedsize)
# zbrar0 = BRANCH_SIZE, BRANCH_SIZE = # zbrar1, iast[adr] = save(mkznode(rp0, zbrar0, bv, false, nused)), iast[adr] = indexnode (save(mkznode(rp1, zbrar1, bv, false, nused).zbranches, 0, mkznode(rp1, zbrar1, bv, false, nused).usedsize), mkznode(rp1, zbrar1, bv, false, nused).leaf, mkznode(rp1, zbrar1, bv, false, nused).usedsize), zbrar0[n] = mkzbranch(key, adr0, r2), n < BRANCH_SIZE, n < nused, adr ∈ iast, nused ≤ BRANCH_SIZE ⊦ ∃ r0. zbrar1[n] = mkzbranch(key, adr0, r0)
Used terms: mkznode(rp1, zbrar1, bv, false, nused)