| ofh0[fd] = mkfh(fid, mode, m), root.dir?, fids-cons(root, fs, ofh0), fid ∈ fs, fd ∈ ofh0, ∃ n. n ∈ ofh0 -- fd ∧ (ofh0 -- fd)[n].fid = fid ⊦ # (ofh0 -- fd).fids = 0, # ofh0.fids = 0, ofh0.fids = ∅, (ofh0 -- fd).fids = ∅, fid ∈ root.fids, ∃ n0. n0 ≠ fd ∧ n0 ∈ ofh0 ∧ ofh0[n0].fid = fid |
ofh0[fd] = mkfh(ofh0[n].fid, mode, m), root.dir?, fids-cons(root, fs, ofh0), n ∈ ofh0, fd ∈ ofh0, ofh0[n].fid ∈ fs ⊦ # ofh0.fids = 0, # (ofh0 -- fd).fids = 0, (ofh0 -- fd).fids = ∅, ofh0.fids = ∅, n = fd, ofh0[n].fid ∈ root.fids, ∃ n0. n0 ≠ fd ∧ n0 ∈ ofh0 ∧ ofh0[n0].fid = ofh0[n].fid
Used simplifier rules: ⊦ fd ≠ fd0 → (ofh -- fd0)[fd] = ofh[fd]; (s)%fd ≠ fd0 ⊦ (ofh -- fd0)[fd] = ofh[fd]; (s)% ⊦ fd ∈ ofh -- fd0 ↔ fd ≠ fd0 ∧ fd ∈ ofh; (s)