Used simplifier rules: ⊦ (p + str ').last = str; (s)% ⊦ parent(p + str ') = p; (s)%a: ⊦ (p + p0) + p1 = p + p0 + p1; from specification list[path]%p ≠ ε ⊦ parent(p) + p.last ' = p; (s)