| files[ino] = mkfile(m, md, n0, content), files[ino0] = mkfile(m0, md0, m1, content0), ino ∈ files, ino0 ∈ files ⊦ mkfile ((ino0 = ino ⊃ mkfile(m, md, n1, content);mkfile(m0, md0, m1, content0)).meta, ( (ino0 = ino ⊃ mkfile(m, md, n1, content);mkfile(m0, md0, m1, content0)).content.stream to (ino0 = ino ⊃ mkfile(m, md, n1, content);mkfile(m0, md0, m1, content0)).size ).buf) = mkfile(md0, (content0.stream to m0).buf) |
(ino0 = ino ⊃ mkfile(m, md, n1, content);mkfile(m0, md0, m1, content0)) = mkfile(m2, md1, m3, content1), files[ino0] = mkfile(m0, md0, m1, content0), files[ino] = mkfile(m, md, n0, content), ino0 ∈ files, ino ∈ files ⊦ mkfile(md1, (content1.stream to m2).buf) = mkfile(md0, (content0.stream to m0).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, n1, content) ;mkfile(m0, md0, m1, content0) ), m2, md1, m3, content1