| kar[m3] = key-index(key2, m4), kar[m1, key-index(key, m0)][m2] = key-index(key1, m4), kar[m1] = key-index(key0, m0), m3 < m, m3 < # kar, m2 < m, m2 < # kar, ∀ m0, m1. m0 < # kar ∧ m0 < m ∧ m1 < # kar ∧ m1 < m ∧ m0 ≠ m1 → kar[m0].idx ≠ kar[m1].idx ⊦ m2 = m3, m2 = m1, m3 = m1 |
kar[m3] = key-index(key2, m4), kar[m1] = key-index(key0, m0), kar[m2] = key-index(key1, m4), m2 < # kar, m2 < m, m3 < # kar, m3 < m, ∀ m0, m1. m0 < # kar ∧ m0 < m ∧ m1 < # kar ∧ m1 < m ∧ m0 ≠ m1 → kar[m0].idx ≠ kar[m1].idx ⊦ m2 = m1, m2 = m3, m3 = m1
Used simplifier rules: ⊦ m ≠ n → kar[n, ki][m] = kar[m]; (s)