| files[ROOT_INO] = mkfile(m1, md, m2, content), of[fd] = mkfile(ROOT_INO, mode, m0), dom of < ino0, afs-cons(dirs, files), of-cons(of, dirs, files), fd ∈ of, ∀ n. (n ∈ of → of[n].ino ∈ files) → n ∈ of -- fd → (of -- fd)[n].ino ∈ files ⊦ is-open(ROOT_INO, of -- fd) |
of[fd] = mkfile(ROOT_INO, mode, m0), files[ROOT_INO] = mkfile(m1, md, m2, content), dom of < ino0, afs-cons(dirs, files), of-cons(of, dirs, files), fd ∈ of ⊦ is-open(ROOT_INO, of -- fd)
Used simplifier rules: ⊦ fd ≠ fd0 → (of -- fd0)[fd] = of[fd]; (s)% ⊦ fd ∈ of -- fd0 ↔ fd ≠ fd0 ∧ fd ∈ of; (s)