Finset
s are a boolean algebra #
This file provides the BooleanAlgebra (Finset α)
instance, under the assumption that α
is a
Fintype
.
Main results #
Finset.boundedOrder
:Finset.univ
is the top element ofFinset α
Finset.booleanAlgebra
:Finset α
is a boolean algebra ifα
is finite
Equations
instance
Finset.booleanAlgebra
{α : Type u_1}
[Fintype α]
[DecidableEq α]
:
BooleanAlgebra (Finset α)
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Finset.image_univ_of_surjective
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq α]
[Fintype β]
{f : β → α}
(hf : Function.Surjective f)
:
@[simp]
@[simp]
@[simp]
theorem
Finset.univ_filter_exists
{α : Type u_1}
{β : Type u_2}
[Fintype α]
(f : α → β)
[Fintype β]
[DecidablePred fun (y : β) => ∃ (x : α), f x = y]
[DecidableEq β]
:
theorem
Finset.univ_filter_mem_range
{α : Type u_1}
{β : Type u_2}
[Fintype α]
(f : α → β)
[Fintype β]
[DecidablePred fun (y : β) => y ∈ Set.range f]
[DecidableEq β]
:
Note this is a special case of (Finset.image_preimage f univ _).symm
.
@[simp]
theorem
Finset.subtype_univ
{α : Type u_1}
[Fintype α]
(p : α → Prop)
[DecidablePred p]
[Fintype { a : α // p a }]
:
theorem
Finset.univ_val_map_subtype_val
{α : Type u_1}
[Fintype α]
(p : α → Prop)
[DecidablePred p]
[Fintype { a : α // p a }]
:
@[simp]
instance
Finset.decidableCodisjoint
{α : Type u_1}
{s t : Finset α}
[Fintype α]
[DecidableEq α]
:
Decidable (Codisjoint s t)
Equations
- Finset.decidableCodisjoint = decidable_of_iff (∀ ⦃a : α⦄, a ∉ s → a ∈ t) ⋯
Equations
- Finset.decidableIsCompl = decidable_of_iff' (Disjoint s t ∧ Codisjoint s t) ⋯