mathlib documentation

data.multiset.sections

Sections of a multiset #

def multiset.sections {α : Type u_1} (s : multiset (multiset α)) :

The sections of a multiset of multisets s consists of all those multisets which can be put in bijection with s, so each element is an member of the corresponding multiset.

Equations
@[simp]
theorem multiset.sections_zero {α : Type u_1} :
0.sections = {0}
@[simp]
theorem multiset.sections_cons {α : Type u_1} (s : multiset (multiset α)) (m : multiset α) :
(m ::ₘ s).sections = m.bind (λ (a : α), multiset.map (multiset.cons a) s.sections)
theorem multiset.coe_sections {α : Type u_1} (l : list (list α)) :
↑(list.map (λ (l : list α), ↑l) l).sections = ↑(list.map (λ (l : list α), ↑l) l.sections)
@[simp]
theorem multiset.sections_add {α : Type u_1} (s t : multiset (multiset α)) :
theorem multiset.mem_sections {α : Type u_1} {s : multiset (multiset α)} {a : multiset α} :
a ∈ s.sections ↔ multiset.rel (λ (s : multiset α) (a : α), a ∈ s) s a