| fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].nlink = 0, fo0.inodes?, orphans(fs0, ri1).inodes?, afs-cons(abs-dirs(fs0, ri1) \ abs-keys(orphans(fs0, ri1)), abs-files(fs0, ri1) \ abs-keys(orphans(fs0, ri1))), 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)), replay-cons-strong(fs0, ri1 ⊖ orphans(fs0, ri1), ∅, fi0, fo0, log0), 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, ∀ ino. inodekey(ino) ∈ ri1 ⊖ orphans(fs0, ri1) → (fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ∅) ⊦ # abs-keys(orphans(fs0, ri1 ⊖ orphans(fs0, ri1))) = 0, fs0[ri1[inodekey(ino)]].nlink = 0, ino = ROOT_INO |
fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino)]].nlink = 0, orphans(fs0, ri1).inodes?, fo0.inodes?, afs-cons(abs-dirs(fs0, ri1), abs-files(fs0, ri1)), afs-cons(abs-dirs(fs0, ri1) \ abs-keys(orphans(fs0, ri1)), abs-files(fs0, ri1) \ abs-keys(orphans(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)), replay-cons-strong(fs0, ri1 ⊖ orphans(fs0, ri1), ∅, fi0, fo0, log0), 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, ∀ ino0. inodekey(ino0) ∈ ri1 ⊖ orphans(fs0, ri1) → fs0[(ri1 ⊖ orphans(fs0, ri1))[inodekey(ino0)]].nlink ≠ 0 ∨ ino0 = ROOT_INO ⊦ # abs-keys(orphans(fs0, ri1 ⊖ orphans(fs0, ri1))) = 0, fs0[ri1[inodekey(ino)]].nlink = 0, ino = ROOT_INO
Used simplifier rules: ⊦ ¬ key ∈ ∅; (s)