| n0 + 1 < # ar, n0 + 1 < m, ar[n0 + 1] < ar[n0], n ≤ n0, m ≤ # ar, ∀ n0. n < n0 ∧ n0 + 1 < m → ¬ ar[n0 + 1] < ar[n0] ⊦ n0 = n, ar[n + 1] < a |
n < n0, n0 + 1 < # ar, n0 + 1 < m, ar[n0 + 1] < ar[n0], m ≤ # ar, ∀ n0. n < n0 ∧ n0 + 1 < m → ¬ ar[n0 + 1] < ar[n0] ⊦ n0 = n, ar[n + 1] < a
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≠ n → (m ≤ n ↔ m < n); (s)