| 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[m]) ++ A[n0] ++ a, A[n0] = A[m] |
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 = mkbag(A[m, a], n0), A[n0] = A[m]
Used simplifier rules: ⊦ bag0 ++ a ++ b = bag1 ++ a ↔ bag0 ++ b = bag1; (ss)%m ≠ n ⊦ ar[m, a][n] = ar[n]; (s)