| ⊦ ¬ adr1 ∈ iast ∧ ¬ adr1 ∈ alladrs ∧ r ∈ zh ∧ zh[r] = mkznode(r0, zbrar, boolvar, true, m0) ∧ ((btree(rp, r, adr0, height, dirty, ri, iast, as, alladrs, nstat) * P))(zh) ∧ btree-sub-clean(r, m0, zh) → ((btree(rp, r, adr1, height, false, ri, iast[adr1, save(mkznode(r0, zbrar, boolvar, true, m0))], as ++ adr1, (alladrs -- adr0) ++ adr1, nstat) * P) )(zh[r, mkznode(r0, zbrar, boolvar, false, m0)]) |
zh[r] = mkznode(r0, zbrar, boolvar, true, m0), ((btree(rp, r, adr0, height, dirty, ri, iast, as, alladrs, nstat) * P))(zh), btree-sub-clean(r, m0, zh), r ∈ zh ⊦ ((btree(rp, r, adr1, height, false, ri, iast[adr1, save(mkznode(r0, zbrar, boolvar, true, m0))], as ++ adr1, (alladrs -- adr0) ++ adr1, nstat) * P) )(zh[r, mkznode(r0, zbrar, boolvar, false, m0)]), adr1 ∈ alladrs, adr1 ∈ iast