| boolvar ↔ boolvar0, dirs1 = dirs0, pageno = LEB_SIZE ⊦ ∃ dirs, files, asynced. ⟨fail#(; ; err)⟩ ( dirs = abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ files = abs-files((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ orphans (abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]), abs-files((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1])) = ∅ ∧ ESUCCESS = err), (∅ ++ ROOT_INO)[ROOT_INO, mkdir(0, md, 0, 0, ∅)] = abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ ∅ = abs-files((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ orphans (abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]), abs-files((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1])) = ∅ ∧ ESUCCESS = ESUCCESS |
∅ = abs-files((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ⊦ ∃ dirs, files. ⟨fail#(; ; err)⟩ ( dirs = abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ files = ∅ ∧ orphans(abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]), ∅) = ∅ ∧ ESUCCESS = err), orphans(abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]), ∅) = ∅ ∧ (∅ ++ ROOT_INO)[ROOT_INO, mkdir(0, md, 0, 0, ∅)] = abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1])
Used simplifier rules: at-ri: ⊦ ri[key, adr][key0] = (key = key0 ⊃ adr;ri[key0]);% ⊦ inodenode(key, md, boolvar, m, m0, m1).directory ↔ boolvar; (s)% ⊦ ¬ key ∈ ∅; (s)% ⊦ key ∈ ri[key0, adr] ↔ key = key0 ∨ key ∈ ri; (las)% ⊦ fs[adr0, nd][adr1] = (adr0 = adr1 ⊃ nd;fs[adr1]); (s)% ⊦ inodekey(m) = inodekey(m0) ↔ m = m0; (s)% ⊦ ¬ ino ∈ ∅; (s)%⊦ files = abs-files(fs, ri) ↔ (∀ ino. ( ino ∈ files ↔ inodekey(ino) ∈ ri ∧ ¬ fs[ri[inodekey(ino)]].directory) ∧ (ino ∈ files → files[ino] = abs-file(ino, fs, ri))); (ss)