| # 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 ⊦ # save(zbrar1, n, m0) = # save(zbrar0, n, m0) ∧ (∀ n0. n0 < # save(zbrar1, n, m0) → save(zbrar1, n, m0)[n0] = save(zbrar0, n, m0)[n0]) |
# 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]
Used simplifier rules: lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic1% ⊦ # save(zbrar, m, nused) = BRANCH_SIZE; (s)