| dirs[p_ino] = mkdir(m, md, n0, n1, entries), str0 ∈ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs) -- str;subdirs(p_ino, dirs)), p_ino ∈ dirs, ¬ str ∈ entries ∨ ¬ entries[str] ∈ dirs ⊦ # subdirs(p_ino, dirs) = 0, (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs) -- str;subdirs(p_ino, dirs)) = ∅, str0 ∈ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs[p_ino, mkdir(m0, md, n0, n2, entries)]) -- str ;subdirs(p_ino, dirs[p_ino, mkdir(m0, md, n0, n2, entries)]) ) |
dirs[p_ino] = mkdir(m, md, n0, n1, entries), str0 ∈ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs) -- str;subdirs(p_ino, dirs)), p_ino ∈ dirs, ¬ str ∈ entries ∨ ¬ entries[str] ∈ dirs ⊦ # subdirs(p_ino, dirs) = 0, (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs) -- str;subdirs(p_ino, dirs)) = ∅, subdirs(p_ino, dirs) = ∅, str0 ∈ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs[p_ino, mkdir(m0, md, n0, n2, entries)]) -- str ;subdirs(p_ino, dirs[p_ino, mkdir(m0, md, n0, n2, entries)]) )
Used simplifier rules: size-zero-01: ⊦ strings ≠ ∅ → # strings ≠ 0; (forward) from specification set-basic[dir-entries]%size-zero: ⊦ # strings ≠ 0 → strings ≠ ∅; (forward) from specification set-basic[dir-entries]