| # zbrar0 = BRANCH_SIZE, # zbrar1 = 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), n + m0 < BRANCH_SIZE ⊦ payload(zbrar0, n, m0) ⊕ (∅)[key', adr] = payload(zbrar0, n, m0), zbrar1[n + m0].entry? |
Used simplifier rules: zbranch freely generated by mkzbranch, mkzentry;;% ⊦ save(mkzentry(key, adr)) = mkentry(key, adr); (s)% ⊦ mkentry(key, adr) = mkentry(key0, adr0) ↔ key = key0 ∧ adr = adr0; (ws)% ⊦ mkzentry(key, adr).entry?; (s)% ⊦ save(mkzbranch(key, adr, r)) = mkbranch(key, adr); (s)% ⊦ mkbranch(key, adr) ≠ mkentry(key0, adr0); (s)