| links(n, dirs) = ∅, ino ∈ dirs, ∃ m0. ispath(p0, ino, m0, dirs, files) ∧ ispath(str ', m0, n, dirs, files) ⊦ |
links(dirs[m].entries[str], dirs) = ∅, ispath(p0, ino, m, dirs, files), str ∈ dirs[m].entries, m ∈ dirs, ino ∈ dirs, dirs[m].entries[str] ∈ dirs ∨ dirs[m].entries[str] ∈ files ⊦
Used simplifier rules: path-one: ⊦ ispath(str ', n, m, dirs, files) ↔ n ∈ dirs ∧ str ∈ dirs[n].entries ∧ (m ∈ dirs ∨ m ∈ files) ∧ dirs[n].entries[str] = m;