Documentation

Mathlib.Combinatorics.SetFamily.Intersecting

Intersecting families #

This file defines intersecting families and proves their basic properties.

Main declarations #

References #

def Set.Intersecting {α : Type u_1} [SemilatticeInf α] [OrderBot α] (s : Set α) :

A set family is intersecting if every pair of elements is non-disjoint.

Equations
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_singleton {α : Type u_1} [SemilatticeInf α] [OrderBot α] {a : α} :
    theorem Set.Intersecting.insert {α : Type u_1} [SemilatticeInf α] [OrderBot α] {s : Set α} {a : α} (hs : s.Intersecting) (ha : a ) (h : bs, ¬Disjoint a b) :
    theorem Set.intersecting_insert {α : Type u_1} [SemilatticeInf α] [OrderBot α] {s : Set α} {a : α} :
    theorem Set.Intersecting.isUpperSet {α : Type u_1} [SemilatticeInf α] [OrderBot α] {s : Set α} (hs : s.Intersecting) (h : ∀ (t : Set α), t.Intersectings ts = 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).Intersectings ts = t) :

    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 𝒜) :
    as, a t
    theorem Set.Intersecting.exists_mem_finset {α : Type u_1} [DecidableEq α] {𝒜 : Set (Finset α)} (h𝒜 : 𝒜.Intersecting) {s t : Finset α} (hs : s 𝒜) (ht : t 𝒜) :
    as, a t
    theorem Set.Intersecting.compl_notMem {α : Type u_1} [BooleanAlgebra α] {s : Set α} (hs : s.Intersecting) {a : α} (ha : a s) :
    as
    theorem Set.Intersecting.notMem {α : Type u_1} [BooleanAlgebra α] {s : Set α} (hs : s.Intersecting) {a : α} (ha : a s) :
    as
    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) :
    (∀ (t : Finset α), (↑t).Intersectings ts = t) 2 * s.card = Fintype.card α
    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.

    def Set.IsIntersectingOf {α : Type u_1} [DecidableEq α] (L : Set ) (𝒜 : Set (Finset α)) :

    A family 𝒜 of finite subsets of α is L-intersecting if the intersection size of every pair of distinct members of 𝒜 belongs to L ⊆ ℕ.

    That is, for all s, t ∈ 𝒜 with s ≠ t, we have |(s ∩ t)| ∈ L.

    Equations
    Instances For
      theorem Set.IsIntersectingOf.mono {L L' : Set } {α : Type u_1} [DecidableEq α] {𝒜 : Set (Finset α)} (h : L L') (hL : 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 𝒜) :

      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]
      theorem Set.IsIntersectingOf.univ {α : Type u_1} [DecidableEq α] {𝒜 : Set (Finset α)} :

      Every family of finite sets is univ-intersecting.