| ∀ n, m. sum-of-differences(n, bag0 -- m) = (m ∈ bag0 ⊃ sum-of-differences(n, bag0) - (n - m);sum-of-differences(n, bag0)) ⊦ sum-of-differences(n, (vtblpnum = m ⊃ bag0;(bag0 -- m) ++ vtblpnum)) = (m ∈ bag0 ++ vtblpnum ⊃ (n - vtblpnum) + sum-of-differences(n, bag0) - (n - m);(n - vtblpnum) + sum-of-differences(n, bag0)) |
∀ n, m. sum-of-differences(n, bag0 -- m) = (m ∈ bag0 ⊃ sum-of-differences(n, bag0) - (n - m);sum-of-differences(n, bag0)) ⊦ sum-of-differences(n, (bag0 -- m) ++ vtblpnum) = (m ∈ bag0 ++ vtblpnum ⊃ (n - vtblpnum) + sum-of-differences(n, bag0) - (n - m);(n - vtblpnum) + sum-of-differences(n, bag0)), vtblpnum = m
Used simplifier rules: ⊦ n ∈ bag0 ++ n; (s)% ⊦ m + n - m = n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic