| lpt[n0] = mklp(m, m0, lpf, m1), n0 < # lpt, ∀ lpt, nx. n0 ≤ # lpt → # replay-lpt(lpt, nx, n0) = # lpt ⊦ # (lpf = LP_FREE ∨ n0 ∈ nx ⊃ replay-lpt(lpt, nx, n0) ;(lpf = LP_INDEX_NODES ∧ m ≠ 0 ⊃ replay-lpt(lpt, nx, n0)[n0, lpt[n0].size:= LEB_SIZE] ;(m = 0 ⊃ replay-lpt(lpt, nx, n0)[n0, mklp(0, 0, LP_FREE, m1)];replay-lpt(lpt, nx, n0)) ) ) = # lpt |
lpt[n0] = mklp(m, m0, lpf, m1), n0 < # lpt, ∀ lpt, nx. n0 ≤ # lpt → # replay-lpt(lpt, nx, n0) = # lpt ⊦ # (lpf = LP_FREE ∨ n0 ∈ nx ⊃ replay-lpt(lpt, nx, n0) ;(lpf = LP_INDEX_NODES ∧ m ≠ 0 ⊃ replay-lpt(lpt, nx, n0)[n0, mklp(m, LEB_SIZE, LP_INDEX_NODES, m1)] ;(m = 0 ⊃ replay-lpt(lpt, nx, n0)[n0, mklp(0, 0, LP_FREE, m1)];replay-lpt(lpt, nx, n0)) ) ) = # lpt
Used simplifier rules: ⊦ mklp(m, m0, lpf, m1).size:= m3 = mklp(m, m3, lpf, m1); (s)