| lpt1[bleb.leb] = mklp(m, m0, lpf, m1), lpt0[bleb.leb] = mklp(m2, m3, lpf0, m4), id-idx(lpt0, lpt1) ⊦ bleb.isbuf? → bleb.leb < # lpt1 ∧ (boolvar ∧ m0 = LEB_SIZE ∨ m0 = # avol[bleb.leb].data) ↔ bleb.isbuf? → bleb.leb < # lpt0 ∧ (boolvar ∧ m3 = LEB_SIZE ∨ m3 = # avol[bleb.leb].data) |
⊦ id-idx(lpt1, lpt0) ↔ # lpt0 = # lpt1 ∧ (∀ n. n < # lpt0 → lpt1[n].ref-size = lpt0[n].ref-size ∧ lpt1[n].size = lpt0[n].size ∧ lpt1[n].flags = lpt0[n].flags)
# lpt1 = # lpt0, lpt0[bleb.leb] = mklp(m2, m3, lpf0, m4), lpt1[bleb.leb] = mklp(m, m0, lpf, m1), ∀ n. n < # lpt1 → lpt0[n].ref-size = lpt1[n].ref-size ∧ lpt0[n].size = lpt1[n].size ∧ lpt0[n].flags = lpt1[n].flags ⊦ bleb.isbuf? → bleb.leb < # lpt1 ∧ (boolvar ∧ m0 = LEB_SIZE ∨ m0 = # avol[bleb.leb].data) ↔ bleb.isbuf? → bleb.leb < # lpt0 ∧ (boolvar ∧ m3 = LEB_SIZE ∨ m3 = # avol[bleb.leb].data)
Used terms: lpt1, lpt0