| key.data?, fs[ri[inodekey(key.ino)]].directory, ubifs-cons(fs, ri, ro, fi, fo, log), ri[inodekey(key.ino)] ∈ ri, key ∈ ri ⊦ # datakeys(inodekey(key.ino), ri) = 0, datakeys(inodekey(key.ino), ri) = ∅ |
Used simplifier rules: ubifs-file-notdir: ⊦ datakey(ino, n) ∈ ri ∧ ubifs-cons(fs, ri, ro, fi, fo, log) → ¬ fs[ri[inodekey(ino)]].directory;%ubifs-file-in: ⊦ datakey(ino, n) ∈ ri ∧ ubifs-cons(fs, ri, ro, fi, fo, log) → inodekey(ino) ∈ ri;% ⊦ ¬ key ∈ ri → ri[key] = (∅)[key]; (s)% ⊦ datakey(m, m0).data?; (s)%size-zero-01: ⊦ ks ≠ ∅ → # ks ≠ 0; (forward) from specification set-basic[node-index]%size-zero: ⊦ # ks ≠ 0 → ks ≠ ∅; (forward) from specification set-basic[node-index]%key ∈ ri ⊦ ri[key] ∈ ri; (s)% ⊦ key.data? → (m = key.ino ∧ m0 = key.part ↔ key = datakey(m, m0)); (elim) Used terms: key, m, m0