| str ∈ entries, p_ino ∈ dirs, alink.pino ∈ dirs ⊦ alink.name ∈ (alink.pino = p_ino ⊃ mkdir(m0, md, n, n0, entries[str, ino]);dirs[alink.pino]).entries ∧ entries[str] = (alink.pino = p_ino ⊃ mkdir(m0, md, n, n0, entries[str, ino]);dirs[alink.pino]).entries[alink.name] ↔ alink ≠ mklink(p_ino, str) ∧ alink.name ∈ (alink.pino = p_ino ⊃ mkdir(m0, md, n, n0, entries);dirs[alink.pino]).entries ∧ entries[str] = (alink.pino = p_ino ⊃ mkdir(m0, md, n, n0, entries);dirs[alink.pino]).entries[alink.name], ino = entries[str] |
alink = mklink(m, str0), m ∈ dirs, p_ino ∈ dirs, str ∈ entries ⊦ str0 ∈ (m = p_ino ⊃ mkdir(m0, md, n, n0, entries[str, ino]);dirs[m]).entries ∧ entries[str] = (m = p_ino ⊃ mkdir(m0, md, n, n0, entries[str, ino]);dirs[m]).entries[str0] ↔ alink ≠ mklink(p_ino, str) ∧ str0 ∈ (m = p_ino ⊃ mkdir(m0, md, n, n0, entries);dirs[m]).entries ∧ entries[str] = (m = p_ino ⊃ mkdir(m0, md, n, n0, entries);dirs[m]).entries[str0], ino = entries[str]
Used simplifier rules: ⊦ m = alink.pino ∧ str = alink.name ↔ alink = mklink(m, str); (elim) Used terms: alink, m, str0