| n0 < n + m * VFS_PAGE_SIZE, n < VFS_PAGE_SIZE ⊦ zero = (⌜(λ n0. (n0 / VFS_PAGE_SIZE ∈ content ⊃ content[n0 / VFS_PAGE_SIZE];zeropage)[n0 % VFS_PAGE_SIZE]) to m * VFS_PAGE_SIZE⌝ + (σ⊥ to n))[n0], n0 / VFS_PAGE_SIZE ∈ content, m ∈ content |
⊦ ⌜m⌝ < # σ0 → (σ0 + σ2)[m] = σ0[m]
Used simplifier rules: zerostream-size: ⊦ # σ⊥ = ∞;%zeropage-mod-pagesize: ⊦ (zeropage)[n % VFS_PAGE_SIZE] = zero;% ⊦ ⌜dx⌝ [n] = dx[n]; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ # ⌜nf0 to n⌝ = ⌜n⌝ ; (s)% ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s)% ⊦ m ≤ n → (n < m ↔ false); (s)%m < n ⊦ (nf0 to n)[m] = nf0(m); (s)% ⊦ ¬ ⌜m⌝ < # σ0 → (σ0 + σ2)[m] = σ2[m - (# σ0).n]; (s)% ⊦ ⌜m⌝ .n = m; (s)% ⊦ m ≤ n ↔ ¬ n < m; (ss)% ⊦ ¬ ∞ < n∞; (s)% ⊦ m < n → (n ≤ m ↔ false); (s)%n0 ≤ n ⊦ n - n0 < m ↔ n < m + n0; (s)%m < n, ¬ # σ0 < ⌜n⌝ ⊦ (σ0 to n)[m] = σ0[m]; (s)% ⊦ (σ⊥)[n] = zero; (s)%append-assoc: ⊦ (σ0 + σ3) + σ4 = σ0 + σ3 + σ4; from specification stream[buffer-inf] Used terms: n0, σ⊥ to n, ⌜ (λ n0. (n0 / VFS_PAGE_SIZE ∈ content ⊃ content[n0 / VFS_PAGE_SIZE] ;zeropage ) [n0 % VFS_PAGE_SIZE ]) to m * VFS_PAGE_SIZE ⌝