| mklink(ino1, str1).pino ∈ dirs ∧ mklink(ino1, str1).name ∈ dirs[mklink(ino1, str1).pino].entries ∧ entries0[str0] = dirs[mklink(ino1, str1).pino].entries[mklink(ino1, str1).name] ↔ mklink(ino1, str1) = alink, dirs[ino0] = mkdir(m0, md0, n0, n2, entries0), dirs[ino1] = mkdir(m1, md1, n1, n3, entries1), ino0 ∈ dirs, ino1 ∈ dirs, str0 ∈ entries0, str1 ∈ entries1, ∀ alink0. alink0.pino ∈ dirs ∧ alink0.name ∈ dirs[alink0.pino].entries ∧ entries0[str0] = dirs[alink0.pino].entries[alink0.name] ↔ alink0 = alink ⊦ entries0[str0] = entries1[str1] ↔ str0 = str1 ∧ ino0 = ino1 |
entries0[str0] = entries1[str1] ↔ mklink(ino1, str1) = alink, dirs[ino0] = mkdir(m0, md0, n0, n2, entries0), dirs[ino1] = mkdir(m1, md1, n1, n3, entries1), ino0 ∈ dirs, ino1 ∈ dirs, str0 ∈ entries0, str1 ∈ entries1, ∀ alink0. alink0.pino ∈ dirs ∧ alink0.name ∈ dirs[alink0.pino].entries ∧ entries0[str0] = dirs[alink0.pino].entries[alink0.name] ↔ alink0 = alink ⊦ mklink(ino1, str1) = alink ↔ str0 = str1 ∧ ino0 = ino1
Used simplifier rules: ⊦ mkdir(m, md, m0, m1, entries).entries = entries; (s)% ⊦ mklink(m, str).name = str; (s)% ⊦ mklink(m, str).pino = m; (s)