| n ≤ # lpt, ∀ n. n < # lpt ∧ lpt[n].flags = LP_FREE → lpt[n].ref-size = 0 ⊦ ∀ n0. n0 < # lpt ∧ replay-lpt(lpt, nx, n)[n0].flags = LP_FREE → replay-lpt(lpt, nx, n)[n0].ref-size = 0 |
replay-lpt(lpt, nx, n)[n0].flags = LP_FREE, n0 < # lpt, n ≤ # lpt, ∀ n. n < # lpt ∧ lpt[n].flags = LP_FREE → lpt[n].ref-size = 0 ⊦ replay-lpt(lpt, nx, n)[n0].ref-size = 0
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic