| (entries0[str] = m ⊃ mkdir(m1, md3, # links(entries0[str], dirs0), m0, entries0 -- str) ;mkdir(m3, md1, # links(entries0[str], dirs0), m2, ∅) ) = mkdir(m5, md0, m4 + 1, m7, entries), dirs0[m] = mkdir(m1 + 1, md3, # links(m, dirs0), m0 + 1, entries0), dirs0[entries0[str]] = mkdir(m3, md1, # links(entries0[str], dirs0), m2, ∅), dirs = dirs0[entries0[str], mkdir(m5, md0, m4, m7, entries)] [m, (m = entries0[str] ⊃ mkdir(m5, md0, m4, m7, entries);mkdir(m1, md3, # links(m, dirs0), m0, entries0 -- str)).meta:= md ], files0 = files, ino = entries0[str], afs-cons(dirs0, files), entries0[str] ∈ dirs0, m ∈ dirs0, str ∈ entries0, (entries0[str] ∈ dirs[ino, dirs[ino].meta:= md4] ⊃ str ∈ entries0 ∧ str ∈ entries0 ∧ str ∈ entries0 ∧ str ∈ entries0 ∧ str ∈ entries0 ;str ∈ entries0 ∧ str ∈ entries0 ∧ str ∈ entries0 ∧ str ∈ entries0 ), links(m, dirs0) ≠ ∅ ∨ m = ROOT_INO ⊦ ⟨asynced0 := ?⟩ asynced0, entries0[str] = ROOT_INO, ∃ asynced. asynced ∧ dirs0 \ orphans(dirs0, files0) = dirs[ino, dirs[ino].meta:= md4] \ orphans(dirs[ino, dirs[ino].meta:= md4], files) ∧ files0 \ orphans(dirs0, files0) = files \ orphans(dirs[ino, dirs[ino].meta:= md4], files) |
Used simplifier rules: ⊦ dirs[ino, ad][ino0] = (ino0 = ino ∧ ino ∈ dirs ⊃ ad;dirs[ino0]); (s)% ⊦ ino ∈ dirs[ino0, ad] ↔ ino ∈ dirs; (s)%⊦ mkdir(m, md, m0, m1, entries).meta:= md0 = mkdir(m, md0, m0, m1, entries); (s)% ⊦ dirs[ino, ad][ino0, ad0][ino, ad1] = dirs[ino0, ad0][ino, ad1]; (s)