Disjoint finite sets #
Main declarations #
Disjoint: defined via the lattice structure on finsets; two sets are disjoint if their intersection is empty.Finset.disjUnion: the union of the finite setssandt, given a proofDisjoint s t
Tags #
finite sets, finset
disjoint #
theorem
Finset.disjoint_left
{α : Type u_2}
{s t : Finset α}
:
Disjoint s t ↔ ∀ ⦃a : α⦄, a ∈ s → a ∉ t
theorem
Disjoint.notMem_of_mem_left_finset
{α : Type u_2}
{s t : Finset α}
:
Disjoint s t → ∀ ⦃a : α⦄, a ∈ s → a ∉ t
Alias of the forward direction of Finset.disjoint_left.
theorem
Finset.disjoint_right
{α : Type u_2}
{s t : Finset α}
:
Disjoint s t ↔ ∀ ⦃a : α⦄, a ∈ t → a ∉ s
theorem
Disjoint.notMem_of_mem_right_finset
{α : Type u_2}
{s t : Finset α}
:
Disjoint s t → ∀ ⦃a : α⦄, a ∈ t → a ∉ s
Alias of the forward direction of Finset.disjoint_right.
theorem
Finset.disjoint_iff_ne
{α : Type u_2}
{s t : Finset α}
:
Disjoint s t ↔ ∀ a ∈ s, ∀ b ∈ t, a ≠ b
@[simp]
theorem
Disjoint.forall_ne_finset
{α : Type u_2}
{s t : Finset α}
{a b : α}
(h : Disjoint s t)
(ha : a ∈ s)
(hb : b ∈ t)
:
a ≠ b
theorem
Finset.disjoint_of_subset_left
{α : Type u_2}
{s t u : Finset α}
(h : s ⊆ u)
(d : Disjoint u t)
:
Disjoint s t
theorem
Finset.disjoint_of_subset_right
{α : Type u_2}
{s t u : Finset α}
(h : t ⊆ u)
(d : Disjoint s u)
:
Disjoint s t
@[simp]
@[simp]
@[simp]
theorem
Finset.disjoint_singleton_left
{α : Type u_2}
{s : Finset α}
{a : α}
:
Disjoint {a} s ↔ a ∉ s
@[simp]
theorem
Finset.disjoint_singleton_right
{α : Type u_2}
{s : Finset α}
{a : α}
:
Disjoint s {a} ↔ a ∉ s
@[simp]
@[simp]
theorem
Finset.pairwiseDisjoint_coe
{α : Type u_2}
{ι : Type u_5}
{s : Set ι}
{f : ι → Finset α}
:
(s.PairwiseDisjoint fun (i : ι) => ↑(f i)) ↔ s.PairwiseDisjoint f
@[simp]
theorem
Finset.pairwiseDisjoint_singleton_iff_injOn
{ι : Type u_1}
{α : Type u_2}
{s : Set ι}
{f : ι → α}
:
(s.PairwiseDisjoint fun (i : ι) => {f i}) ↔ Set.InjOn f s
@[implicit_reducible]
instance
Finset.decidableDisjoint
{α : Type u_2}
[DecidableEq α]
(U V : Finset α)
:
Decidable (Disjoint U V)
disjoint union #
@[simp]
@[simp]
theorem
Finset.mem_disjUnion
{α : Type u_5}
{s t : Finset α}
{h : Disjoint s t}
{a : α}
:
a ∈ s.disjUnion t h ↔ a ∈ s ∨ a ∈ t
@[simp]
theorem
Finset.coe_disjUnion
{α : Type u_2}
{s t : Finset α}
(h : Disjoint s t)
:
↑(s.disjUnion t h) = ↑s ∪ ↑t
@[simp]
@[simp]
@[simp]
theorem
Finset.empty_disjUnion
{α : Type u_2}
(t : Finset α)
(h : Disjoint ∅ t := ⋯)
:
∅.disjUnion t h = t
@[simp]
theorem
Finset.disjUnion_empty
{α : Type u_2}
(s : Finset α)
(h : Disjoint s ∅ := ⋯)
:
s.disjUnion ∅ h = s
insert #
@[simp]
@[simp]
@[simp]
@[simp]
theorem
List.disjoint_toFinset_iff_disjoint
{α : Type u_2}
[DecidableEq α]
{l l' : List α}
:
_root_.Disjoint l.toFinset l'.toFinset ↔ l.Disjoint l'