| BRANCH_SIZE = # zbrar, zbrar[n] = mkzentry(key, adr0), iast[adr] = indexnode(brar, bv1, nused), zbrar[0 + n] = mkzentry(key, adr0), indexnode(brar, bv1, nused) = save(mkznode(rp, zbrar, bv1, false, nused)), n < BRANCH_SIZE, n < nused, sorted(zbrar, 0, nused), adr ∈ iast, key ∈ payload(load(brar, 0, nused), 0, nused), nused ≤ BRANCH_SIZE, 0 + nused ≤ # zbrar, ∀ n0. n0 < n ∧ zbrar[0 + n0].entry? → zbrar[0 + n0].key ≠ key ⊦ payload(load(brar, 0, nused), 0, nused)[key] = adr0 |
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)), n < nused, n < BRANCH_SIZE, sorted(zbrar, 0, nused), key ∈ payload(load(brar, 0, nused), 0, nused), adr ∈ iast, nused ≤ BRANCH_SIZE, ∀ n0. n0 < n ∧ zbrar[n0].entry? → zbrar[n0].key ≠ key ⊦ payload(load(brar, 0, nused), 0, nused)[key] = adr0
Used simplifier rules: m0 < m, m1 < m, m ≤ # zbrar ⊦ sorted(zbrar, 0, m) ∧ zbrar[m0] = mkzentry(key, adr0) → (zbrar[m1] = mkzentry(key, adr1) ↔ m0 = m1 ∧ adr0 = adr1); (ws)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ n + 0 = n; (s)