| root[path] = fnode(fid), root.dir?, fids-cons(root, fs, ofh), pw(user, path, root, fs), path ∈ root, fid ∈ fs ⊦ ⟪psynced := ?⟫ fids-cons(root, fs[fid, mkfile(md, fs[fid].content)], ofh), root[path].dir? |
⊦ fids-cons(tree0, fs0, ofh0) → (fids-cons(tree1, fs1, ofh1) ↔ (∀ fid. (fid ∈ fs0 ↔ fid ∈ tree0.fids ∨ fid ∈ ofh0.fids) → (fid ∈ fs1 ↔ fid ∈ tree1.fids ∨ fid ∈ ofh1.fids)))
Used simplifier rules: fids-cons-reduce: ⊦ fids-cons(tree0, fs0, ofh0) → ( fids-cons(tree1, fs1, ofh1) ↔ (∀ fid. (fid ∈ fs0 ↔ fid ∈ tree0.fids ∨ fid ∈ ofh0.fids) → (fid ∈ fs1 ↔ fid ∈ tree1.fids ∨ fid ∈ ofh1.fids)));% ⊦ fid ∈ fs[fid0, f] ↔ fid = fid0 ∨ fid ∈ fs; (ws)%⊦ p ∈ root ∧ root[p] = fnode(fid) ∧ fids-cons(root, fs, ofh) → fid ∈ fs; (ss)% ⊦ ¬ fnode(fid).dir?; (s)