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