| # lpt = # lpt4, # avol1 = # lpt4, isbuf ↔ boolvar, avol0 = avol1, bleb = nobuffer, keyset(gch) = gc-heap(cleanup-lpt(lpt4, n), []), keyset(gch0) = gc-heap(lpt4, []), lpt = lpt3, lpt0 = lpt1, lpt2 = lpt4, m = m0, n = n0, n1 = 0, n < # lpt, avol-cleanup-lpt-unchanged(avol1, avol, lpt4), awbuf-inv(avol, bleb), awbuf-inv(avol1, nobuffer), bin-heap-inv(gch, lpt), bin-heap-inv(gch0, lpt4), freelist-cons(lpt, freelist), freelist-cons(lpt4, freelist0), id-idx(cleanup-lpt(lpt4, n), lpt), synced(avol), synced(avol1), n ≤ # lpt ⊦ n < # lpt ∧ (lpt[n].ref-size = 0 → n < # lpt) |
Used simplifier rules: ⊦ id-idx(lpt0, lpt1) → (freelist-cons(lpt1, freelist) ↔ freelist-cons(lpt0, freelist)); (s)% ⊦ m < n → m ≤ n; (s)