Finsets are a Boolean algebra #
This file provides the BooleanAlgebra (Finset α) instance, under the assumption that α is a
Fintype.
Main results #
Finset.boundedOrder:Finset.univis the top element ofFinset αFinset.booleanAlgebra:Finset αis a Boolean algebra ifαis finite
@[simp]
@[instance_reducible]
@[instance_reducible]
instance Finset.booleanAlgebra {α : Type u_1} [Fintype α] [DecidableEq α] :
BooleanAlgebra (Finset α)
@[simp]
@[simp]
theorem Finset.subset_compl_iff_disjoint_right {α : Type u_1} {s t : Finset α} [Fintype α] [DecidableEq α] :
theorem Finset.subset_compl_iff_disjoint_left {α : Type u_1} {s t : Finset α} [Fintype α] [DecidableEq α] :
@[simp]
theorem Finset.subset_compl_singleton {α : Type u_1} {s : Finset α} [Fintype α] [DecidableEq α] {a : α} :
@[simp]
@[simp]
@[simp]
theorem Finset.compl_filter {α : Type u_1} [Fintype α] [DecidableEq α] (p : α → Prop) [DecidablePred p] [(x : α) → Decidable ¬p x] :
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 β] :
@[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 }] :
@[instance_reducible]
instance Finset.decidableCodisjoint {α : Type u_1} {s t : Finset α} [Fintype α] [DecidableEq α] :
Decidable (Codisjoint s t)
@[instance_reducible]