| BRANCH_SIZE = # zbrar, iast[adr] = indexnode(brar, bv1, nused), indexnode(brar, bv1, nused) = save(mkznode(rp, zbrar, bv1, false, nused)), zbrar[n].entry?, n < nused, n < BRANCH_SIZE, sorted(zbrar, 0, nused), adr ∈ iast, zbrar[n].key ∈ payload(load(brar, 0, nused), 0, nused), nused ≤ BRANCH_SIZE ⊦ payload(load(brar, 0, nused), 0, nused)[zbrar[n].key] = payload(zbrar, 0, nused)[zbrar[n].key] |
BRANCH_SIZE = # zbrar, iast[adr] = indexnode(brar, bv1, nused), zbrar[n] = mkzentry(key, adr0), indexnode(brar, bv1, nused) = save(mkznode(rp, zbrar, bv1, false, nused)), zbrar[n].entry?, n < BRANCH_SIZE, n < nused, sorted(zbrar, 0, nused), key ∈ payload(load(brar, 0, nused), 0, nused), adr ∈ iast, nused ≤ BRANCH_SIZE ⊦ payload(load(brar, 0, nused), 0, nused)[key] = payload(zbrar, 0, nused)[key]
Used simplifier rules: ⊦ zbr.entry? → (key = zbr.key ∧ adr = zbr.adr ↔ zbr = mkzentry(key, adr)); (elim) Used terms: zbrar[n], key, adr0