| kar[0, kar[m]][m0] = key-index(key, m2), kar[m1] = key-index(key0, m2), m0 + 1 < # kar, m1 < # kar, m1 + 1 < # kar, m < # kar, m0 < # kar, m0 < m, m1 < m, ∀ m0, m1. m0 < # kar ∧ ¬ m < m0 ∧ m1 < # kar ∧ ¬ m < m1 ∧ m0 ≠ m1 → kar[m0].idx ≠ kar[m1].idx ⊦ m0 = m1, m1 = 0 |
kar[m1] = key-index(key0, m2), kar[0, kar[m]][m0] = key-index(key, m2), m0 = 0, m1 < m, m0 < m, m0 < # kar, m < # kar, m1 + 1 < # kar, m1 < # kar, m0 + 1 < # kar, ∀ m0, m1. m0 < # kar ∧ ¬ m < m0 ∧ m1 < # kar ∧ ¬ m < m1 ∧ m0 ≠ m1 → kar[m0].idx ≠ kar[m1].idx ⊦ m0 = m1, m1 = 0
kar[m1] = key-index(key0, m2), kar[0, kar[m]][m0] = key-index(key, m2), m1 < m, m0 < m, m0 < # kar, m < # kar, m1 + 1 < # kar, m1 < # kar, m0 + 1 < # kar, ∀ m0, m1. m0 < # kar ∧ ¬ m < m0 ∧ m1 < # kar ∧ ¬ m < m1 ∧ m0 ≠ m1 → kar[m0].idx ≠ kar[m1].idx ⊦ m0 = m1, m0 = 0, m1 = 0
Used formulas: m0 = 0