| files1 -- ino = files0 -- ino, files1[ino] = mkfile(m1, md1, # links(ino, dirs), content1), files0[ino] = mkfile(m1, md1, n2, content0), content0.stream from m1 = σ⊥, n3 < n0 + n, m1 < # buf + n0, n3 < # buf + n0, m1 < n1, n3 < n1, n3 < n0, m1 < n0 + n, m1 < n0, afs-cons(dirs, files1), ino ∈ files0, ino ∈ files1, m1 ≤ n3, n0 + n ≤ n1, n1 ≤ # buf + n0, n ≤ # buf ⊦ n = 0, zero = getbyte(n3, content0) |
⊦ σ = σ2 ↔ # σ = # σ2 ∧ (∀ n. ⌜n⌝ < # σ → σ[n] = σ2[n])
#(content0.stream from m1) = # σ⊥, files1 -- ino = files0 -- ino, files0[ino] = mkfile(m1, md1, n2, content0), files1[ino] = mkfile(m1, md1, # links(ino, dirs), content1), m1 < n0, m1 < n0 + n, n3 < n0, n3 < n1, m1 < n1, n3 < # buf + n0, m1 < # buf + n0, n3 < n0 + n, afs-cons(dirs, files1), ino ∈ files1, ino ∈ files0, n ≤ # buf, n1 ≤ # buf + n0, n0 + n ≤ n1, m1 ≤ n3, ∀ n. ⌜n⌝ < #(content0.stream from m1) → (content0.stream from m1)[n] = (σ⊥)[n] ⊦ n = 0, zero = getbyte(n3, content0)
Used terms: σ⊥, content0.stream from m1