| afs-cons(dirs, files) ⊦ # links(ino, dirs) = 0, ino ∈ dirs, ino ∈ files, ∀ alink. alink ∈ links(ino, dirs) ↔ alink ∈ ∅ |
afs-cons(dirs, files), alink.pino ∈ dirs, alink.name ∈ dirs[alink.pino].entries ⊦ # links(dirs[alink.pino].entries[alink.name], dirs) = 0, links(dirs[alink.pino].entries[alink.name], dirs) = ∅, dirs[alink.pino].entries[alink.name] ∈ files, dirs[alink.pino].entries[alink.name] ∈ dirs
Used simplifier rules: links: ⊦ alink ∈ links(ino, dirs) ↔ alink.pino ∈ dirs ∧ alink.name ∈ dirs[alink.pino].entries ∧ ino = dirs[alink.pino].entries[alink.name];%size-zero-01: ⊦ ls ≠ ∅ → # ls ≠ 0; (forward) from specification set-basic[alink-set]%size-zero: ⊦ # ls ≠ 0 → ls ≠ ∅; (forward) from specification set-basic[alink-set]% ⊦ ¬ alink ∈ ∅; (s)