| afs-cons(dirs, files), m ∈ dirs, str ∈ dirs[m].entries ⊦ # links(dirs[m].entries[str], dirs) = 0, links(dirs[m].entries[str], dirs) = ∅, dirs[m].entries[str] ∈ files, dirs[m].entries[str] ∈ dirs |
Used simplifier rules: links-nonempty: ⊦ p_ino ∈ dirs ∧ dirs[p_ino] = mkdir(m, md, n, n0, entries) ∧ str ∈ entries → links(entries[str], dirs) ≠ ∅;%afs-cons-in-next: ⊦ ino ∈ dirs ∧ dirs[ino] = mkdir(n0, md, n, n1, entries) ∧ str ∈ entries ∧ afs-cons(dirs, files) → (entries[str] ∈ files ↔ ¬ entries[str] ∈ dirs);%⊦ ( ((m = ad.size ∧ md = ad.meta) ∧ m0 = ad.nlink) ∧ m1 = ad.nsubdirs) ∧ entries = ad.entries ↔ ad = mkdir(m, md, m0, m1, entries); (elim) Used terms: dirs[m], md, m0, entries