| files1[ino0] = mkfile(m, md, # links(ino0, dirs0), content), fs[⌜ino0⌝ ] = mkfile(md, (content.stream to m).buf), tree0.dir?, dom of1 < ino, abs(tree0, ROOT_INO)(dirs0), afs-cons(dirs0, files1 \ orphans(dirs0, files1)), afs-cons(dirs0, files1), fids-cons(tree0, abs-files(files1), abs-of(of1)), of-cons(∅, dirs0, files1 \ orphans(dirs0, files1)), of-cons(of1, dirs0, files1), ino0 ∈ orphans(dirs0, files1), ino0 ∈ files1, ⌜ino0⌝ ∈ fs, ∀ ino. ⌜ino⌝ ∈ tree0.fids → ino ∈ files1 ⊦ # links(ino0, dirs0) = 0, # orphans(dirs0, files1) = 0, links(ino0, dirs0) = ∅, mkfile(md, (content.stream to m).buf) = abs-files(files1 \ orphans(dirs0, files1))[⌜ino0⌝ ], orphans(dirs0, files1) = ∅ |
⊦ ino ∈ orphans(dirs, files) ↔ valid-ino(ino, dirs, files) ∧ links(ino, dirs) = ∅ ∧ ino ≠ ROOT_INO
Used terms: files1, dirs0, ino0