| ⊦ 0 = # links(ROOT_INO, (∅ ++ ROOT_INO)[ROOT_INO, mkdir(0, md, 0, 0, ∅)]), links(ROOT_INO, (∅ ++ ROOT_INO)[ROOT_INO, mkdir(0, md, 0, 0, ∅)]) = ∅ |
⊦ ls = ls0 ↔ (∀ alink. alink ∈ ls ↔ alink ∈ ls0)
Used simplifier rules: links: ⊦ alink ∈ links(ino, dirs) ↔ alink.pino ∈ dirs ∧ alink.name ∈ dirs[alink.pino].entries ∧ ino = dirs[alink.pino].entries[alink.name];% ⊦ ino ∈ dirs[ino0, ad] ↔ ino ∈ dirs; (s)% ⊦ ROOT_INO ≠ 0; (s)% ⊦ ¬ ino ∈ ∅; (s)%ino ≠ 0, ¬ ino ∈ dirs ⊦ ino0 ∈ dirs ++ ino ↔ ino0 = ino ∨ ino0 ∈ dirs; (s)% ⊦ dirs[ino, ad][ino0] = (ino0 = ino ∧ ino ∈ dirs ⊃ ad;dirs[ino0]); (s)% ⊦ mkdir(m, md, m0, m1, entries).entries = entries; (s)% ⊦ ¬ str ∈ ∅; (s)% ⊦ ¬ alink ∈ ∅; (s) Used terms: ∅, links(ROOT_INO, (∅ ++ ROOT_INO)[ROOT_INO, mkdir(0, md, 0, 0, ∅)])