| A[n0] = A[n], A[m] = A[n], count(A[n], mkbag(A, i)) = m0 + 1, m0 = m1 + 1, m1 = 0, m < i, n < i, n0 < i, m < # A, n < # A, n0 < # A, i ≤ # A ⊦ m0 = 0, n = n0, n = m, n0 = m |
A[m] = A[n], A[n0] = A[n], count(A[n], mkbag(A, i)) = 2, n0 < # A, n < # A, m < # A, n0 < i, n < i, m < i, i ≤ # A ⊦ n = m, n = n0, n0 = m
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic