| # links(ino, dirs) = 0, files[ino] = mkfile(n, md, 0, content), afs-cons(dirs, files), ino ∈ files ⊦ (ino0 ∈ dirs ∨ ino0 ≠ ino ∧ ino0 ∈ files) ∧ links(ino0, dirs) = ∅ ∧ ino0 ≠ ROOT_INO ↔ ino0 ≠ ino ∧ valid-ino(ino0, dirs, files) ∧ links(ino0, dirs) = ∅ ∧ ino0 ≠ ROOT_INO, ino ∈ dirs |
# links(ino, dirs) = 0, files[ino] = mkfile(n, md, 0, content), afs-cons(dirs, files), ino ∈ files, ino0 ∈ dirs → dirs[ino0].nlink = 0, ino0 ∈ files → files[ino0].nlink = 0, ino0 ∈ dirs ∨ ino0 ≠ ino ∧ ino0 ∈ files ⊦ ino0 = ROOT_INO, ino ∈ dirs, ino0 ≠ ino ∧ (ino0 ∈ dirs ∨ ino0 ∈ files)
Used simplifier rules: valid-ino: ⊦ valid-ino(ino, dirs, files) ↔ ino ∈ dirs ∨ ino ∈ files;%afs-cons-links-empty: ⊦ afs-cons(dirs, files) → ( links(ino, dirs) = ∅ ↔ (ino ∈ dirs → dirs[ino].nlink = 0) ∧ (ino ∈ files → files[ino].nlink = 0));