| # lpt = # avol1, # avol0 = # avol1, lpt[n] = mklp(m, m0, lpf, m1), lpt[n0] = mklp(m2, m3, lpf0, m4), n0 < # avol1, n < # avol1, ∀ n. n < # avol1 ∧ (n ∈ nx ∨ lpt[n].ref-size ≠ 0 ∨ lpt[n].flags = LP_FREE) → avol0[n] = avol1[n], n0 ∈ nx ∨ m2 ≠ 0 ∨ lpf0 = LP_FREE, aleb = avol0[n] ∨ ¬ n ∈ nx ∧ m = 0 ∧ lpf ≠ LP_FREE ⊦ avol0[n0] = avol1[n, aleb][n0] |
# avol0 = # avol1, # lpt = # avol1, lpt[n0] = mklp(m2, m3, lpf0, m4), lpt[n] = mklp(m, m0, lpf, m1), n < # avol1, n0 < # avol1, ∀ n. n < # avol1 ∧ (n ∈ nx ∨ lpt[n].ref-size ≠ 0 ∨ lpt[n].flags = LP_FREE) → avol0[n] = avol1[n], aleb = avol0[n] ∨ ¬ n ∈ nx ∧ m = 0 ∧ lpf ≠ LP_FREE, n0 ∈ nx ∨ m2 ≠ 0 ∨ lpf0 = LP_FREE ⊦ avol0[n0] = avol1[n, aleb][n0], n0 = n
Used simplifier rules: ⊦ m < # avol → avol[m, aleb][m] = aleb; (s)%⊦ mklp(m, m0, lpf, m1) = mklp(m2, m3, lpf0, m4) ↔ m = m2 ∧ m0 = m3 ∧ lpf = lpf0 ∧ m1 = m4; (ws) Used formulas: n0 = n