Module docstring
{"# fintype instance for Set α, when α is a fintype
"}
{"# fintype instance for Set α, when α is a fintype
"}
Finset.fintype
instance
[Fintype α] : Fintype (Finset α)
instance Finset.fintype [Fintype α] : Fintype (Finset α) :=
⟨univ.powerset, fun _ => Finset.mem_powerset.2 (Finset.subset_univ _)⟩
Fintype.card_finset
theorem
[Fintype α] : Fintype.card (Finset α) = 2 ^ Fintype.card α
@[simp]
theorem Fintype.card_finset [Fintype α] : Fintype.card (Finset α) = 2 ^ Fintype.card α :=
Finset.card_powerset Finset.univ
Finset.powerset_univ
theorem
: (univ : Finset α).powerset = univ
@[simp] lemma powerset_univ : (univ : Finset α).powerset = univ :=
coe_injective <| by simp [-coe_eq_univ]
Finset.filter_subset_univ
theorem
[DecidableEq α] (s : Finset α) : ({t | t ⊆ s} : Finset _) = powerset s
lemma filter_subset_univ [DecidableEq α] (s : Finset α) :
({t | t ⊆ s} : Finset _) = powerset s := by ext; simp
Finset.powerset_eq_univ
theorem
: s.powerset = univ ↔ s = univ
@[simp] lemma powerset_eq_univ : s.powerset = univ ↔ s = univ := by
rw [← Finset.powerset_univ, powerset_inj]
Finset.mem_powersetCard_univ
theorem
: s ∈ powersetCard k (univ : Finset α) ↔ #s = k
Finset.univ_filter_card_eq
theorem
(k : ℕ) : ({s | #s = k} : Finset (Finset α)) = univ.powersetCard k
@[simp] lemma univ_filter_card_eq (k : ℕ) :
({s | #s = k} : Finset (Finset α)) = univ.powersetCard k := by ext; simp
Fintype.card_finset_len
theorem
[Fintype α] (k : ℕ) : Fintype.card { s : Finset α // #s = k } = Nat.choose (Fintype.card α) k
@[simp]
theorem Fintype.card_finset_len [Fintype α] (k : ℕ) :
Fintype.card { s : Finset α // #s = k } = Nat.choose (Fintype.card α) k := by
simp [Fintype.subtype_card, Finset.card_univ]
Set.fintype
instance
[Fintype α] : Fintype (Set α)
Set.instFinite
instance
[Finite α] : Finite (Set α)
instance Set.instFinite [Finite α] : Finite (Set α) := by
cases nonempty_fintype α
infer_instance
Fintype.card_set
theorem
[Fintype α] : Fintype.card (Set α) = 2 ^ Fintype.card α
@[simp]
theorem Fintype.card_set [Fintype α] : Fintype.card (Set α) = 2 ^ Fintype.card α :=
(Finset.card_map _).trans (Finset.card_powerset _)