| p = str + p1, p + str0 ' ⊑ str1 ' + q ⊦ p = ε, ∃ p0, q1. p = str1 ' + p0 ∧ q = p0 + str0 ' + q1 |
p1 + str0 ' ⊑ q ⊦ ∃ q0. q = p1 + str0 ' + q0
Used simplifier rules: ⊦ str ' + p = str0 ' + p0 ↔ str = str0 ∧ p = p0; (ws)% ⊦ str ' + p ⊑ str0 ' + p0 ↔ str = str0 ∧ p ⊑ p0; (ws)%a: ⊦ (p + p0) + p1 = p + p0 + p1; from specification list[path]% ⊦ str ' + p ≠ ε; (s)% ⊦ str + p = str ' + p; (s)