| tree0[parent(p)].dir?, parent(p) ∈ tree0 ⊦ tree0[p, tree1].fids = tree0.fids ∪ tree1.fids, p = ε, p ∈ tree0 |
tree0[parent(str + p0)].dir?, parent(str + p0) ∈ tree0, ∀ tree0, tree1. tree0[parent(p0)].dir? ∧ parent(p0) ∈ tree0 → tree0[p0, tree1].fids = tree0.fids ∪ tree1.fids ∨ p0 = ε ∨ p0 ∈ tree0 ⊦ str + p0 = ε, tree0[str + p0, tree1].fids = tree0.fids ∪ tree1.fids, str + p0 ∈ tree0
Used simplifier rules: path freely generated by ε, +;;