| # zbrar1 = BRANCH_SIZE, # zbrar0 = BRANCH_SIZE, save(zbrar0, n, m) = save(zbrar1, n, m), n + m ≤ BRANCH_SIZE ⊦ payload(zbrar0, n, m) = payload(zbrar1, n, m) |
# zbrar0 = BRANCH_SIZE, # zbrar1 = BRANCH_SIZE, save(zbrar0, n, m0 +1) = save(zbrar1, n, m0 +1), n + m0 +1 ≤ 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 simplifier rules: payload-base: ⊦ payload(zbrar, m, 0) = ∅;%nat freely generated by 0, +1;;% ⊦ save(zbrar, m, 0) = mkbrarray(BRANCH_SIZE); (s)