| ispath(p, n, m, dirs, files), ∃ m0. ispath(q, m, m0, dirs, files) ⊦ ispath(p + q, n, dirs, files) |
ispath(q, m, m0, dirs, files), ispath(p, n, m, dirs, files), m ∈ dirs ⊦ ispath(p + q, n, dirs, files)
Used simplifier rules: isexpath: ⊦ ispath(p, n, m, dirs, files) → ispath(p, n, dirs, files);%path-in-dirs: p ≠ ε ⊦ ispath(p, n, m, dirs, files) → n ∈ dirs;%a: ⊦ (p + p0) + p1 = p + p0 + p1; from specification list[path]% ⊦ p + ε = p; (s)