| ⊦ # ((λ n. (n / VFS_PAGE_SIZE * VFS_PAGE_SIZE < m ∧ n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to m) = #((λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to m) ∧ (∀ n. n < # ( (λ n. (n / VFS_PAGE_SIZE * VFS_PAGE_SIZE < m ∧ n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to m) → ( (λ n. (n / VFS_PAGE_SIZE * VFS_PAGE_SIZE < m ∧ n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to m )[n ] = ((λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to m)[n]) |
n < m ⊦ (n / VFS_PAGE_SIZE * VFS_PAGE_SIZE < m ∧ n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE] = (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%m < n ⊦ (nf0 to n)[m] = nf0(m); (s)% ⊦ m < n → (n ≤ m ↔ false); (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ #(nf0 to n) = n; (s)