Sums through linear maps and into a product #
Two small families used wherever a coordinate computation pushes a
finite sum through a bound map and then splits it across the
summands of a product: map_sum/map_zero at a bound linear map
or equivalence, and the four ways a sum can sit in A × B.
They are stated for bound maps because simp will not otherwise
rewrite under a LinearMap applied to a Finset.sum, and they
live here rather than beside their first user because two files
need them.
theorem
RS.lmap_zero
{M : Type u_1}
{N : Type u_2}
[AddCommMonoid M]
[Module ℂ M]
[AddCommMonoid N]
[Module ℂ N]
(f : M →ₗ[ℂ] N)
:
map_zero for a bound linear map.
theorem
RS.mk_sum_left
{A : Type u_3}
{B : Type u_4}
{ι : Type u_5}
[AddCommMonoid A]
[AddCommMonoid B]
(s : Finset ι)
(f : ι → A)
:
A sum in the left summand.
theorem
RS.mk_sum_right
{A : Type u_3}
{B : Type u_4}
{ι : Type u_5}
[AddCommMonoid A]
[AddCommMonoid B]
(t : Finset ι)
(g : ι → B)
:
A sum in the right summand.
theorem
RS.mk_sum_split
{A : Type u_3}
{B : Type u_4}
{ι : Type u_5}
{κ : Type u_6}
[AddCommMonoid A]
[AddCommMonoid B]
(s : Finset ι)
(t : Finset κ)
(f : ι → A)
(g : κ → B)
:
A pair of sums splits into the two summands' sums — the shape the even and odd blocks are computed in.