| fo0.inodes?, orphans(fs0, ri1).inodes?, afs-cons(abs-dirs(fs0, ri1), abs-files(fs0, ri1)), file-node-cons(fs0, ri1 ⊖ orphans(fs0, ri1)), file-node-cons(fs0, ri1), log-cons(log0, fs0), orphans-cons(fs0, ri1 ⊖ orphans(fs0, ri1), ∅), orphans-cons(fs0, ri1, orphans(fs0, ri1)), replay-safe(log0, fs0, fi0 ⊖ fo0), ri-inj(ri1 ⊖ orphans(fs0, ri1)), ri-inj(fi0), ri-inj(ri1), ubifs-cons(fs0, ri1 ⊖ orphans(fs0, ri1), ∅, fi0, fo0, log0), ubifs-cons(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0) ⊦ ( inodekey(ino) ∈ ri1 ∧ fs0[ri1[inodekey(ino)]].directory ∧ (fs0[ri1[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) ↔ inodekey(ino) ∈ ri1 ⊖ orphans(fs0, ri1) ∧ fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].directory) ∧ ( inodekey(ino) ∈ ri1 ∧ fs0[ri1[inodekey(ino)]].directory ∧ (fs0[ri1[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) → (abs-dirs(fs0, ri1) \ abs-keys(orphans(fs0, ri1)))[ino] = mkdir (fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].size, fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].meta, fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].nlink, fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].nsubdirs, abs-children(ino, fs0, ri1 ⊖ orphans(fs0, ri1)))) |
⊦ ino ∈ dirs ∧ ¬ ino ∈ ns → (dirs \ ns)[ino] = dirs[ino]
orphans(fs0, ri1).inodes?, fo0.inodes?, afs-cons(abs-dirs(fs0, ri1), abs-files(fs0, ri1)), file-node-cons(fs0, ri1), file-node-cons(fs0, ri1 ⊖ orphans(fs0, ri1)), log-cons(log0, fs0), orphans-cons(fs0, ri1, orphans(fs0, ri1)), orphans-cons(fs0, ri1 ⊖ orphans(fs0, ri1), ∅), replay-safe(log0, fs0, fi0 ⊖ fo0), ri-inj(ri1), ri-inj(fi0), ri-inj(ri1 ⊖ orphans(fs0, ri1)), ubifs-cons(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0), ubifs-cons(fs0, ri1 ⊖ orphans(fs0, ri1), ∅, fi0, fo0, log0) ⊦ ( inodekey(ino) ∈ ri1 ∧ fs0[ri1[inodekey(ino)]].directory ∧ (fs0[ri1[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) ↔ inodekey(ino) ∈ ri1 ⊖ orphans(fs0, ri1) ∧ fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].directory) ∧ ( inodekey(ino) ∈ ri1 ∧ fs0[ri1[inodekey(ino)]].directory ∧ (fs0[ri1[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) → (abs-dirs(fs0, ri1) \ abs-keys(orphans(fs0, ri1)))[ino] = mkdir (fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].size, fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].meta, fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].nlink, fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].nsubdirs, abs-children(ino, fs0, ri1 ⊖ orphans(fs0, ri1)))), ino ∈ abs-dirs(fs0, ri1) ∧ ¬ ino ∈ abs-keys(orphans(fs0, ri1))
orphans(fs0, ri1).inodes?, fo0.inodes?, afs-cons(abs-dirs(fs0, ri1), abs-files(fs0, ri1)), file-node-cons(fs0, ri1), file-node-cons(fs0, ri1 ⊖ orphans(fs0, ri1)), log-cons(log0, fs0), orphans-cons(fs0, ri1, orphans(fs0, ri1)), orphans-cons(fs0, ri1 ⊖ orphans(fs0, ri1), ∅), replay-safe(log0, fs0, fi0 ⊖ fo0), ri-inj(ri1), ri-inj(fi0), ri-inj(ri1 ⊖ orphans(fs0, ri1)), ubifs-cons(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0), ubifs-cons(fs0, ri1 ⊖ orphans(fs0, ri1), ∅, fi0, fo0, log0), ino ∈ abs-dirs(fs0, ri1) ⊦ ino ∈ abs-keys(orphans(fs0, ri1)), ( inodekey(ino) ∈ ri1 ∧ fs0[ri1[inodekey(ino)]].directory ∧ (fs0[ri1[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) ↔ inodekey(ino) ∈ ri1 ⊖ orphans(fs0, ri1) ∧ fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].directory) ∧ ( inodekey(ino) ∈ ri1 ∧ fs0[ri1[inodekey(ino)]].directory ∧ (fs0[ri1[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) → abs-dirs(fs0, ri1)[ino] = mkdir (fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].size, fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].meta, fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].nlink, fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].nsubdirs, abs-children(ino, fs0, ri1 ⊖ orphans(fs0, ri1))))
Used terms: ino, abs-keys(orphans(fs0, ri1)), abs-dirs(fs0, ri1)