| key0 = dentrykey(ino0, str0), key0.ino ≤ ino ⊦ dentrykey(ino, str) = key0, key0 < dentrykey(ino, str), key0.data? ∧ ino = key0.ino, key0.dentry? ∧ ino = key0.ino ∧ str < key0.name |
⊦ str = str0, str0 < str, str < str0
Used simplifier rules: ⊦ m ≤ m; (s)% ⊦ dentrykey(m, str) = dentrykey(m0, str0) ↔ m = m0 ∧ str = str0; (ws)% ⊦ m ≤ n → (n ≤ m ↔ m = n); (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ ¬ dentrykey(m, str).data?; (s)% ⊦ dentrykey(m, str).name = str; (s)% ⊦ dentrykey(m, str).dentry?; (s)%⊦ dentrykey(ino, str) < key ↔ ino < key.ino ∨ key.dentry? ∧ ino = key.ino ∧ str < key.name ∨ key.data? ∧ ino = key.ino; (ws)% ⊦ dentrykey(m, str).ino = m; (s)