| ⊦ abs|(dnode(md, sdt), ino, str ', ino0) = _∃(λ ad. ino => ad * abs|(sdt, ad.entries, str ', ino0) ∧ ⌜ad.meta = md⌝ ∧ ⌜ad.size = # ad.entries⌝ ) |
⊦ p ≠ ε → abs|(dnode(md, sdt), ino, p, ino0) = _∃(λ ad. ino => ad * abs|(sdt, ad.entries, p, ino0) ∧ ⌜ad.meta = md⌝ ∧ ⌜ad.size = # ad.entries⌝ )
Used simplifier rules: and-ass: ⊦ ((D ∧ D0) ∧ D1) = (D ∧ D0 ∧ D1); from specification heap-sep[dir-heap]%and-com: ⊦ (D ∧ D0) = (D0 ∧ D); from specification heap-sep[dir-heap]% ⊦ str ' ≠ ε; (s) Used terms: ino0, str ', ino, sdt, md