| # 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 ] |
# buf = VFS_PAGE_SIZE, n1 < VFS_PAGE_SIZE ⊦ (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⌝ )[m0 * VFS_PAGE_SIZE + n1 ]
Used simplifier rules: lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ VFS_PAGE_SIZE ≠ 0; (s)