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