| ⊦ (m0 = ino ∨ m0 ∈ dirs) ∧ str ∈ (m0 = ino ⊃ mkdir(m, md, n, n0, ∅);(dirs ++ ino)[m0]).entries ∧ ino0 = (m0 = ino ⊃ mkdir(m, md, n, n0, ∅);(dirs ++ ino)[m0]).entries[str] ↔ m0 ∈ dirs ∧ str ∈ dirs[m0].entries ∧ ino0 = dirs[m0].entries[str], ino = 0, ino ∈ dirs |
(m0 = ino ⊃ mkdir(m, md, n, n0, ∅);(dirs ++ ino)[m0]) = mkdir(m1, md0, m2, m3, entries) ⊦ (m0 = ino ∨ m0 ∈ dirs) ∧ str ∈ entries ∧ ino0 = entries[str] ↔ m0 ∈ dirs ∧ str ∈ dirs[m0].entries ∧ ino0 = dirs[m0].entries[str], ino = 0, ino ∈ dirs
Used simplifier rules: ⊦ ( ((m = ad.size ∧ md = ad.meta) ∧ m0 = ad.nlink) ∧ m1 = ad.nsubdirs) ∧ entries = ad.entries ↔ ad = mkdir(m, md, m0, m1, entries); (elim) Used terms: (m0 = ino ⊃ mkdir(m, md, n, n0, ∅);(dirs ++ ino)[m0]), m1, md0, m2, m3, entries