| 2 = count(A[m], mkbag(A, i0)), A[m1] = A[m], A[m0] = A[m], i0 < # A, m0 < # A, m < # A, m1 < # A, m0 < i0, m0 ≤ i0, m ≤ i0, m1 ≤ i0 ⊦ A[m] = A[i0], m = m1, m = m0, m0 = m1, m0 < i0 ∧ m < i0 ∧ m1 < i0 |
2 = count(A[m], mkbag(A, i0)), A[m1] = A[m], A[m0] = A[m], i0 < # A, m0 < # A, m < # A, m1 < # A, m0 < i0, m0 + 1 < # A, m ≤ i0, m1 ≤ i0 ⊦ A[m] = A[i0], m = m1, m = m0, m0 = m1, m < i0 ∧ m1 < i0
Used simplifier rules: ⊦ m +1 = m + 1; (s)% ⊦ m < n → n ≠ 0; (s)%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m < n → m ≤ n; (s)