| iast[adr] = indexnode(brar, boolvar, nused), indexnode(brar, boolvar, nused) = indexnode (save(mkznode(rp0, zbrar, boolvar, false, nused).zbranches, 0, mkznode(rp0, zbrar, boolvar, false, nused).usedsize), mkznode(rp0, zbrar, boolvar, false, nused).leaf, mkznode(rp0, zbrar, boolvar, false, nused).usedsize), adr ∈ iast, nused ≤ BRANCH_SIZE ⊦ indexnode(brar, boolvar, nused) = indexnode(save(load(brar, 0, nused), 0, nused), boolvar, nused) |
iast[adr] = indexnode(save(zbrar, 0, nused), boolvar, nused), adr ∈ iast, nused ≤ BRANCH_SIZE ⊦ indexnode(save(zbrar, 0, nused), boolvar, nused) = indexnode(save(load(save(zbrar, 0, nused), 0, nused), 0, nused), boolvar, nused)
Used simplifier rules: ⊦ indexnode(brar, boolvar, m) = indexnode(brar0, boolvar0, m0) ↔ brar = brar0 ∧ (boolvar ↔ boolvar0) ∧ m = m0; (ws)% ⊦ mkznode(r, zbrar, boolvar, boolvar0, m).leaf ↔ boolvar; (s)% ⊦ mkznode(r, zbrar, boolvar, boolvar0, m).usedsize = m; (s)% ⊦ mkznode(r, zbrar, boolvar, boolvar0, m).zbranches = zbrar; (s)