| is-aligned(# buf, EB_PAGE_SIZE), is-encoded(orphans2 \ orphans, subarray(buf, 0, m0)), # buf ≤ LEB_SIZE, # orphans2 * ENCODED_NAT_SIZE ≤ LEB_SIZE, m0 + # orphans * ENCODED_NAT_SIZE ≤ # buf, m0 + # orphans * ENCODED_NAT_SIZE ≤ LEB_SIZE, orphans ⊆ orphans2 ⊦ # orphans = 0, ∀ n. n ∈ orphans ↔ n ∈ ∅, ∃ n. n ∈ orphans |
is-aligned(# buf, EB_PAGE_SIZE), is-encoded(orphans2 \ orphans, subarray(buf, 0, m0)), n ∈ orphans, n ∈ orphans2, m0 + # orphans * ENCODED_NAT_SIZE ≤ LEB_SIZE, m0 + # orphans * ENCODED_NAT_SIZE ≤ # buf, # orphans2 * ENCODED_NAT_SIZE ≤ LEB_SIZE, # buf ≤ LEB_SIZE, orphans ⊆ orphans2 ⊦ # orphans = 0, # orphans2 = 0, orphans2 = ∅, ∃ n. n ∈ orphans
Used simplifier rules: size-zero-01: ⊦ ns ≠ ∅ → # ns ≠ 0; (forward) from specification set-basic[nat-set]%ne-01: ⊦ n ∈ ns → ns ≠ ∅; (forward) from specification set-basic[nat-set]%sub-in: ⊦ n ∈ ns ∧ ns ⊆ ns0 → n ∈ ns0; (forward) from specification set-basic[nat-set]% ⊦ ¬ n ∈ ∅; (s)