FormalConjectures/Wikipedia/UnionClosed.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1
11 declarations, 5 contain sorry, 0 declared as axioms
Union-closed sets conjecture
Reference: Wikipedia
In this file, we:
- state the conjecture
- state three solved variants of the conjecture, without proof
- prove two solved variants of the conjecture
- prove the conjecture is sharp
Imports (1)
Imported by 1 file
- abbrev
UnionClosed.IsUnionClosedline 40 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DecidableEq,FinsetProof uses:
Membership.mem,Union.union3 instances, coercions and auxiliary constants left out.
- lemma
UnionClosed.isUnionClosed_univline 44 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DecidableEq,Fintype, UnionClosed.IsUnionClosed,Finset.univ,FinsetProof uses:
of_eq_true,Membership.mem,Union.union,Eq.trans,True,forall_congr,implies_congr,implies_true7 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
UnionClosed.isUnionClosed_powersetline 49 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DecidableEq,Finset, UnionClosed.IsUnionClosed,Finset.powersetProof uses:
Membership.mem,Eq.mpr,Union.union,LE.le,id,Eq,congrArg,propext,Finset.mem_powerset,Finset.union_subset,Eq.mp6 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
UnionClosed.union_closedFor every finite union-closed family of sets, other than the family containing only the empty set, there exists an element that belongs to at least half of the sets in the family sorry line 59 sourceSource documentation
For every finite union-closed family of sets, other than the family containing only the empty set, there exists an element that belongs to at least half of the sets in the family.
depends on sorry what this means
Statement uses:
DecidableEq,Finset,Nonempty,Ne,Singleton.singleton,EmptyCollection.emptyCollection, UnionClosed.IsUnionClosed,Exists,LE.le,Rat,HMul.hMul,HDiv.hDiv,OfNat.ofNat,Finset.card,Finset.filter,Membership.memProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,Nat27 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem union_closed [Nonempty n] (h_ne_singleton_empty : A ≠ {∅}) (h_union_closed : IsUnionClosed A) : ∃ i : n, (1 / 2 : ℚ) * #A ≤ #{x ∈ A | i ∈ x} := by …Mentions: UnionClosed.IsUnionClosed
- theorem
UnionClosed.union_closed.variants.yuYu [Yu23] showed that the union-closed sets conjecture holds with a constant of approximately 0.38234 instead of 1/2 sorry line 72 sourceSource documentation
Yu [Yu23] showed that the union-closed sets conjecture holds with a constant of approximately 0.38234 instead of 1/2. [Yu23] Yu, Lei (2023). "Dimension-free bounds for the union-closed sets conjecture". Entropy. 25 (5): 767.
depends on sorry what this means
Statement uses:
DecidableEq,Finset,Nonempty,Ne,Singleton.singleton,EmptyCollection.emptyCollection, UnionClosed.IsUnionClosed,Exists,LE.le,Rat,HMul.hMul,OfScientific.ofScientific,Bool.true,Finset.card,Finset.filter,Membership.memProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat23 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem union_closed.variants.yu [Nonempty n] (h_ne_singleton_empty : A ≠ {∅}) (h_union_closed : IsUnionClosed A) : ∃ i : n, (0.38234 : ℚ) * #A ≤ #{x ∈ A | i ∈ x} := by …Mentions: UnionClosed.IsUnionClosed
- theorem
UnionClosed.union_closed.variants.univ_cardVuckovic and Zivkovic [Vu17] showed that the union-closed sets conjecture holds for set families whose universal set has cardinality at most 12 sorry line 85 sourceSource documentation
Vuckovic and Zivkovic [Vu17] showed that the union-closed sets conjecture holds for set families whose universal set has cardinality at most 12. [Vu17] Vuckovic, Bojan; Zivkovic, Miodrag (2017). "The 12-Element Case of Frankl's Conjecture" (PDF). IPSI BGD Transactions on Internet Research. 13 (1): 65.
depends on sorry what this means
Statement uses:
DecidableEq,Finset,Fintype,Nonempty,Ne,Singleton.singleton,EmptyCollection.emptyCollection, UnionClosed.IsUnionClosed,LE.le,Nat,Fintype.card,OfNat.ofNat,Exists,Rat,HMul.hMul,HDiv.hDiv,Finset.card,Finset.filter,Membership.memProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous30 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem union_closed.variants.univ_card [Fintype n] [Nonempty n] (h_ne_singleton_empty : A ≠ {∅}) (h_union_closed : IsUnionClosed A) (h_card : Fintype.card n ≤ 12) : ∃ i : n, (1 / 2 : ℚ) * #A ≤ #{x ∈ A | i ∈ x} := by …Mentions: UnionClosed.IsUnionClosed
- theorem
UnionClosed.union_closed.variants.family_cardRoberts and Simpson [Ro10] showed that the union-closed sets conjecture holds for set families of size at most 46 sorry line 102 sourceSource documentation
Roberts and Simpson [Ro10] showed that the union-closed sets conjecture holds for set families of size at most 46. Their method, however, combined with the result of [Vu17], further shows that it holds for
#A ≤ 50as well. [Ro10] Roberts, Ian; Simpson, Jamie (2010). "A note on the union-closed sets conjecture" (PDF). Australas. J. Combin. 47: 265–267. [Vu17] Vuckovic, Bojan; Zivkovic, Miodrag (2017). "The 12-Element Case of Frankl's Conjecture" (PDF). IPSI BGD Transactions on Internet Research. 13 (1): 65.depends on sorry what this means
Statement uses:
DecidableEq,Finset,Nonempty,Ne,Singleton.singleton,EmptyCollection.emptyCollection, UnionClosed.IsUnionClosed,LE.le,Nat,Finset.card,OfNat.ofNat,Exists,Rat,HMul.hMul,HDiv.hDiv,Finset.filter,Membership.memProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous30 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem union_closed.variants.family_card [Nonempty n] (h_ne_singleton_empty : A ≠ {∅}) (h_union_closed : IsUnionClosed A) (hA : #A ≤ 50) : ∃ i : n, (1 / 2 : ℚ) * #A ≤ #{x ∈ A | i ∈ x} := by …Mentions: UnionClosed.IsUnionClosed
- theorem
UnionClosed.union_closed.variants.univ_card_twoWe can show the union-closed sets conjecture is true for the case where the universal set has cardinality 2, by brute force line 115 sourceSource documentation
We can show the union-closed sets conjecture is true for the case where the universal set has cardinality 2, by brute force.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset,Fin,OfNat.ofNat,Nat,Ne,Singleton.singleton,EmptyCollection.emptyCollection, UnionClosed.IsUnionClosed,Exists,LE.le,Rat,HMul.hMul,HDiv.hDiv,Finset.card,Finset.filter,Membership.mem20 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem union_closed.variants.univ_card_two (A : Finset (Finset (Fin 2))) (h_ne_singleton_empty : A ≠ {∅}) (h_union_closed : IsUnionClosed A) : ∃ i, (1 / 2 : ℚ) * #A ≤ #{x ∈ A | i ∈ x} := by …Mentions: UnionClosed.IsUnionClosed
- theorem
UnionClosed.union_closed.variants.singleton_memWe can show the union-closed sets conjecture is true for the case where the set family contains some singleton line 126 sourceSource documentation
We can show the union-closed sets conjecture is true for the case where the set family contains some singleton.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DecidableEq,Finset, UnionClosed.IsUnionClosed,Membership.mem,Singleton.singleton,Exists,LE.le,Rat,HMul.hMul,HDiv.hDiv,OfNat.ofNat,Finset.card,Finset.filterProof uses:
Exists.intro,Not,Eq.mpr,id,Eq,congrArg,rfl,Set.InjOn,Insert.insert,forall_congr,Set,Eq.trans,Set.ofPred,And,implies_congr,congrFun',Finset.coe_filter,Eq.refl,Finset.erase,Eq.mpand 39 more93 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
theorem union_closed.variants.singleton_mem (h_union_closed : IsUnionClosed A) (i : n) (hi : {i} ∈ A) : ∃ i, (1 / 2 : ℚ) * #A ≤ #{x ∈ A | i ∈ x} := by …Mentions: UnionClosed.IsUnionClosed
- theorem
UnionClosed.union_closed.variants.sharpnessThe union-closed sets conjecture is sharp in the sense that if we replace the constant1/2with any larger constant, then the conjecture fails line 155 sourceSource documentation
The union-closed sets conjecture is sharp in the sense that if we replace the constant
1/2with any larger constant, then the conjecture fails.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DecidableEq,Fintype,Real,LT.lt,HDiv.hDiv,OfNat.ofNat,Nat,Not,Finset,Ne,Singleton.singleton,EmptyCollection.emptyCollection, UnionClosed.IsUnionClosed,Exists,LE.le,HMul.hMul,Finset.card,Finset.filter,Membership.memProof uses:
IsEmpty,Nonempty,Or,False,isEmpty_or_nonempty,of_eq_true,Eq.trans,Eq,True,congrFun',congrArg,Eq.mp,implies_congr,Eq.refl,funext,congr,CharP.cast_eq_zero,MulZeroClass.mul_zero,Finset.filter_empty,Union.unionand 138 more220 instances, coercions and auxiliary constants left out.
Tactic trace: 48 steps
Open to load the checked before-and-after goal states.
theorem union_closed.variants.sharpness [Fintype n] (c : ℝ) (hc : 1 / 2 < c) : ¬ (∀ A : Finset (Finset n), A ≠ {∅} → IsUnionClosed A → ∃ i : n, c * #A ≤ #{x ∈ A | i ∈ x}) := by …Mentions: c, UnionClosed.IsUnionClosed
- theorem
UnionClosed.union_closed.variants.cardinality_even_of_union_closed_tightDocumented declaration: cardinality_even_of_union_closed_tight sorry line 216 sourceSource documentation
The union-closed sets conjecture is tight for a union-closed family
Aif the largest number of sets inAcontaining a common element is exactly half of the sets inA, that is, $\max_i |\{X \in A : i \in X\}| = |A| / 2$.If the union-closed sets conjecture is tight for some family
Athen $|A| = 2^k$ for some $k$. This is the first part of Conjecture 3 in the reference below; its second part (that the family then contains the power set of a $k$-element set as a "submatrix") is not formalized here.Reference: Conjecture 3 in https://www.nieuwarchief.nl/serie5/pdf/naw5-2023-24-4-225.pdf.
depends on sorry what this means
Statement uses:
DecidableEq,Finset,Nonempty,Ne,Singleton.singleton,EmptyCollection.emptyCollection, UnionClosed.IsUnionClosed,IsGreatest,Rat,Set.range,Finset.card,Finset.filter,Membership.mem,HMul.hMul,HDiv.hDiv,OfNat.ofNat,Exists,Nat,Eq,HPow.hPowProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous36 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem union_closed.variants.cardinality_even_of_union_closed_tight [Nonempty n] (h_ne_singleton_empty : A ≠ {∅}) (h_ne_empty : A ≠ ∅) (h_union_closed : IsUnionClosed A) (h_tight : IsGreatest (Set.range fun i : n => (#{x ∈ A | i ∈ x} : ℚ)) ((1 / 2 : ℚ) * #A)) : ∃ k, #A = 2 ^ k := by …Mentions: UnionClosed.IsUnionClosed