| ofh0[fd] = mkfh(fid, mode, m), root.dir?, fids-cons(root, fs, ofh0), n ∈ ofh0, fd ∈ ofh0, ofh0[n].fid ∈ fs ⊦ # ofh0.fids = 0, ofh0.fids = ∅, ofh0[n].fid ∈ root.fids, ∃ n0. n0 ≠ fd ∧ n0 ∈ ofh0 ∧ ofh0[n0].fid = ofh0[n].fid, ¬ fid ∈ (ofh0 -- fd).fids ∧ ¬ fid ∈ root.fids |
ofh0[fd] = mkfh(fid, mode, m), ofh0[n] = mkfh(fid0, mode0, m0), root.dir?, fids-cons(root, fs, ofh0), fid0 ∈ fs, fd ∈ ofh0, n ∈ ofh0 ⊦ # ofh0.fids = 0, ofh0.fids = ∅, fid0 ∈ root.fids, ∃ n0. n0 ≠ fd ∧ n0 ∈ ofh0 ∧ ofh0[n0].fid = fid0, ¬ fid ∈ (ofh0 -- fd).fids ∧ ¬ fid ∈ root.fids
Used simplifier rules: ⊦ (fid = fh.fid ∧ mode = fh.mode) ∧ m = fh.pos ↔ fh = mkfh(fid, mode, m); (elim) Used terms: ofh0[n], fid0, mode0, m0