| # buf = VFS_PAGE_SIZE ⊦ (n0 / VFS_PAGE_SIZE = n ∨ n0 / VFS_PAGE_SIZE ∈ content ⊃ content[n, buf][n0 / VFS_PAGE_SIZE];zeropage)[n0 % VFS_PAGE_SIZE] = ( ⌜(λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to n * VFS_PAGE_SIZE⌝ + ⌜buf⌝ + ⌜(λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) from VFS_PAGE_SIZE * n + VFS_PAGE_SIZE⌝ )[n0 ] |
# buf = VFS_PAGE_SIZE, n0 = m0 * VFS_PAGE_SIZE + n1, n1 < VFS_PAGE_SIZE ⊦ VFS_PAGE_SIZE = 0, (m0 = n ∨ m0 ∈ content ⊃ content[n, buf][m0];zeropage)[n1] = ( ⌜(λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to n * VFS_PAGE_SIZE⌝ + ⌜buf⌝ + ⌜(λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) from VFS_PAGE_SIZE * n + VFS_PAGE_SIZE⌝ )[n0 ]
Used simplifier rules: ⊦ VFS_PAGE_SIZE ≠ 0; (s)%n ≠ 0 ⊦ m0 = m / n ∧ n0 = m % n ↔ m = m0 * n + n0 ∧ n0 < n; (elim) Used terms: n0, VFS_PAGE_SIZE, m, n1