| # buf0 = n4 + n0 + n1, # σ = ∞, ((m0 =>mkfile(n2, md, m1, σ) * F))(files), afs-cons(dirs, files), m0 ∈ files, n0 + n1 ≤ # buf0, m + n1 ≤ # buf1, n0 + n1 ≤ VFS_PAGE_SIZE ⊦ (σ to n3 * VFS_PAGE_SIZE) + ((σ from n3 * VFS_PAGE_SIZE) to VFS_PAGE_SIZE to n0) + ((⌜buf1⌝ from m) to n1) + (((σ from n3 * VFS_PAGE_SIZE) to VFS_PAGE_SIZE) from n0 + n1) + (σ from VFS_PAGE_SIZE * n3 + VFS_PAGE_SIZE) = (σ to n3 * VFS_PAGE_SIZE + n0) + ((⌜buf1⌝ from m) to n1) + (σ from n3 * VFS_PAGE_SIZE + n0 + n1) |
¬ # σ0 < ⌜n⌝ ⊦ m ≤ n → σ0 to n to m = σ0 to m
# σ = ∞, # buf0 = n4 + n0 + n1, ((m0 =>mkfile(n2, md, m1, σ) * F))(files), afs-cons(dirs, files), m0 ∈ files, n0 + n1 ≤ VFS_PAGE_SIZE, m + n1 ≤ # buf1, n0 + n1 ≤ # buf0, n0 ≤ VFS_PAGE_SIZE ⊦ (σ to n3 * VFS_PAGE_SIZE) + ((σ from n3 * VFS_PAGE_SIZE) to n0) + ((⌜buf1⌝ from m) to n1) + (((σ from n3 * VFS_PAGE_SIZE) to VFS_PAGE_SIZE) from n0 + n1) + (σ from VFS_PAGE_SIZE * n3 + VFS_PAGE_SIZE) = (σ to n3 * VFS_PAGE_SIZE + n0) + ((⌜buf1⌝ from m) to n1) + (σ from n3 * VFS_PAGE_SIZE + n0 + n1), #(σ from n3 * VFS_PAGE_SIZE) < ⌜VFS_PAGE_SIZE⌝
Used simplifier rules: ⊦ # σ0 = ∞ → #(σ0 from n) = ∞; (s)% ⊦ ¬ ∞ < n∞; (s)% ⊦ m ≤ n ↔ ¬ n < m; (ss)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat% ⊦ m < n → n ≠ 0; (s)% ⊦ ¬ m + n < m; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used terms: n0, VFS_PAGE_SIZE, σ from n3 * VFS_PAGE_SIZE