| files2[ino4] = mkfile(m2 * VFS_PAGE_SIZE, md, # links(ino4, dirs0), content2), afs-cons(dirs0, files2), afs-cons(dirs0, files2[ino4, mkfile(m2 * VFS_PAGE_SIZE, md, # links(ino4, dirs0), content2 upto m2 * VFS_PAGE_SIZE)]), files2 ~ files2[ino4, mkfile(m2 * VFS_PAGE_SIZE, md, # links(ino4, dirs0), content2 upto m2 * VFS_PAGE_SIZE)], ino4 ∈ files2 ⊦ (content2.stream to m2 * VFS_PAGE_SIZE) + σ⊥ from m2 * VFS_PAGE_SIZE = σ⊥ |
⊦ ¬ ⌜m⌝ < # σ1 → σ1 + σ2 from m = σ2 from (m - (# σ1).n)
Used simplifier rules: ⊦ # content.stream = ∞; (s)% ⊦ ¬ ∞ < n∞; (s)%¬ # σ0 < ⌜n⌝ ⊦ #(σ0 to n) = ⌜n⌝ ; (s)% ⊦ ⌜m⌝ .n = m; (s)% ⊦ m - m = 0; (s)% ⊦ σ⊥ from n = σ⊥; (s)% ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s)% ⊦ m0 * m < m0 * n ↔ m0 ≠ 0 ∧ m < n; (ws)% ⊦ ¬ n < n; (s)%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult%mult-c: ⊦ m * n = n * m; from specification nat-mult Used terms: m2 * VFS_PAGE_SIZE, σ⊥, content2.stream to m2 * VFS_PAGE_SIZE