| m = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ro, fs[ri[inodekey(ino)]] = inodenode(inodekey(ino), md, boolvar, m, m0, m1), m = 0, ro.inodes?, ri-closed(ri, fs, ro), inodekey(ino) ∈ ri, ri[inodekey(ino)] ∈ fs, ∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]) ⊦ (boolvar ⊃ (ri ⊖ ro) -- inodekey(ino);(ri ⊖ ro) ⊖ inodekey(ino)) = ri[inodekey(ino), adr] ⊖ ro, ino = 0, ino = ROOT_INO |
fs[ri[inodekey(ino)]] = inodenode(inodekey(ino), md, boolvar, 0, m0, m1), ro.inodes?, ri-closed(ri, fs, ro), inodekey(ino) ∈ ro, inodekey(ino) ∈ ri, ri[inodekey(ino)] ∈ fs, ∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]) ⊦ # ro = 0, (boolvar ⊃ (ri ⊖ ro) -- inodekey(ino);ri ⊖ ro) = ri ⊖ ro, ino = 0, ino = ROOT_INO, ro = ∅
Used simplifier rules: size-zero-01: ⊦ ks ≠ ∅ → # ks ≠ 0; (forward) from specification set-basic[node-index]%ne-01: ⊦ key ∈ ks → ks ≠ ∅; (forward) from specification set-basic[node-index]% ⊦ inodekey(m) ∈ ks → ri[inodekey(m), adr] ⊖ ks = ri ⊖ ks; (s)% ⊦ inodekey(m) ∈ ks → (ri ⊖ ks) ⊖ inodekey(m) = ri ⊖ ks; (s)