| of[n] = mkfile(m0, mode0, m1), files[ino0] = mkfile(m, md, # links(ino0, dirs), content), of[ino1, mkfile(ino0, mode, 0)][n] = mkfile(m2, mode1, m3), dom of < ino1, afs-cons(dirs, files), ispath(p, ROOT_INO, ino0, dirs, files), of-cons(of, dirs, files), px-parent(user, p, ROOT_INO, dirs, files), ino0 ∈ files, m0 ∈ files, n ∈ of, n ∈ of[ino1, mkfile(ino0, mode, 0)] ⊦ ino0 ∈ dirs, m2 ∈ files, (mode = MODE_R ∨ mode = MODE_RW) ∧ ¬ pr(user, md), (mode = MODE_W ∨ mode = MODE_RW) ∧ ¬ pw(user, md) |
Used simplifier rules: ⊦ fd ≠ fd0 → of[fd0, file][fd] = of[fd]; (s)% ⊦ fd ≠ fd0 → (fd ∈ of[fd0, file] ↔ fd ∈ of); (s)%⊦ of-cons(of, dirs, files) ∧ fd ∈ of ∧ of[fd] = mkfile(ino, mode, n) → ino ∈ files; (ss)% ⊦ of[fd, file][fd] = file; (s)%⊦ mkfile(m, mode, m0) = mkfile(m1, mode0, m2) ↔ m = m1 ∧ mode = mode0 ∧ m0 = m2; (ws) Used formulas: n = ino1