| n2 < VFS_PAGE_SIZE, n1 < VFS_PAGE_SIZE ⊦ (m0 * VFS_PAGE_SIZE < n0 * VFS_PAGE_SIZE + n1 ∧ m0 ∈ content ⊃ content[m0];zeropage)[n2] = (⌜(λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to VFS_PAGE_SIZE * n0 + VFS_PAGE_SIZE⌝ + σ⊥ )[m0 * VFS_PAGE_SIZE + n2 ], n1 = 0 |
⊦ ⌜m⌝ < # σ0 → (σ0 + σ2)[m] = σ0[m]
n1 < VFS_PAGE_SIZE, n2 < VFS_PAGE_SIZE ⊦ (m0 * VFS_PAGE_SIZE < n0 * VFS_PAGE_SIZE + n1 ∧ m0 ∈ content ⊃ content[m0];zeropage)[n2] = (⌜(λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to VFS_PAGE_SIZE * n0 + VFS_PAGE_SIZE⌝ + σ⊥ )[m0 * VFS_PAGE_SIZE + n2 ], n1 = 0, ⌜m0 * VFS_PAGE_SIZE + n2⌝ < # ⌜(λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to VFS_PAGE_SIZE * n0 + VFS_PAGE_SIZE⌝
n1 < VFS_PAGE_SIZE, n2 < VFS_PAGE_SIZE, ⌜m0 * VFS_PAGE_SIZE + n2⌝ < # ⌜(λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to VFS_PAGE_SIZE * n0 + VFS_PAGE_SIZE⌝ ⊦ (m0 * VFS_PAGE_SIZE < n0 * VFS_PAGE_SIZE + n1 ∧ m0 ∈ content ⊃ content[m0];zeropage)[n2] = ⌜(λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE];zeropage)[n % VFS_PAGE_SIZE]) to VFS_PAGE_SIZE * n0 + VFS_PAGE_SIZE⌝ [m0 * VFS_PAGE_SIZE + n2 ], n1 = 0
Used terms: m0 * VFS_PAGE_SIZE + n2, σ⊥, ⌜ (λ n. (n / VFS_PAGE_SIZE ∈ content ⊃ content[n / VFS_PAGE_SIZE] ;zeropage ) [n % VFS_PAGE_SIZE ]) to VFS_PAGE_SIZE * n0 + VFS_PAGE_SIZE ⌝