| kar[m0] = key-index(key0, m3), m0 + 1 < # kar, m0 < # kar, n < # kar, m0 < n, ∀ m0, m1. m0 < # kar ∧ m0 < n ∧ m1 < # kar ∧ m1 < n ∧ m0 ≠ m1 → kar[m0].idx ≠ kar[m1].idx ⊦ m0 = n, key-index(key0, m3) ∈ keyset(kar, n) ∧ key-index(key0, m3).idx = m3 |
kar[m0] = key-index(key0, m3), m0 < n, n < # kar, m0 < # kar, m0 + 1 < # kar, ∀ m0, m1. m0 < # kar ∧ m0 < n ∧ m1 < # kar ∧ m1 < n ∧ m0 ≠ m1 → kar[m0].idx ≠ kar[m1].idx ⊦ m0 = n, key-index(key0, m3) ∈ keyset(kar, n)
Used simplifier rules: ⊦ key-index(key, m).idx = m; (s)