Big operators indexed by intervals #
This file proves lemmas about ∏ x ∈ Ixx a b, f x and ∑ x ∈ Ixx a b, f x.
theorem
Finset.mul_prod_Ico_eq_prod_Icc
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a ≤ b)
:
theorem
Finset.add_sum_Ico_eq_sum_Icc
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a ≤ b)
:
theorem
Finset.prod_Ico_mul_eq_prod_Icc
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a ≤ b)
:
theorem
Finset.sum_Ico_add_eq_sum_Icc
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a ≤ b)
:
theorem
Finset.mul_prod_Ioc_eq_prod_Icc
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a ≤ b)
:
theorem
Finset.add_sum_Ioc_eq_sum_Icc
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a ≤ b)
:
theorem
Finset.prod_Ioc_mul_eq_prod_Icc
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a ≤ b)
:
theorem
Finset.sum_Ioc_add_eq_sum_Icc
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a ≤ b)
:
theorem
Finset.mul_prod_Ioo_eq_prod_Ico
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a < b)
:
theorem
Finset.add_sum_Ioo_eq_sum_Ico
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a < b)
:
theorem
Finset.prod_Ioo_mul_eq_prod_Ico
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a < b)
:
theorem
Finset.sum_Ioo_add_eq_sum_Ico
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a < b)
:
theorem
Finset.mul_prod_Ioo_eq_prod_Ioc
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a < b)
:
theorem
Finset.add_sum_Ioo_eq_sum_Ioc
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a < b)
:
theorem
Finset.prod_Ioo_mul_eq_prod_Ioc
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a < b)
:
theorem
Finset.sum_Ioo_add_eq_sum_Ioc
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
{a b : α}
[PartialOrder α]
[LocallyFiniteOrder α]
(h : a < b)
:
theorem
Finset.mul_prod_Ioi_eq_prod_Ici
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
[PartialOrder α]
[LocallyFiniteOrderTop α]
(a : α)
:
theorem
Finset.add_sum_Ioi_eq_sum_Ici
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
[PartialOrder α]
[LocallyFiniteOrderTop α]
(a : α)
:
theorem
Finset.prod_Ioi_mul_eq_prod_Ici
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
[PartialOrder α]
[LocallyFiniteOrderTop α]
(a : α)
:
theorem
Finset.sum_Ioi_add_eq_sum_Ici
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
[PartialOrder α]
[LocallyFiniteOrderTop α]
(a : α)
:
theorem
Finset.mul_prod_Iio_eq_prod_Iic
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
[PartialOrder α]
[LocallyFiniteOrderBot α]
(a : α)
:
theorem
Finset.add_sum_Iio_eq_sum_Iic
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
[PartialOrder α]
[LocallyFiniteOrderBot α]
(a : α)
:
theorem
Finset.prod_Iio_mul_eq_prod_Iic
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{f : α → M}
[PartialOrder α]
[LocallyFiniteOrderBot α]
(a : α)
:
theorem
Finset.sum_Iio_add_eq_sum_Iic
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{f : α → M}
[PartialOrder α]
[LocallyFiniteOrderBot α]
(a : α)
:
theorem
Finset.prod_Ico_mul_eq_prod_Ico_add_one
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
{a b : α}
[LinearOrder α]
[LocallyFiniteOrder α]
[AddMonoidWithOne α]
[SuccAddOrder α]
[NoMaxOrder α]
(hab : a ≤ b)
(f : α → M)
:
theorem
Finset.sum_Ico_add_eq_sum_Ico_add_one
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
{a b : α}
[LinearOrder α]
[LocallyFiniteOrder α]
[AddMonoidWithOne α]
[SuccAddOrder α]
[NoMaxOrder α]
(hab : a ≤ b)
(f : α → M)
:
theorem
Finset.prod_prod_Ioi_mul_eq_prod_prod_off_diag
{α : Type u_1}
{M : Type u_2}
[CommMonoid M]
[LinearOrder α]
[Fintype α]
[LocallyFiniteOrderTop α]
[LocallyFiniteOrderBot α]
(f : α → α → M)
:
theorem
Finset.sum_sum_Ioi_add_eq_sum_sum_off_diag
{α : Type u_1}
{M : Type u_2}
[AddCommMonoid M]
[LinearOrder α]
[Fintype α]
[LocallyFiniteOrderTop α]
[LocallyFiniteOrderBot α]
(f : α → α → M)
:
theorem
Finset.prod_eq_prod_range_sdiff
{α : Type u_3}
{β : Type u_4}
[DecidableEq α]
[CommMonoid β]
(s : ℕ → Finset α)
(hs : Monotone s)
(g : α → β)
(n : ℕ)
:
Given a sequence of finite sets s₀ ⊆ s₁ ⊆ s₂ ⋯, the product of gᵢ over i ∈ sₙ is equal
to ∏_{i ∈ s₀} gᵢ * ∏_{j < n, i ∈ sⱼ₊₁ \ sⱼ} gᵢ.
theorem
Finset.sum_eq_sum_range_sdiff
{α : Type u_3}
{β : Type u_4}
[DecidableEq α]
[AddCommMonoid β]
(s : ℕ → Finset α)
(hs : Monotone s)
(g : α → β)
(n : ℕ)
:
Given a sequence of finite sets s₀ ⊆ s₁ ⊆ s₂ ⋯, the sum of gᵢ over i ∈ sₙ is
equal to ∑_{i ∈ s₀} gᵢ + ∑_{j < n, i ∈ sⱼ₊₁ \ sⱼ} gᵢ.