| ino0 ∈ files, ino ∈ files, ⌜ino0⌝ ∈ abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)] ⊦ abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)][⌜ino0⌝ ] = mkfile ((ino0 = ino ⊃ mkfile(m, md, m0, content);files[ino0]).meta, ((ino0 = ino ⊃ mkfile(m, md, m0, content);files[ino0]).content.stream to (ino0 = ino ⊃ mkfile(m, md, m0, content);files[ino0]).size).buf) |
(ino0 = ino ⊃ mkfile(m, md, m0, content);files[ino0]) = mkfile(m1, md0, m2, content0), ⌜ino0⌝ ∈ abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)], ino ∈ files, ino0 ∈ files ⊦ abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)][⌜ino0⌝ ] = mkfile(md0, (content0.stream to m1).buf)
Used simplifier rules: ⊦ ((m = af.size ∧ md = af.meta) ∧ m0 = af.nlink) ∧ content = af.content ↔ af = mkfile(m, md, m0, content); (elim) Used terms: (ino0 = ino ⊃ mkfile(m, md, m0, content);files[ino0]), m1, md0, m2, content0