| tree0.dir?, dom of1 < ino, abs(tree0, ROOT_INO)(dirs0), afs-cons(dirs0, files1), afs-cons(dirs0, files1 \ orphans(dirs0, files1)), fids-cons(tree0, abs-files(files1), abs-of(of1)), of-cons(of1, dirs0, files1), of-cons(∅, dirs0, files1 \ orphans(dirs0, files1)), posix-crash(tree0, abs-files(files1), abs-of(of1), tree, fs, ofh), ∀ ino. ⌜ino⌝ ∈ tree0.fids → ino ∈ files1 ⊦ ofh = ∅ ∧ fs = abs-files(files1 \ orphans(dirs0, files1)) ∧ abs(tree, ROOT_INO)(dirs0) |
⊦ posix-crash(tree0, fs0, ofh0, tree1, fs1, ofh1) ↔ ofh1 = ∅ ∧ tree1 = tree0 ∧ (∀ fid. fid ∈ fs1 ↔ fid ∈ tree1.fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid])
ofh = ∅, tree = tree0, 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), ∀ ino. ⌜ino⌝ ∈ tree0.fids → ino ∈ files1, ∀ fid. fid ∈ fs ↔ fid ∈ tree.fids ∧ fid ∈ abs-files(files1), ∀ fid. fid ∈ fs → fs[fid] = abs-files(files1)[fid] ⊦ ofh = ∅ ∧ fs = abs-files(files1 \ orphans(dirs0, files1)) ∧ abs(tree, ROOT_INO)(dirs0)
Used terms: ofh, fs, tree, abs-of(of1), abs-files(files1), tree0