| # zbrar1 = BRANCH_SIZE, # zbrar0 = BRANCH_SIZE, save(zbrar0, n, m0)[n + m0, save(zbrar0[n + m0])] = save(zbrar1, n, m0 + 1), n + m0 < BRANCH_SIZE, ∀ zbrar1, zbrar0, n. # zbrar1 = BRANCH_SIZE ∧ # zbrar0 = BRANCH_SIZE ∧ save(zbrar0, n, m0) = save(zbrar1, n, m0) ∧ n + m0 ≤ BRANCH_SIZE → payload(zbrar0, n, m0) = payload(zbrar1, n, m0) ⊦ payload(zbrar0, n, m0 + 1) = payload(zbrar1, n, m0 + 1) |
⊦ save(zbrar, m, nused + 1) = save(zbrar, m, nused)[m + nused, save(zbrar[m + nused])]
# zbrar0 = BRANCH_SIZE, # zbrar1 = BRANCH_SIZE, save(zbrar0, n, m0)[n + m0, save(zbrar0[n + m0])] = save(zbrar1, n, m0)[n + m0, save(zbrar1[n + m0])], n + m0 < BRANCH_SIZE, ∀ zbrar1, zbrar0, n. # zbrar1 = BRANCH_SIZE ∧ # zbrar0 = BRANCH_SIZE ∧ save(zbrar0, n, m0) = save(zbrar1, n, m0) ∧ n + m0 ≤ BRANCH_SIZE → payload(zbrar0, n, m0) = payload(zbrar1, n, m0) ⊦ payload(zbrar0, n, m0 + 1) = payload(zbrar1, n, m0 + 1)
Used terms: m0, n, zbrar1