| ubifs-cons(fs, ri, ro, fi, fo, log), key ∈ fo ⊦ key ∈ fi |
⊦ ubifs-cons(fs, ri, ro, fi, fo, log) ↔ ¬ inodekey(0) ∈ ri ∧ ri-cons(ri, fs) ∧ log-cons(log, fs) ∧ ¬ dups(log) ∧ ri-closed(ri, fs, ro) ∧ ro.inodes? ∧ fo.inodes? ∧ ro ⊆ dom ri ∧ fo ⊆ dom fi
Used simplifier rules: ri-cons: ⊦ ri-cons(ri, fs) ↔ (∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]));%ri-closed: ⊦ ri-closed(ri, fs, ro) ↔ (∀ key. key ∈ ri → ri[key] ∈ fs ∧ node-closed(fs[ri[key]], ri, fs, ro));%log-cons: ⊦ log-cons(log, fs) ↔ (∀ adr. adr ∈ log → adr ∈ fs ∧ node-cons(fs[adr].key, fs[adr]));%sub-in: ⊦ key ∈ ks ∧ ks ⊆ ks0 → key ∈ ks0; (forward) from specification set-basic[node-index]%ne-01: ⊦ key ∈ ks → ks ≠ ∅; (forward) from specification set-basic[node-index]% ⊦ key ∈ dom ri ↔ key ∈ ri; (s) Used terms: log, fo, fi, ro, ri, fs