| ino ∈ files, ino0 ∈ dirs, ∀ dirs0, files0. # dirs0 < # dirs → (∃ ino. ino ≠ 0 ∧ (∀ n. n ∈ dirs0 ∨ n ∈ files0 → n < ino)), ∀ files0, dirs. # files0 < # files → (∀ dirs0, files. # dirs0 < # dirs → true → (∃ ino. ino ≠ 0 ∧ (∀ n. n ∈ dirs0 ∨ n ∈ files → n < ino))) → (∃ ino. ino ≠ 0 ∧ (∀ n. n ∈ dirs ∨ n ∈ files0 → n < ino)) ⊦ ∃ ino. ino ≠ 0 ∧ (∀ n. n ∈ dirs ∨ n ∈ files → n < ino) |
⊦ ino ≠ 0 → (ino ∈ files ↔ (∃ files0, af. files = (files0 ++ ino)[ino, af] ∧ ¬ ino ∈ files0))
ino0 ∈ dirs, ∀ dirs0, files0. # dirs0 < # dirs → (∃ ino. ino ≠ 0 ∧ (∀ n. n ∈ dirs0 ∨ n ∈ files0 → n < ino)), ∃ files0, af. files = (files0 ++ ino)[ino, af] ∧ ¬ ino ∈ files0, ∀ files0, dirs. # files0 < # files → (∀ dirs0, files. # dirs0 < # dirs → true → (∃ ino. ino ≠ 0 ∧ (∀ n. n ∈ dirs0 ∨ n ∈ files → n < ino))) → (∃ ino. ino ≠ 0 ∧ (∀ n. n ∈ dirs ∨ n ∈ files0 → n < ino)) ⊦ ino = 0, ∃ ino. ino ≠ 0 ∧ (∀ n. n ∈ dirs ∨ n ∈ files → n < ino)
Used simplifier rules: ⊦ ¬ 0 ∈ files; (s) Used terms: files, ino