| key0.ino ≤ ino ⊦ datakey(ino, ino0) = key0, key0 < datakey(ino, ino0), key0.data? ∧ ino = key0.ino ∧ ino0 < key0.part |
Used simplifier rules: key freely generated by inodekey, datakey, dentrykey;;% ⊦ datakey(m, m0) ≠ dentrykey(m1, str); (s)% ⊦ dentrykey(m, str).ino = m; (s)%⊦ dentrykey(ino, str) < key ↔ ino < key.ino ∨ key.dentry? ∧ ino = key.ino ∧ str < key.name ∨ key.data? ∧ ino = key.ino; (ws)% ⊦ datakey(m, m0).ino = m; (s)% ⊦ ¬ datakey(m, m0).dentry?; (s)% ⊦ datakey(m, m0).data?; (s)% ⊦ m ≠ n → (m ≤ n ↔ m < n); (s)%⊦ datakey(ino, n) < key ↔ ino < key.ino ∨ key.data? ∧ ino = key.ino ∧ n < key.part; (ws)% ⊦ datakey(m, m0).part = m0; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m ≤ n → (n ≤ m ↔ m = n); (s)% ⊦ datakey(m, m0) = datakey(m1, m2) ↔ m = m1 ∧ m0 = m2; (ws)% ⊦ m ≠ n → (m < n ↔ ¬ n < m); (ss)% ⊦ inodekey(m) ≠ datakey(m0, m1); (s)% ⊦ inodekey(m).ino = m; (s)% ⊦ inodekey(ino) < key ↔ ino < key.ino ∨ ¬ key.inode? ∧ ino = key.ino; (ws)% ⊦ ¬ datakey(m, m0).inode?; (s)