| ⊦ (inodekey(ino) ∈ ri \ datakeys(key, ri) ∧ fs[(∅)[inodekey(ino)]].directory → inodekey(ino) ∈ ri) ∧ ( inodekey(ino) ∈ ri ∧ fs[ri[inodekey(ino)]].directory → mkdir (fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, fs[ri[inodekey(ino)]].nsubdirs, abs-children(ino, fs, ri)) = mkdir (fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, fs[ri[inodekey(ino)]].nsubdirs, abs-children(ino, fs, ri \ datakeys(key, ri)))) |
⊦ inodekey(ino) ∈ datakeys(key, ri), (inodekey(ino) ∈ ri \ datakeys(key, ri) ∧ fs[(∅)[inodekey(ino)]].directory → inodekey(ino) ∈ ri) ∧ ( inodekey(ino) ∈ ri ∧ fs[ri[inodekey(ino)]].directory → mkdir (fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, fs[ri[inodekey(ino)]].nsubdirs, abs-children(ino, fs, ri)) = mkdir (fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, fs[ri[inodekey(ino)]].nsubdirs, abs-children(ino, fs, ri \ datakeys(key, ri))))
Used simplifier rules: ⊦ key ∈ datakeys(key0, ri) ↔ key ∈ ri ∧ key.data? ∧ key0.inode? ∧ key.ino = key0.ino; (s)% ⊦ ¬ inodekey(m).data?; (s) Used formulas: inodekey(ino) ∈ datakeys(key, ri)