| ispath(p, n, m, dirs, files) ⊦ (m ∈ dirs ⊃ dirs[m].meta;files[m].meta) = meta(ε, m, dirs, files) |
⊦ ispath(p, n, dirs, files) → meta(p, n, dirs, files) = (lookup(p, n, dirs, files) ∈ dirs ⊃ dirs[lookup(p, n, dirs, files)].meta;files[lookup(p, n, dirs, files)].meta)
Used simplifier rules: expath-eps: ⊦ ispath(ε, n, dirs, files) ↔ n ∈ dirs ∨ n ∈ files;%path-in-end: ⊦ ispath(p, n, m, dirs, files) ∧ ¬ m ∈ files → m ∈ dirs;%expath-eps: ⊦ ispath(ε, n, dirs, files) ↔ n ∈ dirs ∨ n ∈ files;%lookup-file: ⊦ n ∈ files → lookup(ε, n, dirs, files) = n;%path-in-dirs: p ≠ ε ⊦ ispath(p, n, m, dirs, files) → n ∈ dirs;%lookup-dir: n ∈ dirs ⊦ lookup(ε, n, dirs, files) = n; Used terms: files, dirs, m, ε