| ∀ p. (p ∈ dnode(md0, sdt) ↔ p ∈ dnode(md0, sdt0)) ∧ ( p ∈ dnode(md0, sdt) → (dnode(md0, sdt)[p].dir? ↔ dnode(md0, sdt0)[p].dir?) ∧ (dnode(md0, sdt)[p].dir? ⊃ dnode(md0, sdt)[p].meta = dnode(md0, sdt0)[p].meta;dnode(md0, sdt)[p].fid = dnode(md0, sdt0)[p].fid)), ∀ str. str ∈ sdt → (∀ tree2. (∀ p. (p ∈ sdt[str] ↔ p ∈ tree2) ∧ ( p ∈ sdt[str] → (sdt[str][p].dir? ↔ tree2[p].dir?) ∧ (sdt[str][p].dir? ⊃ sdt[str][p].meta = tree2[p].meta;sdt[str][p].fid = tree2[p].fid))) → sdt[str] = tree2) ⊦ (str ∈ sdt ↔ str ∈ sdt0) ∧ (str ∈ sdt → sdt[str] = sdt0[str]) |
str ' ∈ dnode(md0, sdt) ↔ str ' ∈ dnode(md0, sdt0), str ' ∈ dnode(md0, sdt) → (dnode(md0, sdt)[str '].dir? ↔ dnode(md0, sdt0)[str '].dir?) ∧ (dnode(md0, sdt)[str '].dir? ⊃ dnode(md0, sdt)[str '].meta = dnode(md0, sdt0)[str '].meta ;dnode(md0, sdt)[str '].fid = dnode(md0, sdt0)[str '].fid ), ∀ str. str ∈ sdt → (∀ tree2. (∀ p. (p ∈ sdt[str] ↔ p ∈ tree2) ∧ ( p ∈ sdt[str] → (sdt[str][p].dir? ↔ tree2[p].dir?) ∧ (sdt[str][p].dir? ⊃ sdt[str][p].meta = tree2[p].meta;sdt[str][p].fid = tree2[p].fid))) → sdt[str] = tree2), ∀ p. (p ∈ dnode(md0, sdt) ↔ p ∈ dnode(md0, sdt0)) ∧ ( p ∈ dnode(md0, sdt) → (dnode(md0, sdt)[p].dir? ↔ dnode(md0, sdt0)[p].dir?) ∧ (dnode(md0, sdt)[p].dir? ⊃ dnode(md0, sdt)[p].meta = dnode(md0, sdt0)[p].meta;dnode(md0, sdt)[p].fid = dnode(md0, sdt0)[p].fid)) ⊦ (str ∈ sdt ↔ str ∈ sdt0) ∧ (str ∈ sdt → sdt[str] = sdt0[str])
Used terms: str '