| # 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])], n0 < BRANCH_SIZE, n + m0 < BRANCH_SIZE ⊦ save(zbrar1, n, m0)[n0] = save(zbrar0, n, m0)[n0] |
⊦ brar = brar0 ↔ # brar = # brar0 ∧ (∀ n. n < # brar → brar[n] = brar0[n])
# save(zbrar0, n, m0)[n + m0, save(zbrar0[n + m0])] = # save(zbrar1, n, m0)[n + m0, save(zbrar1[n + m0])], # zbrar1 = BRANCH_SIZE, # zbrar0 = BRANCH_SIZE, n + m0 < BRANCH_SIZE, n0 < BRANCH_SIZE, ∀ n0. n0 < # save(zbrar0, n, m0)[n + m0, save(zbrar0[n + m0])] → save(zbrar0, n, m0)[n + m0, save(zbrar0[n + m0])][n0] = save(zbrar1, n, m0)[n + m0, save(zbrar1[n + m0])][n0] ⊦ save(zbrar1, n, m0)[n0] = save(zbrar0, n, m0)[n0]
Used terms: save(zbrar1, n, m0)[n + m0, save(zbrar1[n + m0])], save(zbrar0, n, m0)[n + m0, save(zbrar0[n + m0])]