| c_inode.ino = entries0[str], c_inode.nlink = files[entries0[str]].nlink, c_inode.nsubdirs = 0, dirs0[m] = mkdir(m1 + 1, md1, # links(m, dirs0), m2, entries0), dirs = dirs0[m, mkdir(m1, md1, # links(m, dirs0), m2, entries0 -- str)], files0 = files, ino = entries0[str], afs-cons(dirs0, files), m ∈ dirs0, entries0[str] ∈ files, str ∈ entries0, links(m, dirs0) ≠ ∅ ∨ m = ROOT_INO ⊦ ⟨fail#(; ; err); asynced := ?⟩ asynced, c_inode.directory, files[ino].nlink ≥ 1 |
c_inode.ino = entries0[str], c_inode.nlink = 0, files[entries0[str]].nlink = 0, c_inode.nsubdirs = 0, dirs0[m] = mkdir(m1 + 1, md1, # links(m, dirs0), m2, entries0), afs-cons(dirs0, files), str ∈ entries0, entries0[str] ∈ files, m ∈ dirs0, ¬ c_inode.directory, links(m, dirs0) ≠ ∅ ∨ m = ROOT_INO ⊦ ⟨fail#(; ; err); asynced := ?⟩ asynced
Used simplifier rules: ⊦ m < 1 ↔ m = 0; (s)% ⊦ m ≤ n ↔ ¬ n < m; (ss)% ⊦ n ≥ m ↔ m ≤ n; (s)