| key-index(key, kar[0].idx) = kar[0], 2exp-size(# kar), no-dups-idx(kar, 1), valid-idx(kar, ar, 1), 1 ≤ # kar ⊦ # kar = 0, kar[0].key < key, ∃ key0. key-index(key0, kar[0].idx) = kar[0] ∧ ∅ = (∅ ++ kar[0]) -- key-index(key0, kar[0].idx) ∧ ¬ kar[0].key < key0 |
kar[0] = key-index(key1, m), key-index(key, m) = kar[0], 2exp-size(# kar), no-dups-idx(kar, 1), valid-idx(kar, ar, 1), 1 ≤ # kar ⊦ # kar = 0, key1 < key, ∃ key0. key-index(key0, m) = kar[0] ∧ ∅ = (∅ ++ kar[0]) -- key-index(key0, m) ∧ ¬ key1 < key0
Used simplifier rules: ⊦ key = ki.key ∧ m = ki.idx ↔ ki = key-index(key, m); (elim) Used terms: kar[0], key1, m