| ∀ ino. ino ∈ abs-keys(orphans(fs0, ri0)) ↔ ino ∈ abs-keys(orphans(fs, ri)) ⊦ inodekey(m) ∈ ri0 ∧ fs0[ri0[inodekey(m)]].nlink = 0 ↔ inodekey(m) ∈ ri ∧ fs[ri[inodekey(m)]].nlink = 0, m = ROOT_INO |
∀ ino. ino ≠ ROOT_INO → (inodekey(ino) ∈ ri0 ∧ fs0[ri0[inodekey(ino)]].nlink = 0 ↔ inodekey(ino) ∈ ri ∧ fs[ri[inodekey(ino)]].nlink = 0) ⊦ inodekey(m) ∈ ri0 ∧ fs0[ri0[inodekey(m)]].nlink = 0 ↔ inodekey(m) ∈ ri ∧ fs[ri[inodekey(m)]].nlink = 0, m = ROOT_INO
Used simplifier rules: abs-keys: ⊦ n ∈ abs-keys(ks) ↔ inodekey(n) ∈ ks;% ⊦ inodekey(m).ino = m; (s)% ⊦ inodekey(m).inode?; (s)%⊦ key ∈ orphans(fs, ri) ↔ key.inode? ∧ key ∈ ri ∧ fs[ri[key]].nlink = 0 ∧ key.ino ≠ ROOT_INO; (s)