@[implicit_reducible]
theorem
Finset.toLeft_eq_univ
{α : Type u_3}
{β : Type u_4}
[Fintype α]
{u : Finset (α ⊕ β)}
:
u.toLeft = univ ↔ map Function.Embedding.inl univ ⊆ u
theorem
Finset.toRight_eq_empty
{α : Type u_3}
{β : Type u_4}
[Fintype α]
{u : Finset (α ⊕ β)}
:
u.toRight = ∅ ↔ u ⊆ map Function.Embedding.inl univ
theorem
Finset.toRight_eq_univ
{α : Type u_3}
{β : Type u_4}
[Fintype β]
{u : Finset (α ⊕ β)}
:
u.toRight = univ ↔ map Function.Embedding.inr univ ⊆ u
theorem
Finset.toLeft_eq_empty
{α : Type u_3}
{β : Type u_4}
[Fintype β]
{u : Finset (α ⊕ β)}
:
u.toLeft = ∅ ↔ u ⊆ map Function.Embedding.inr univ
@[simp]
@[simp]
@[simp]
theorem
image_subtype_ne_univ_eq_image_erase
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq β]
(k : β)
(b : α → β)
:
Finset.image (fun (i : { a : α // b a ≠ k }) => b ↑i) Finset.univ = (Finset.image b Finset.univ).erase k
theorem
image_subtype_univ_ssubset_image_univ
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq β]
(k : β)
(b : α → β)
(hk : k ∈ Finset.image b Finset.univ)
(p : β → Prop)
[DecidablePred p]
(hp : ¬p k)
:
Finset.image (fun (i : { a : α // p (b a) }) => b ↑i) Finset.univ ⊂ Finset.image b Finset.univ
theorem
Finset.exists_equiv_extend_of_card_eq
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq β]
{t : Finset β}
(hαt : Fintype.card α = t.card)
{s : Finset α}
{f : α → β}
(hfst : image f s ⊆ t)
(hfs : Set.InjOn f ↑s)
:
∃ (g : α ≃ ↥t), ∀ i ∈ s, ↑(g i) = f i
Any injection from a finset s in a fintype α to a finset t of the same cardinality as α
can be extended to a bijection between α and t.
theorem
Set.MapsTo.exists_equiv_extend_of_card_eq
{α : Type u_1}
{β : Type u_2}
[Fintype α]
{t : Finset β}
(hαt : Fintype.card α = t.card)
{s : Set α}
{f : α → β}
(hfst : MapsTo f s ↑t)
(hfs : InjOn f s)
:
∃ (g : α ≃ ↥t), ∀ i ∈ s, ↑(g i) = f i
Any injection from a set s in a fintype α to a finset t of the same cardinality as α
can be extended to a bijection between α and t.
theorem
Fintype.card_subtype_eq_or_eq_of_ne
{α : Type u_3}
[Fintype α]
[DecidableEq α]
{a b : α}
(h : a ≠ b)
:
card { c : α // c = a ∨ c = b } = 2
@[simp]