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