Lemmas about list.sum
and list.prod
requiring extra algebra imports #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
theorem
list.pow_card_le_prod
{M : Type u_3}
[monoid M]
[preorder M]
[covariant_class M M (function.swap has_mul.mul) has_le.le]
[covariant_class M M has_mul.mul has_le.le]
(l : list M)
(n : M)
(h : ∀ (x : M), x ∈ l → n ≤ x) :
theorem
list.card_nsmul_le_sum
{M : Type u_3}
[add_monoid M]
[preorder M]
[covariant_class M M (function.swap has_add.add) has_le.le]
[covariant_class M M has_add.add has_le.le]
(l : list M)
(n : M)
(h : ∀ (x : M), x ∈ l → n ≤ x) :
theorem
list.alternating_prod_append
{α : Type u_2}
[comm_group α]
(l₁ l₂ : list α) :
(l₁ ++ l₂).alternating_prod = l₁.alternating_prod * l₂.alternating_prod ^ (-1) ^ l₁.length
theorem
list.alternating_sum_append
{α : Type u_2}
[add_comm_group α]
(l₁ l₂ : list α) :
(l₁ ++ l₂).alternating_sum = l₁.alternating_sum + (-1) ^ l₁.length • l₂.alternating_sum
theorem
list.alternating_prod_reverse
{α : Type u_2}
[comm_group α]
(l : list α) :
l.reverse.alternating_prod = l.alternating_prod ^ (-1) ^ (l.length + 1)
theorem
list.alternating_sum_reverse
{α : Type u_2}
[add_comm_group α]
(l : list α) :
l.reverse.alternating_sum = (-1) ^ (l.length + 1) • l.alternating_sum
theorem
unop_map_list_prod
{M : Type u_3}
{N : Type u_4}
[monoid M]
[monoid N]
{F : Type u_1}
[monoid_hom_class F M Nᵐᵒᵖ]
(f : F)
(l : list M) :
mul_opposite.unop (⇑f l.prod) = (list.map (mul_opposite.unop ∘ ⇑f) l).reverse.prod
A morphism into the opposite monoid acts on the product by acting on the reversed elements.
@[protected]
theorem
monoid_hom.unop_map_list_prod
{M : Type u_3}
{N : Type u_4}
[monoid M]
[monoid N]
(f : M →* Nᵐᵒᵖ)
(l : list M) :
mul_opposite.unop (⇑f l.prod) = (list.map (mul_opposite.unop ∘ ⇑f) l).reverse.prod
A morphism into the opposite monoid acts on the product by acting on the reversed elements.
Deprecated, use _root_.unop_map_list_prod
instead.