| # links(ino, dirs) = 0, dirs[ino] = mkdir(n, md, 0, m, ∅), afs-cons(dirs, files), ino ∈ dirs, ino0 ∈ dirs → dirs[ino0].nlink = 0, ino0 ∈ files → files[ino0].nlink = 0, ino0 ≠ ino ∧ ino0 ∈ dirs ∨ ino0 ∈ files ⊦ ino = ROOT_INO, ino0 = ROOT_INO, ino0 ≠ ino ∧ (ino0 ∈ dirs ∨ ino0 ∈ files) |
# links(ino, dirs) = 0, dirs[ino] = mkdir(n, md, 0, m, ∅), files[ino0] = mkfile(m0, md0, m1, content), afs-cons(dirs, files), ino ∈ dirs, ino0 ∈ files → m1 = 0, ino0 ∈ dirs → dirs[ino0].nlink = 0, ino0 ≠ ino ∧ ino0 ∈ dirs ∨ ino0 ∈ files ⊦ ino = ROOT_INO, ino0 = ROOT_INO, ino0 ≠ ino ∧ (ino0 ∈ dirs ∨ ino0 ∈ files)
Used simplifier rules: ⊦ ((m = af.size ∧ md = af.meta) ∧ m0 = af.nlink) ∧ content = af.content ↔ af = mkfile(m, md, m0, content); (elim) Used terms: files[ino0], m0, md0, m1, content