| ⊦ ubifs-cons((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1], ∅, ∅, ∅, adr1 ') ∧ replay-cons-strong((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1], ∅, ∅, ∅, adr1 ') ∧ file-node-cons((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ orphans-cons((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1], ∅) |
⊦ 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
⊦ ( ¬ inodekey(0) ∈ (∅)[inodekey(ROOT_INO), adr1] ∧ ri-cons((∅)[inodekey(ROOT_INO), adr1], (∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)]) ∧ log-cons(adr1 ', (∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)]) ∧ ¬ dups(adr1 ') ∧ ri-closed((∅)[inodekey(ROOT_INO), adr1], (∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], ∅) ∧ ∅.inodes? ∧ ∅.inodes? ∧ ∅ ⊆ dom (∅)[inodekey(ROOT_INO), adr1] ∧ ∅ ⊆ dom ∅) ∧ replay-cons-strong((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1], ∅, ∅, ∅, adr1 ') ∧ file-node-cons((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ orphans-cons((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1], ∅)
Used terms: adr1 ', ∅, ∅, ∅, (∅)[inodekey(ROOT_INO), adr1], (∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)]