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.subset_subsetSum {M : Type u_1} [DecidableEq M] [AddCommMonoid M] {A : Finset M} :
A ⊆ A.subsetSum
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) :