Subset sums #
This file defines the subset sum of a finite subset of a commutative monoid.
References #
The subset-sum of a finite set A in a commutative monoid is the set of all sums
of subsets of A.
Instances For
theorem
Finset.mem_subsetSum_iff
{M : Type u_1}
[DecidableEq M]
[AddCommMonoid M]
{A : Finset M}
{a : M}
:
@[simp]
@[simp]
theorem
Finset.subsetSum_mono
{M : Type u_1}
[DecidableEq M]
[AddCommMonoid M]
{A B : Finset M}
(hAB : A ⊆ B)
:
@[simp]
theorem
Finset.subsetSum_erase_zero
{M : Type u_1}
[DecidableEq M]
[AddCommMonoid M]
{A : Finset M}
:
theorem
Finset.vadd_finset_subsetSum_subset_subsetSum_insert
{M : Type u_1}
[DecidableEq M]
[AddCommMonoid M]
{A : Finset M}
{a : M}
(a_notin_A : a ∉ A)
:
theorem
Finset.nonneg_of_mem_subsetSum
{M : Type u_1}
[DecidableEq M]
[AddCommMonoid M]
{A : Finset M}
[LinearOrder M]
[IsOrderedCancelAddMonoid M]
(A_nonneg : ∀ x ∈ A, 0 ≤ x)
(x : M)
:
theorem
Finset.card_add_card_subsetSum_lt_card_subsetSum_insert_max
{M : Type u_1}
[DecidableEq M]
[AddCommMonoid M]
{A : Finset M}
{a : M}
[LinearOrder M]
[IsOrderedCancelAddMonoid M]
(hA : ∀ x ∈ A, 0 < x)
(hAa : ∀ x ∈ A, x < a)
(ha : 0 < a)
:
theorem
Finset.card_succ_choose_two_lt_card_subsetSum_of_pos
{M : Type u_1}
[DecidableEq M]
[AddCommMonoid M]
{A : Finset M}
[LinearOrder M]
[IsOrderedCancelAddMonoid M]
(A_pos : ∀ x ∈ A, 0 < x)
:
theorem
Finset.card_choose_two_lt_card_subsetSum_of_nonneg
{M : Type u_1}
[DecidableEq M]
[AddCommMonoid M]
{A : Finset M}
[LinearOrder M]
[IsOrderedCancelAddMonoid M]
(A_pos : ∀ x ∈ A, 0 ≤ x)
: