Sections of a 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 a member of the corresponding multiset.
Equations
- s.Sections = s.recOn {0} (fun (s : Multiset α) (x c : Multiset (Multiset α)) => s.bind fun (a : α) => Multiset.map (Multiset.cons a) c) ⋯
Instances For
@[simp]
theorem
Multiset.sections_cons
{α : Type u_1}
(s : Multiset (Multiset α))
(m : Multiset α)
:
(m ::ₘ s).Sections = m.bind fun (a : α) => Multiset.map (Multiset.cons a) s.Sections
theorem
Multiset.card_sections
{α : Type u_1}
{s : Multiset (Multiset α)}
:
Multiset.card s.Sections = (Multiset.map (⇑Multiset.card) s).prod