| adr = adr0, istore = remove-refsize0(crash(istore0, istore1)), istore2 = istore1, ginval = ginval0, gstore = crash(gstore0, gstore1, ginval0, nx), gstore2 = gstore1, nx0 = nx, maxino = maxino0, ginval1 = ginval2, syn, btree-inv(rp, adr0, istore0, istore1, zh, ri, fi), inv-journal(nx, gstore0, gstore1, ginval0), inv-index(istore0, istore1), inv-state(pstate, nx, gstore0, istore0, syn) ⊦ ⟪btree_recover#(; maxino1, nx1, ginval3, adr1, adr, istore, istore2, ginval, gstore, gstore2, nx0, maxino, ginval1, pstate0, syn0; rp0, err)⟫ ( err = ESUCCESS → syn0 ∧ (∃ ri, fi. btree-inv(rp0, adr, istore, istore2, zh0, ri, fi)) ∧ inv-journal(nx0, gstore, gstore2, ginval) ∧ inv-index(istore, istore2) ∧ inv-state(pstate0, nx0, gstore, istore, syn0)) |