| ⊦ r = null, mkznode(null, mkzbrarray(BRANCH_SIZE), true, false, 0).dirty, @(n, m0, m1) ∈ nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)]) ∧ nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)])[@(n, m0, m1)] = save(mkznode(null, mkzbrarray(BRANCH_SIZE), true, false, 0)) |
⊦ nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)])[@(n, m0, m1)] = save(mkznode(null, mkzbrarray(BRANCH_SIZE), true, false, 0)), r = null
Used simplifier rules: in-17: ⊦ ladr ∈ ladr0 ' ↔ ladr = ladr0; from specification list[laddress-list]% ⊦ indexblock(indlist, lax, m).ladrlist = lax; (s)% ⊦ @(n, n0, n1) ∈ istore[n, iblock] ↔ @(n0, n1) ∈ iblock.ladrlist; (s)% ⊦ adr ∈ nodes(istore) ↔ adr ∈ istore; (s)% ⊦ mkznode(r, zbrar, boolvar, boolvar0, m).dirty ↔ boolvar0; (s)