| ((btree(null, null, adr, height0, false, fi, nodes(istore0), alladrs0, alladrs0, ok) * true))(zh0), ((btree(null, rp, adr, height, dirty, ri, nodes(istore), as, alladrs, ok) * true))(zh0), inv(istore), refsize-cons(istore[n, indexblock(indx, lax, 0)], as), refsize-cons(istore0, alladrs0), refsize-cons(istore, as), adr ∈ istore, as ⊆ alladrs, as ⊆ dom nodes(istore), alladrs0 ⊆ dom nodes(istore), alladrs ⊆ dom nodes(istore), alladrs0 ⊆ dom nodes(istore0) ⊦ ((btree(null, rp, adr, height, dirty, ri, nodes(istore[n, indexblock(indx, lax, 0)]), as, alladrs, ok) * true))(zh0), n ∈ istore, nodes(istore) | as ⊆ nodes(istore[n, indexblock(indx, lax, 0)]) |
⊦ iast ⊆ iast0 ↔ (∀ adr. adr ∈ iast → adr ∈ iast0 ∧ iast[adr] = iast0[adr])
((btree(null, rp, adr, height, dirty, ri, nodes(istore), as, alladrs, ok) * true))(zh0), ((btree(null, null, adr, height0, false, fi, nodes(istore0), alladrs0, alladrs0, ok) * true))(zh0), inv(istore), refsize-cons(istore, as), refsize-cons(istore0, alladrs0), refsize-cons(istore[n, indexblock(indx, lax, 0)], as), adr ∈ istore, alladrs0 ⊆ dom nodes(istore0), alladrs ⊆ dom nodes(istore), alladrs0 ⊆ dom nodes(istore), as ⊆ dom nodes(istore), as ⊆ alladrs ⊦ ((btree(null, rp, adr, height, dirty, ri, nodes(istore[n, indexblock(indx, lax, 0)]), as, alladrs, ok) * true))(zh0), n ∈ istore, ∀ adr. adr ∈ nodes(istore) | as → adr ∈ nodes(istore[n, indexblock(indx, lax, 0)]) ∧ (nodes(istore) | as)[adr] = nodes(istore[n, indexblock(indx, lax, 0)])[adr]
Used terms: nodes(istore[n, indexblock(indx, lax, 0)]), nodes(istore) | as