| A[n0] = A[m], mkbag(A[m, a], n0) = (mkbag(A, n0) -- A[m]) ++ a, m < # A, m ≤ n0, ∀ m, A, a. m < n0 ∧ m < # A → mkbag(A[m, a], n0) = (mkbag(A, n0) -- A[m]) ++ a ⊦ mkbag(A[m, a], n0) ++ A[m, a][n0] = mkbag(A, n0) ++ a |
A[n0] = A[m], mkbag(A[m, a], n0) = (mkbag(A, n0) -- A[m]) ++ a, m < # A, m ≤ n0, ∀ m, A, a. m < n0 ∧ m < # A → mkbag(A[m, a], n0) = (mkbag(A, n0) -- A[m]) ++ a ⊦ (mkbag(A, n0) -- A[m]) ++ A[m, a][n0] = mkbag(A, n0)
Used simplifier rules: ⊦ bag0 ++ a ++ b = bag1 ++ a ↔ bag0 ++ b = bag1; (ss)