Intersecting families #
This file defines intersecting families and proves their basic properties.
Main declarations #
Set.Intersecting: Predicate for a set of elements in a generalized Boolean algebra to be an intersecting family.Set.Intersecting.card_le: An intersecting family can only take up to half the elements, becauseaandaᶜcannot simultaneously be in it.Set.Intersecting.is_max_iff_card_eq: Any maximal intersecting family takes up half the elements.Set.IsIntersectingOf: Predicate stating that a family𝒜of finsets isL-intersecting, i.e., meaning the intersection size of every pair of distinct members of𝒜belongs toL ⊆ ℕ.
References #
A set family is intersecting if every pair of elements is non-disjoint.
Instances For
theorem
Set.Intersecting.mono
{α : Type u_1}
[SemilatticeInf α]
[OrderBot α]
{s t : Set α}
(h : t ⊆ s)
(hs : s.Intersecting)
:
theorem
Set.Intersecting.bot_notMem
{α : Type u_1}
[SemilatticeInf α]
[OrderBot α]
{s : Set α}
(hs : s.Intersecting)
:
⊥ ∉ s
theorem
Set.Intersecting.ne_bot
{α : Type u_1}
[SemilatticeInf α]
[OrderBot α]
{s : Set α}
{a : α}
(hs : s.Intersecting)
(ha : a ∈ s)
:
@[simp]
theorem
Set.Intersecting.insert
{α : Type u_1}
[SemilatticeInf α]
[OrderBot α]
{s : Set α}
{a : α}
(hs : s.Intersecting)
(ha : a ≠ ⊥)
(h : ∀ b ∈ s, ¬Disjoint a b)
:
(insert a s).Intersecting
theorem
Set.intersecting_insert
{α : Type u_1}
[SemilatticeInf α]
[OrderBot α]
{s : Set α}
{a : α}
:
theorem
Set.Subsingleton.intersecting
{α : Type u_1}
[SemilatticeInf α]
[OrderBot α]
{s : Set α}
(hs : s.Subsingleton)
:
theorem
Set.intersecting_iff_eq_empty_of_subsingleton
{α : Type u_1}
[SemilatticeInf α]
[OrderBot α]
[Subsingleton α]
(s : Set α)
:
theorem
Set.Intersecting.isUpperSet
{α : Type u_1}
[SemilatticeInf α]
[OrderBot α]
{s : Set α}
(hs : s.Intersecting)
(h : ∀ (t : Set α), t.Intersecting → s ⊆ t → s = t)
:
Maximal intersecting families are upper sets.
theorem
Set.Intersecting.isUpperSet'
{α : Type u_1}
[SemilatticeInf α]
[OrderBot α]
{s : Finset α}
(hs : (↑s).Intersecting)
(h : ∀ (t : Finset α), (↑t).Intersecting → s ⊆ t → s = t)
:
IsUpperSet ↑s
Maximal intersecting families are upper sets. Finset version.
theorem
Set.Intersecting.exists_mem_set
{α : Type u_1}
{𝒜 : Set (Set α)}
(h𝒜 : 𝒜.Intersecting)
{s t : Set α}
(hs : s ∈ 𝒜)
(ht : t ∈ 𝒜)
:
∃ a ∈ s, a ∈ t
theorem
Set.Intersecting.exists_mem_finset
{α : Type u_1}
[DecidableEq α]
{𝒜 : Set (Finset α)}
(h𝒜 : 𝒜.Intersecting)
{s t : Finset α}
(hs : s ∈ 𝒜)
(ht : t ∈ 𝒜)
:
∃ a ∈ s, a ∈ t
theorem
Set.Intersecting.compl_notMem
{α : Type u_1}
[BooleanAlgebra α]
{s : Set α}
(hs : s.Intersecting)
{a : α}
(ha : a ∈ s)
:
aᶜ ∉ s
theorem
Set.Intersecting.notMem
{α : Type u_1}
[BooleanAlgebra α]
{s : Set α}
(hs : s.Intersecting)
{a : α}
(ha : aᶜ ∈ s)
:
a ∉ s
theorem
Set.Intersecting.disjoint_map_compl
{α : Type u_1}
[BooleanAlgebra α]
{s : Finset α}
(hs : (↑s).Intersecting)
:
Disjoint s (Finset.map { toFun := compl, inj' := ⋯ } s)
theorem
Set.Intersecting.card_le
{α : Type u_1}
[BooleanAlgebra α]
[Fintype α]
{s : Finset α}
(hs : (↑s).Intersecting)
:
theorem
Set.Intersecting.is_max_iff_card_eq
{α : Type u_1}
[BooleanAlgebra α]
[Nontrivial α]
[Fintype α]
{s : Finset α}
(hs : (↑s).Intersecting)
:
theorem
Set.Intersecting.exists_card_eq
{α : Type u_1}
[BooleanAlgebra α]
[Nontrivial α]
[Fintype α]
{s : Finset α}
(hs : (↑s).Intersecting)
:
∃ (t : Finset α), s ⊆ t ∧ 2 * t.card = Fintype.card α ∧ (↑t).Intersecting
L-intersecting families #
This section defines L-intersecting families and establishes their basic properties.
theorem
Set.IsIntersectingOf.mono
{L L' : Set ℕ}
{α : Type u_1}
[DecidableEq α]
{𝒜 : Set (Finset α)}
(h : L ⊆ L')
(hL : L.IsIntersectingOf 𝒜)
:
L'.IsIntersectingOf 𝒜
An L-intersecting family is also L'-intersecting whenever L ⊆ L'.
theorem
Set.IsIntersectingOf.anti
{L : Set ℕ}
{α : Type u_1}
[DecidableEq α]
{𝒜 ℬ : Set (Finset α)}
(h : ℬ ⊆ 𝒜)
(h𝒜 : L.IsIntersectingOf 𝒜)
:
L.IsIntersectingOf ℬ
An L-intersecting family remains L-intersecting under restriction to any subfamily.
@[simp]
The empty family of finite sets is L-intersecting, vacuously, because it contains no pairs of
sets.
@[simp]
Every family of finite sets is univ-intersecting.