| ((btree(rp, rp0, adr, height, dirty, ri, iast0, as, alladrs, nstat) * P))(zh), iast0 | as ⊆ iast1, as ⊆ dom iast0, as ⊆ alladrs ⊦ ((btree(rp, rp0, adr, height, dirty, ri, iast1, as, alladrs, nstat) * P))(zh) |
((btree(rp, rp0, adr, 0, dirty, ri, iast0, as, alladrs, nstat) * P))(zh), as ⊆ alladrs, as ⊆ dom iast0, iast0 | as ⊆ iast1 ⊦ ((btree(rp, rp0, adr, 0, dirty, ri, iast1, as, alladrs, nstat) * P))(zh)
((btree(rp, rp0, adr, height0 +1, dirty, ri, iast0, as, alladrs, nstat) * P))(zh), as ⊆ alladrs, as ⊆ dom iast0, iast0 | as ⊆ iast1, ∀ rp, rp0, adr, dirty, ri, iast0, as, alladrs, nstat, P, zh, iast1. ((btree(rp, rp0, adr, height0, dirty, ri, iast0, as, alladrs, nstat) * P))(zh) ∧ iast0 | as ⊆ iast1 ∧ as ⊆ dom iast0 ∧ as ⊆ alladrs → ((btree(rp, rp0, adr, height0, dirty, ri, iast1, as, alladrs, nstat) * P))(zh) ⊦ ((btree(rp, rp0, adr, height0 +1, dirty, ri, iast1, as, alladrs, nstat) * P))(zh)
Used simplifier rules: nat freely generated by 0, +1;;