| ∀ fid. fid ∈ fs ↔ fid ∈ tree.fids ∧ fid ∈ fs0, ∀ fid. fid ∈ fs → fs[fid] = fs0[fid], ∀ str0. str0 ∈ sdt0[str, tree] → (∀ fs0. ∃ fs1. (∀ fid. fid ∈ fs1 ↔ fid ∈ sdt0[str, tree][str0].fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid])), ∀ sdt1, fs0. # sdt1 < # sdt0[str, tree] → (∀ str. str ∈ sdt1 → (∀ fs0. ∃ fs1. (∀ fid. fid ∈ fs1 ↔ fid ∈ sdt1[str].fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid]))) → (∃ fs1. (∀ fid0. fid0 ∈ fs1 ↔ fid0 ∈ sdt1.fids ∧ fid0 ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid])) ⊦ str ∈ sdt0, ∃ fs. (∀ fid. fid ∈ fs ↔ fid ∈ sdt0.fids ∪ tree.fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs → fs[fid] = fs0[fid]) |
∀ str0. str0 ∈ sdt0[str, tree] → (∀ fs0. ∃ fs1. (∀ fid. fid ∈ fs1 ↔ fid ∈ sdt0[str, tree][str0].fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid])), ∀ fid. fid ∈ fs → fs[fid] = fs0[fid], ∀ fid. fid ∈ fs ↔ fid ∈ tree.fids ∧ fid ∈ fs0, ∀ sdt1, fs0. # sdt1 < # sdt0[str, tree] → (∀ str. str ∈ sdt1 → (∀ fs0. ∃ fs1. (∀ fid. fid ∈ fs1 ↔ fid ∈ sdt1[str].fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid]))) → (∃ fs1. (∀ fid0. fid0 ∈ fs1 ↔ fid0 ∈ sdt1.fids ∧ fid0 ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid])) ⊦ str ∈ sdt0, ∀ str. str ∈ sdt0 → (∀ fs0. ∃ fs1. (∀ fid. fid ∈ fs1 ↔ fid ∈ sdt0[str].fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid])), ∃ fs. (∀ fid. fid ∈ fs ↔ fid ∈ sdt0.fids ∪ tree.fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs → fs[fid] = fs0[fid])
∀ str0. str0 ∈ sdt0[str, tree] → (∀ fs0. ∃ fs1. (∀ fid. fid ∈ fs1 ↔ fid ∈ sdt0[str, tree][str0].fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid])), ∀ fid. fid ∈ fs → fs[fid] = fs0[fid], ∀ fid. fid ∈ fs ↔ fid ∈ tree.fids ∧ fid ∈ fs0, ∃ fs1. (∀ fid0. fid0 ∈ fs1 ↔ fid0 ∈ sdt0.fids ∧ fid0 ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid]), ∀ sdt1, fs0. # sdt1 < # sdt0[str, tree] → (∀ str. str ∈ sdt1 → (∀ fs0. ∃ fs1. (∀ fid. fid ∈ fs1 ↔ fid ∈ sdt1[str].fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid]))) → (∃ fs1. (∀ fid0. fid0 ∈ fs1 ↔ fid0 ∈ sdt1.fids ∧ fid0 ∈ fs0) ∧ (∀ fid. fid ∈ fs1 → fs1[fid] = fs0[fid])) ⊦ str ∈ sdt0, ∃ fs. (∀ fid. fid ∈ fs ↔ fid ∈ sdt0.fids ∪ tree.fids ∧ fid ∈ fs0) ∧ (∀ fid. fid ∈ fs → fs[fid] = fs0[fid])
Used simplifier rules: ⊦ ¬ str ∈ sdt → # sdt[str, tree] = # sdt + 1; (s)% ⊦ m < n + 1 ↔ ¬ n < m; (s)% ⊦ ¬ n < n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic[directory-tree-inst]%c: ⊦ m + n = n + m; from specification nat-basic[directory-tree-inst] Used terms: sdt0, fs0