| str + p0 ∈ tree, ∀ tree, q. p0 ∈ tree → (q ∈ tree -- p0 ↔ ¬ p0 ⊑ q ∧ q ∈ tree) ∨ p0 = ε ⊦ str + p0 = ε, q ∈ tree -- (str + p0) ↔ ¬ str + p0 ⊑ q ∧ q ∈ tree |
⊦ p + q ∈ tree ↔ p ∈ tree ∧ q ∈ tree[p]
str ' ∈ tree, p0 ∈ tree[str '], ∀ tree, q. p0 ∈ tree → (q ∈ tree -- p0 ↔ ¬ p0 ⊑ q ∧ q ∈ tree) ∨ p0 = ε ⊦ q ∈ tree -- (str ' + p0) ↔ ¬ str ' + p0 ⊑ q ∧ q ∈ tree
Used simplifier rules: split-in: ⊦ p + q ∈ tree ↔ p ∈ tree ∧ q ∈ tree[p];%a: ⊦ (p + p0) + p1 = p + p0 + p1; from specification list[path]% ⊦ str ' + p ≠ ε; (s)% ⊦ str + p = str ' + p; (s)