| ⊦ (∃ height, dirty, as, alladrs. (( btree (null, null, @(n, m0, m1), height, dirty, ∅, nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)]), as, alladrs, ok) * true) )(zh) ∧ refsize-cons((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)], as) ∧ @(n, m0, m1) ∈ (∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)] ∧ alladrs ⊆ dom nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)])) ∧ (∃ height, dirty, as, alladrs. (( btree (null, null, @(n, m0, m1), height, false, ∅, nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)]), as, alladrs, ok) * true) )(zh) ∧ refsize-cons((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)], as) ∧ alladrs ⊆ dom nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)])) |
⊦ (∃ height, dirty, as, alladrs. (( btree (null, null, @(n, m0, m1), height, dirty, ∅, nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)]), as, alladrs, ok) * true) )(zh) ∧ refsize-cons((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)], as) ∧ alladrs ⊆ dom nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)])) ∧ (∃ height, as, alladrs. (( btree (null, null, @(n, m0, m1), height, false, ∅, nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)]), as, alladrs, ok) * true) )(zh) ∧ refsize-cons((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)], as) ∧ alladrs ⊆ dom nodes((∅)[n, indexblock(indexnode(mkbrarray(BRANCH_SIZE), true, 0) ', @(m0, m1) ', m1)]))
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)