| ((btree(rp, rp0, adr, height, dirty, ri0, iast, as0, alladrs0, ok) * P0))(zh), ((btree(rp, rp0, adr, height, dirty, ri1, iast, as1, alladrs1, ok) * P1))(zh), as0 ⊆ alladrs0, as0 ⊆ dom iast, as1 ⊆ alladrs1, as1 ⊆ dom iast ⊦ ri0 = ri1, rp0 = null |
((btree(rp, rp0, adr, 0, dirty, ri1, iast, as1, alladrs1, ok) * P1))(zh), ((btree(rp, rp0, adr, 0, dirty, ri0, iast, as0, alladrs0, ok) * P0))(zh), as1 ⊆ dom iast, as1 ⊆ alladrs1, as0 ⊆ dom iast, as0 ⊆ alladrs0 ⊦ ri0 = ri1, rp0 = null
((btree(rp, rp0, adr, height0 +1, dirty, ri1, iast, as1, alladrs1, ok) * P1))(zh), ((btree(rp, rp0, adr, height0 +1, dirty, ri0, iast, as0, alladrs0, ok) * P0))(zh), as1 ⊆ dom iast, as1 ⊆ alladrs1, as0 ⊆ dom iast, as0 ⊆ alladrs0, ∀ rp, rp0, adr, dirty, ri0, iast, as0, alladrs0, P0, zh, ri1, as1, alladrs1, P1. ((btree(rp, rp0, adr, height0, dirty, ri0, iast, as0, alladrs0, ok) * P0))(zh) ∧ ((btree(rp, rp0, adr, height0, dirty, ri1, iast, as1, alladrs1, ok) * P1))(zh) ∧ as0 ⊆ alladrs0 ∧ as0 ⊆ dom iast ∧ as1 ⊆ alladrs1 ∧ as1 ⊆ dom iast → ri0 = ri1 ∨ rp0 = null ⊦ ri0 = ri1, rp0 = null
Used simplifier rules: nat freely generated by 0, +1;;