| m < m0, n < # zbrar, n + m3 + 1 < # zbrar, ∀ m, m0. m < m0 ∧ ¬ m3 + 1 < m0 → zbrar[n + m].key < zbrar[n + m0].key ⊦ zbrar[(n + 1) + m].key < zbrar[(n + 1) + m0].key, m3 < m0, sorted(zbrar, n + 1, m3 + 1) ∧ zbrar[n].key < zbrar[n + 1].key |
n + m3 + 1 < # zbrar, n < # zbrar, m < m0, m < m3, m0 ≤ m3, ∀ m, m0. m < m0 ∧ ¬ m3 + 1 < m0 → zbrar[n + m].key < zbrar[n + m0].key ⊦ zbrar[(n + 1) + m].key < zbrar[(n + 1) + m0].key, sorted(zbrar, n + 1, m3 + 1) ∧ zbrar[n].key < zbrar[n + 1].key
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m < n ↔ ¬ n ≤ m; (ss)