| # zbrar1 = BRANCH_SIZE, # zbrar0 = BRANCH_SIZE, mkentry(key', adr) = save(zbrar1[n + m0]), mkzentry(key', adr) = zbrar0[n + m0], payload(zbrar1, n, m0) = payload(zbrar0, n, m0), save(zbrar1, n, m0) = save(zbrar0, n, m0), zbrar1[n + m0].entry?, n + m0 < BRANCH_SIZE ⊦ payload(zbrar0, n, m0) ⊕ (∅)[key', adr] = payload(zbrar0, n, m0) ⊕ (∅)[zbrar1[n + m0].key, zbrar1[n + m0].adr] |
Used simplifier rules: ⊦ save(mkzentry(key, adr)) = mkentry(key, adr); (s)% ⊦ mkentry(key, adr) = mkentry(key0, adr0) ↔ key = key0 ∧ adr = adr0; (ws)%⊦ zbr.entry? → (key = zbr.key ∧ adr = zbr.adr ↔ zbr = mkzentry(key, adr)); (elim) Used terms: zbrar1[n + m0], key, adr0