Results about big operators with values in a (semi)ring #
We prove results about big operators that involve some interaction between multiplicative and additive structures on the values being combined.
If f = g = h
everywhere but at i
, where f i = g i + h i
, then the product of f
over s
is the sum of the products of g
and h
.
The product over a sum can be written as a sum over the product of sets, Finset.Pi
.
Finset.prod_univ_sum
is an alternative statement when the product is over univ
.
The product over univ
of a sum can be written as a sum over the product of sets,
Fintype.piFinset
. Finset.prod_sum
is an alternative statement when the product is not
over univ
.
The product of f a + g a
over all of s
is the sum over the powerset of s
of the product of
f
over a subset t
times the product of g
over the complement of t
∏ i, (f i + g i) = (∏ i, f i) + ∑ i, g i * (∏ j < i, f j + g j) * (∏ j > i, f j)
.
Summing a^#s * b^(n-#s)
over all finite subsets s
of a fintype of cardinality n
gives (a + b)^n
. The "good" proof involves expanding along all coordinates using the fact that
x^n
is multilinear, but multilinear maps are only available now over rings, so we give instead
a proof reducing to the usual binomial theorem to have a result over semirings.
The product of f i - g i
over all of s
is the sum over the powerset of s
of the product of
g
over a subset t
times the product of f
over the complement of t
times (-1) ^ #t
.
∏ i, (f i - g i) = (∏ i, f i) - ∑ i, g i * (∏ j < i, f j - g j) * (∏ j > i, f j)
.
∏ i, (1 - f i) = 1 - ∑ i, f i * (∏ j < i, 1 - f j)
. This formula is useful in construction of
a partition of unity from a collection of “bump” functions.
Alias of Finset.prod_range_natCast_sub
.
A product of sums can be written as a sum of products.