| key = dentrykey(ino, str), key-cons(key, nd) ⊦ (nd.inode? → key.inode? ∧ key.ino ≠ 0) ∧ (nd.dentry? → key.dentry?) ∧ (nd.data? → key.data?) ∧ (nd.trunc? → key.inode?) |
nd.key = dentrykey(ino, str), nd.dentry? ⊦ ¬ nd.inode? ∧ ¬ nd.data? ∧ ¬ nd.trunc?
Used simplifier rules: dentrykey-cons: ⊦ key-cons(dentrykey(ino, str), nd) ↔ nd.dentry? ∧ nd.key = dentrykey(ino, str);% ⊦ ¬ dentrykey(m, str).data?; (s)% ⊦ dentrykey(m, str).dentry?; (s)% ⊦ ¬ dentrykey(m, str).inode?; (s)