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