| (4 + 2 * m1 < n ∧ key2 < key1 ⊃ key-index(key2, m4);key-index(key1, m3)) = key-index(key, m0), kar[m1 / 2] = key-index(key4, m6), kar[m1 + 1] = key-index(key3, m5), kar[4 + 2 * m1] = key-index(key2, m4), kar[3 + 2 * m1] = key-index(key1, m3), 3 + 2 * m1 < n, key < key4, m1 + 1 < n, m1 + 1 < # kar, 3 + 2 * m1 < # kar, n ≤ # kar, ∀ m. m < n ∧ m ≠ 0 → ¬ kar[m].key < kar[(m - 1) / 2].key ⊦ key3 < key4 |
kar[3 + 2 * m1] = key-index(key1, m3), kar[4 + 2 * m1] = key-index(key2, m4), kar[m1 + 1] = key-index(key3, m5), kar[m1 / 2] = key-index(key4, m6), key-index(key2, m4) = key-index(key, m0), 3 + 2 * m1 < # kar, m1 + 1 < # kar, m1 + 1 < n, key < key4, 3 + 2 * m1 < n, 4 + 2 * m1 < n, key2 < key1, n ≤ # kar, ∀ m. m < n ∧ m ≠ 0 → ¬ kar[m].key < kar[(m - 1) / 2].key ⊦ key3 < key4
kar[3 + 2 * m1] = key-index(key1, m3), kar[4 + 2 * m1] = key-index(key2, m4), kar[m1 + 1] = key-index(key3, m5), kar[m1 / 2] = key-index(key4, m6), key-index(key1, m3) = key-index(key, m0), 3 + 2 * m1 < # kar, m1 + 1 < # kar, m1 + 1 < n, key < key4, 3 + 2 * m1 < n, n ≤ # kar, ∀ m. m < n ∧ m ≠ 0 → ¬ kar[m].key < kar[(m - 1) / 2].key, ¬ 4 + 2 * m1 < n ∨ ¬ key2 < key1 ⊦ key3 < key4