| ofh0[fd] = mkfh(fid, mode, m), root.dir?, fids-cons(root, fs, ofh0), fd ∈ ofh0 ⊦ fid0 ∈ fs ↔ fid0 ∈ root.fids ∨ fid0 ∈ (ofh0 -- fd).fids, fid0 ∈ root.fids, fid0 ∈ ofh0.fids, fid0 ∈ fs, ¬ fid ∈ (ofh0 -- fd).fids ∧ ¬ fid ∈ root.fids |
ofh0[fd] = mkfh(fid, mode, m), root.dir?, fids-cons(root, fs, ofh0), fid0 ∈ (ofh0 -- fd).fids, fd ∈ ofh0 ⊦ # (ofh0 -- fd).fids = 0, (ofh0 -- fd).fids = ∅, fid0 ∈ root.fids, fid0 ∈ ofh0.fids, fid0 ∈ fs, ¬ fid ∈ (ofh0 -- fd).fids ∧ ¬ fid ∈ root.fids
Used simplifier rules: size-zero-01: ⊦ fids ≠ ∅ → # fids ≠ 0; (forward) from specification set-basic[fidset]%ne-01: ⊦ fid ∈ fids → fids ≠ ∅; (forward) from specification set-basic[fidset]