| p0 ∈ root, str ' ∈ root[p0], p ⊑ p0 + str ', ∀ q0, root, p. # q0 < #(p0 + str ') → q0 ∈ root ∧ p ⊑ q0 → p = q0 ∨ p ∈ root ∧ root[p].dir? ⊦ p = p0 + str ', p ∈ root ∧ root[p].dir? |
Used simplifier rules: ⊦ p = p + p0 ↔ p0 = ε; (s)% ⊦ str ' ≠ ε; (s)%a: ⊦ (p + p0) + p1 = p + p0 + p1; from specification list[path]% ⊦ p ⊑ p + p0; (s)% ⊦ ¬ tree.dir? → (p ∈ tree ↔ p = ε); (s)% ⊦ ¬ p ⊑ p0 → (p ⊑ p0 + str ' ↔ p0 + str ' = p); (s)% ⊦ #(p + p0) = # p + # p0; (s)% ⊦ # str ' = 0 +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: p0, root, p