Documentation

Mathlib.Combinatorics.Additive.SubsetSum

Subset sums #

This file defines the subset sum of a finite subset of a commutative monoid.

References #

def Finset.subsetSum {M : Type u_1} [DecidableEq M] [AddCommMonoid M] (A : Finset M) :

The subset-sum of a finite set A in a commutative monoid is the set of all sums of subsets of A.

Equations
Instances For
    theorem Finset.mem_subsetSum_iff {M : Type u_1} [DecidableEq M] [AddCommMonoid M] {A : Finset M} {a : M} :
    a ∈ A.subsetSum ↔ ∃ B ⊆ A, ∑ b ∈ B, b = a
    @[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) :
    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) :
    x ∈ A.subsetSum → 0 ≤ x
    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) :