| VFS_PAGE_SIZE = n2 + n0, files2[ino4] = mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content0), n0 < VFS_PAGE_SIZE, afs-cons(dirs0, files2), afs-cons (dirs0, files2 [ino4, mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content0[m2, fill(content0[m2], zero, n0, n2)] upto (m2 * VFS_PAGE_SIZE + n0)) ]), files2 ~ files2 [ino4, mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content0[m2, fill(content0[m2], zero, n0, n2)] upto (m2 * VFS_PAGE_SIZE + n0)) ], ino4 ∈ files2, m2 ∈ content0 ⊦ ((((content0.stream from m2 * VFS_PAGE_SIZE) to n0) + (σ⊥ to n2) + (content0.stream from VFS_PAGE_SIZE * m2 + VFS_PAGE_SIZE) from n0) to n2) + σ⊥ = σ⊥, n0 = 0, n2 = 0 |
⊦ ¬ ⌜m⌝ < # σ1 → σ1 + σ2 from m = σ2 from (m - (# σ1).n)
VFS_PAGE_SIZE = n2 + n0, files2[ino4] = mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content0), n0 < VFS_PAGE_SIZE, afs-cons (dirs0, files2 [ino4, mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content0[m2, fill(content0[m2], zero, n0, n2)] upto (m2 * VFS_PAGE_SIZE + n0)) ]), afs-cons(dirs0, files2), files2 ~ files2 [ino4, mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content0[m2, fill(content0[m2], zero, n0, n2)] upto (m2 * VFS_PAGE_SIZE + n0)) ], m2 ∈ content0, ino4 ∈ files2 ⊦ ( ( (σ⊥ to n2) + (content0.stream from VFS_PAGE_SIZE * m2 + VFS_PAGE_SIZE) from (n0 - (#((content0.stream from m2 * VFS_PAGE_SIZE) to n0)).n)) to n2) + σ⊥ = σ⊥, n0 = 0, n2 = 0, ⌜n0⌝ < #((content0.stream from m2 * VFS_PAGE_SIZE) to n0)
Used simplifier rules: ⊦ #(content.stream from n) = ∞; (s)% ⊦ ¬ ∞ < n∞; (s)%¬ # σ0 < ⌜n⌝ ⊦ #(σ0 to n) = ⌜n⌝ ; (s)% ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s)% ⊦ ¬ n < n; (s) Used terms: n0, (σ⊥ to n2) + (content0.stream from VFS_PAGE_SIZE * m2 + VFS_PAGE_SIZE), (content0.stream from m2 * VFS_PAGE_SIZE) to n0