FormalConjecturesForMathlib/Combinatorics/Hypergraph/Uniform.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
16 declarations, 0 contain sorry, 0 declared as axioms
Uniform hypergraphs
A UniformHypergraph V k extends Mathlib's Hypergraph V with uniformity k
and vertex set Set.univ. The vertex type includes isolated vertices.
Finite edge families use Finset.IsUniform;
UniformHypergraph.ofFinset converts them to this presentation.
The API includes complete subgraphs, maximal clique sizes, weak colorings, embeddings, and chromatic cardinals. The chromatic cardinal is zero when no proper coloring exists. Empty and singleton edges admit no weak proper coloring.
Imports (3)
Imported by 1 file
- structure
UniformHypergraphA uniform Mathlib hypergraph whose vertex set is the entire ambient type line 42 sourceSource documentation
A uniform Mathlib hypergraph whose vertex set is the entire ambient type.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Natstructure UniformHypergraph (V : Type*) (k : ℕ) extends Hypergraph V where …
- def
UniformHypergraph.ofFinsetA finite uniform edge family viewed as a uniform hypergraph line 53 sourceSource documentation
A finite uniform edge family viewed as a uniform hypergraph.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Finset, Finset.IsUniform, UniformHypergraphProof uses:
Hypergraph, Hypergraph.ofEdgeFamily,Set.univ,UniformHypergraph.mk5 instances, coercions and auxiliary constants left out.
def ofFinset {V : Type*} (H : Finset (Finset V)) (hH : H.IsUniform k) : UniformHypergraph V k where …Mentions: UniformHypergraph
- theorem
UniformHypergraph.mem_edgeSet_ofFinsetline 61 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Finset, Finset.IsUniform,Iff,Membership.mem,Set,Hypergraph.edgeSet,UniformHypergraph.toHypergraph, UniformHypergraph.ofFinsetProof uses: Hypergraph.mem_edgeSet_ofEdgeFamily,
Set.univ,Set.subset_univ7 instances, coercions and auxiliary constants left out.
- def
UniformHypergraph.IsCompleteOnEveryk-element subset ofSis an edge line 66 sourceSource documentation
Every
k-element subset ofSis an edge.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraph,FinsetProof uses:
LE.le,Eq,Finset.card,Membership.mem,Set,Hypergraph.edgeSet,UniformHypergraph.toHypergraph6 instances, coercions and auxiliary constants left out.
def IsCompleteOn {V : Type*} (H : UniformHypergraph V k) (S : Finset V) : Prop := …Mentions: UniformHypergraph
- def
UniformHypergraph.cliqueSizesThe sizes of the finite maximal complete subgraphs line 70 sourceSource documentation
The sizes of the finite maximal complete subgraphs.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraph,SetProof uses:
Set.ofPred,Exists,Finset,And,Maximal, UniformHypergraph.IsCompleteOn,Eq,Finset.card3 instances, coercions and auxiliary constants left out.
def cliqueSizes {V : Type*} (H : UniformHypergraph V k) : Set ℕ := …Mentions: UniformHypergraph
- abbrev
UniformHypergraph.IsProperColoringWeak proper coloring of the underlying Mathlib hypergraph line 74 sourceSource documentation
Weak proper coloring of the underlying Mathlib hypergraph.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraphProof uses: Hypergraph.IsProperColoring,
UniformHypergraph.toHypergraphabbrev IsProperColoring {V : Type*} (H : UniformHypergraph V k) {C : Type*} (f : V → C) : Prop := …Mentions: UniformHypergraph
- theorem
UniformHypergraph.isProperColoring_of_injectiveAn injective coloring is proper when every edge has at least two vertices line 79 sourceSource documentation
An injective coloring is proper when every edge has at least two vertices.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraph,LE.le,OfNat.ofNat,Function.Injective, UniformHypergraph.IsProperColoringProof uses: Hypergraph.IsUniform.isProperColoring_of_injective,
UniformHypergraph.toHypergraph,UniformHypergraph.uniform4 instances, coercions and auxiliary constants left out.
theorem isProperColoring_of_injective {V C : Type*} (H : UniformHypergraph V k) (hk : 2 ≤ k) {f : V → C} (hf : Function.Injective f) : H.IsProperColoring f := …Mentions: UniformHypergraph
- theorem
UniformHypergraph.isProperColoring_ofFinset_iffThe finite and possibly infinite presentations have the same proper colorings line 84 sourceSource documentation
The finite and possibly infinite presentations have the same proper colorings.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Finset, Finset.IsUniform,Iff, UniformHypergraph.IsProperColoring, UniformHypergraph.ofFinset, Finset.IsProperHypergraphColoringProof uses: Hypergraph.isProperColoring_ofEdgeFamily_iff,
Set.univ,Membership.mem,Set,Set.subset_univ3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem isProperColoring_ofFinset_iff {V C : Type*} (H : Finset (Finset V)) (hH : H.IsUniform k) (f : V → C) : (ofFinset H hH).IsProperColoring f ↔ H.IsProperHypergraphColoring f := by …Mentions: UniformHypergraph.ofFinset, UniformHypergraph.IsProperColoring
- def
UniformHypergraph.chromaticCardinalThe infimum of cardinalities of color types admitting a proper coloring line 91 sourceSource documentation
The infimum of cardinalities of color types admitting a proper coloring. The value is zero when no proper coloring exists.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraph,CardinalProof uses:
InfSet.sInf,Set.ofPred,Exists,And,Eq,Cardinal.mk, UniformHypergraph.IsProperColoring6 instances, coercions and auxiliary constants left out.
noncomputable def chromaticCardinal {V : Type u} (H : UniformHypergraph V k) : Cardinal.{u} := …Mentions: UniformHypergraph
- theorem
UniformHypergraph.chromaticCardinal_leA proper coloring bounds the chromatic cardinal by the number of colors line 95 sourceSource documentation
A proper coloring bounds the chromatic cardinal by the number of colors.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraph, UniformHypergraph.IsProperColoring,LE.le,Cardinal, UniformHypergraph.chromaticCardinal,Cardinal.mkProof uses:
csInf_le',Set.ofPred,Exists,And,Eq,Exists.intro,And.intro,rfl2 instances, coercions and auxiliary constants left out.
theorem chromaticCardinal_le {V C : Type u} (H : UniformHypergraph V k) {f : V → C} (hf : H.IsProperColoring f) : H.chromaticCardinal ≤ #C := …Mentions: UniformHypergraph
- theorem
UniformHypergraph.chromaticCardinal_le_mkThe vertex type itself always supplies enough colors when2 ≤ kline 100 sourceSource documentation
The vertex type itself always supplies enough colors when
2 ≤ k.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraph,LE.le,OfNat.ofNat,Cardinal, UniformHypergraph.chromaticCardinal,Cardinal.mkProof uses: UniformHypergraph.chromaticCardinal_le,
id, UniformHypergraph.isProperColoring_of_injective,Function.injective_id5 instances, coercions and auxiliary constants left out.
theorem chromaticCardinal_le_mk {V : Type u} (H : UniformHypergraph V k) (hk : 2 ≤ k) : H.chromaticCardinal ≤ #V := …Mentions: UniformHypergraph
- def
UniformHypergraph.AppearsAn injective vertex map carrying every edge ofFto an edge ofHline 105 sourceSource documentation
An injective vertex map carrying every edge of
Fto an edge ofH.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraphProof uses:
Exists,And,Function.Injective,LE.le,Set,Hypergraph.edgeSet,Hypergraph.image,UniformHypergraph.toHypergraph1 instances, coercions and auxiliary constants left out.
def Appears {W V : Type*} (F : UniformHypergraph W k) (H : UniformHypergraph V k) : Prop := …Mentions: UniformHypergraph
- theorem
UniformHypergraph.Appears.transAppearance is transitive under composition of injective vertex maps line 111 sourceSource documentation
Appearance is transitive under composition of injective vertex maps.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraph, UniformHypergraph.AppearsProof uses:
And,Function.Injective,LE.le,Set,Hypergraph.edgeSet,Hypergraph.image,UniformHypergraph.toHypergraph,Exists.intro,Function.comp,And.intro,Function.Injective.comp,Eq.mpr,id,Eq,congrArg,Hypergraph,Eq.symm,Hypergraph.image_image,LE.le.trans,Set.imageand 1 more9 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
theorem Appears.trans {U W V : Type*} {F : UniformHypergraph U k} {G : UniformHypergraph W k} {H : UniformHypergraph V k} (hFG : F.Appears G) (hGH : G.Appears H) : F.Appears H := by …Mentions: UniformHypergraph
- abbrev
UniformHypergraph.IsNColorableA weak proper coloring using at mostncolors line 121 sourceSource documentation
A weak proper coloring using at most
ncolors.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraphProof uses: Hypergraph.IsNColorable,
UniformHypergraph.toHypergraphabbrev IsNColorable {V : Type*} (F : UniformHypergraph V k) (n : ℕ) : Prop := …Mentions: UniformHypergraph
- def
UniformHypergraph.HasAvoidingChromaticCardinalSome hypergraph of the same uniformity and chromatic cardinalκomitsFline 125 sourceSource documentation
Some hypergraph of the same uniformity and chromatic cardinal
κomitsF.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, UniformHypergraph,CardinalProof uses:
Exists,DecidableEq,And,Eq, UniformHypergraph.chromaticCardinal,Not, UniformHypergraph.Appearsdef HasAvoidingChromaticCardinal {W : Type u} (F : UniformHypergraph W k) (κ : Cardinal.{u}) : Prop := …Mentions: UniformHypergraph
- def
UniformHypergraph.IsObligatoryA finite uniform hypergraph is obligatory if it appears in every hypergraph of that uniformity whose chromatic cardinal exceedsℵ₀line 132 sourceSource documentation
A finite uniform hypergraph is obligatory if it appears in every hypergraph of that uniformity whose chromatic cardinal exceeds
ℵ₀.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fintype, UniformHypergraphProof uses:
DecidableEq,LT.lt,Cardinal,Cardinal.aleph0, UniformHypergraph.chromaticCardinal, UniformHypergraph.Appears3 instances, coercions and auxiliary constants left out.
def IsObligatory {W : Type u} [Fintype W] (F : UniformHypergraph W k) : Prop := …Mentions: UniformHypergraph