| fs[ri[inodekey(ino)]] = inodenode(inodekey(ino), md, boolvar, m, m0, m1), ro.inodes?, ri-closed(ri, fs, ro), ri[inodekey(ino)] ∈ fs, inodekey(ino) ∈ ri, inodekey(ino) ∈ ri → (fs[ri[inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ro), ∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]) ⊦ (m ≠ 0 ∨ ino = ROOT_INO ⊃ (ri ⊖ ro)[inodekey(ino), adr];(boolvar ⊃ (ri ⊖ ro) -- inodekey(ino);(ri ⊖ ro) ⊖ inodekey(ino))) = ri[inodekey(ino), adr] ⊖ ro, ino = 0 |
m = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ro, fs[ri[inodekey(ino)]] = inodenode(inodekey(ino), md, boolvar, m, m0, m1), ro.inodes?, ri-closed(ri, fs, ro), ri[inodekey(ino)] ∈ fs, inodekey(ino) ∈ ri, ∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]) ⊦ (m ≠ 0 ∨ ino = ROOT_INO ⊃ (ri ⊖ ro)[inodekey(ino), adr];(boolvar ⊃ (ri ⊖ ro) -- inodekey(ino);(ri ⊖ ro) ⊖ inodekey(ino))) = ri[inodekey(ino), adr] ⊖ ro, ino = 0
Used simplifier rules: ⊦ inodenode(key, md, boolvar, m, m0, m1).nlink = m; (s)