| lpt[n0] = mklp(m3, m4, lpf0, m5), n0 < # lpt ⊦ (lpf0 = LP_INDEX_NODES ∧ m3 ≠ 0 ⊃ replay-lpt(lpt, nx, n0)[n0, mklp(m3, LEB_SIZE, LP_INDEX_NODES, m5)] ;(m3 = 0 ⊃ replay-lpt(lpt, nx, n0)[n0, mklp(0, 0, LP_FREE, m5)];replay-lpt(lpt, nx, n0)) ) [n0 ] = (lpf0 = LP_INDEX_NODES ∧ m3 ≠ 0 ⊃ mklp(m3, LEB_SIZE, LP_INDEX_NODES, m5);(m3 = 0 ⊃ mklp(0, 0, LP_FREE, m5);mklp(m3, m4, lpf0, m5))), lpf0 = LP_FREE, n0 ∈ nx |
lpt[n0] = mklp(m3, m4, lpf0, m5), n0 < # lpt, lpf0 ≠ LP_INDEX_NODES ∨ m3 = 0 ⊦ (m3 = 0 ⊃ replay-lpt(lpt, nx, n0)[n0, mklp(0, 0, LP_FREE, m5)];replay-lpt(lpt, nx, n0))[n0] = (lpf0 = LP_INDEX_NODES ∧ m3 ≠ 0 ⊃ mklp(m3, LEB_SIZE, LP_INDEX_NODES, m5);(m3 = 0 ⊃ mklp(0, 0, LP_FREE, m5);mklp(m3, m4, lpf0, m5))), lpf0 = LP_FREE, n0 ∈ nx
Used simplifier rules: replay-lpt-size: n ≤ # lpt ⊦ # replay-lpt(lpt, nx, n) = # lpt;% ⊦ LP_FREE ≠ LP_INDEX_NODES; (s)% ⊦ m < n → m ≤ n; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m < n → (n ≤ m ↔ false); (s)%m < # lpt ⊦ lpt[m, lp][m] = lp; (s)