| lpt.map(λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx);lp))[n] = mklp(m, m0, lpf, m1), LEB_SIZE < m0, n < # lpt, n < # lpt → lpt[n].size ≤ LEB_SIZE, ∀ n. n < # lpt → lpt[n].size ≤ LEB_SIZE ⊦ |
lpt.map(λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx);lp))[n] = mklp(m, m0, lpf, m1), lpt[n].size < m0, LEB_SIZE < m0, n < # lpt, lpt[n].size ≤ LEB_SIZE, ∀ n. n < # lpt → lpt[n].size ≤ LEB_SIZE ⊦
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat