| fs[ri[dentrykey(ino, str)]] = dentrynode(key, m), ro.inodes?, fo.inodes?, log-cons(log, fs), ri-closed(ri, fs, ro), ri-cons(ri, fs), dentrykey(ino, str) ∈ ri, inodekey(m) ∈ ro, inodekey(ino) ∈ ri, inodekey(m) ∈ ri, ro ⊆ dom ri, fo ⊆ dom fi ⊦ # ro = 0, ro = ∅, dups(log), inodekey(0) ∈ ri |
⊦ ri-closed(ri, fs, ro) ↔ (∀ key. key ∈ ri → ri[key] ∈ fs ∧ node-closed(fs[ri[key]], ri, fs, ro))
fs[ri[dentrykey(ino, str)]] = dentrynode(key, m), fo.inodes?, ro.inodes?, log-cons(log, fs), ri-cons(ri, fs), inodekey(m) ∈ ri, inodekey(ino) ∈ ri, inodekey(m) ∈ ro, dentrykey(ino, str) ∈ ri, fo ⊆ dom fi, ro ⊆ dom ri, ∀ key. key ∈ ri → ri[key] ∈ fs ∧ node-closed(fs[ri[key]], ri, fs, ro) ⊦ # ro = 0, ro = ∅, dups(log), inodekey(0) ∈ ri
Used terms: ro, fs, ri