| key = datakey(ino, ino0), 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 = datakey(ino, ino0), nd.data? ⊦ ¬ nd.inode? ∧ ¬ nd.dentry? ∧ ¬ nd.trunc?
Used simplifier rules: datakey-cons: ⊦ key-cons(datakey(ino, n), nd) ↔ nd.data? ∧ nd.key = datakey(ino, n);% ⊦ datakey(m, m0).data?; (s)% ⊦ ¬ datakey(m, m0).dentry?; (s)% ⊦ ¬ datakey(m, m0).inode?; (s)