FormalConjecturesForMathlib/Combinatorics/Hypergraph/Basic.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
10 declarations, 0 contain sorry, 0 declared as axioms
Uniformity and weak colorings of hypergraphs
This file extends Mathlib's Hypergraph with finite-edge constructors, uniformity,
and weak proper colorings. Uniformity uses extended cardinality, so every edge is finite,
including at uniformity zero. Empty and singleton edges admit no weak proper coloring.
Imports (1)
Imported by 2 files
- def
Hypergraph.IsUniformEvery edge has exactlykvertices line 33 sourceSource documentation
Every edge has exactly
kvertices.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Hypergraph,NatProof uses:
Set,Membership.mem,Hypergraph.edgeSet,Eq,ENat,Set.encard3 instances, coercions and auxiliary constants left out.
def IsUniform {V : Type*} (H : Hypergraph V) (k : ℕ) : Prop := … - def
Hypergraph.IsProperColoringA weak proper coloring gives two vertices different colors in every edge line 37 sourceSource documentation
A weak proper coloring gives two vertices different colors in every edge.
no axioms what this means
Statement uses:
HypergraphProof uses:
Set,Membership.mem,Hypergraph.edgeSet,Exists,And,Ne1 instances, coercions and auxiliary constants left out.
def IsProperColoring {V C : Type*} (H : Hypergraph V) (f : V → C) : Prop := … - def
Hypergraph.IsNColorableA weak proper coloring using at mostncolors line 41 sourceSource documentation
A weak proper coloring using at most
ncolors.no axioms what this means
Statement uses:
Hypergraph,NatProof uses:
Exists,Fin, Hypergraph.IsProperColoringdef IsNColorable {V : Type*} (H : Hypergraph V) (n : ℕ) : Prop := … - def
Hypergraph.ofEdgeFamilyA family of finite edges on an explicit vertex set, retaining isolated vertices line 45 sourceSource documentation
A family of finite edges on an explicit vertex set, retaining isolated vertices.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Finset,Membership.mem,LE.le,HypergraphProof uses:
Hypergraph.mk,Set.ofPred,Exists,And,Eq9 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def ofEdgeFamily {V : Type*} (F : Set (Finset V)) (S : Set V) (h : ∀ e ∈ F, (e : Set V) ⊆ S) : Hypergraph V where … - theorem
Hypergraph.mem_edgeSet_ofEdgeFamilyline 54 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Finset,Membership.mem,LE.le,Iff,Hypergraph.edgeSet, Hypergraph.ofEdgeFamilyProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,Exists,And,Eq,funext,iff_self10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Hypergraph.isUniform_ofEdgeFamily_iffline 60 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Finset,Membership.mem,LE.le,Nat,Iff, Hypergraph.IsUniform, Hypergraph.ofEdgeFamily,Eq,Finset.cardProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,Exists,And,ENat,Set.encard,forall_congr,implies_congr,Eq.refl,Set.encard_coe_eq_coe_finsetCard,iff_self16 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Hypergraph.isProperColoring_ofEdgeFamily_iffline 66 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Finset,Membership.mem,LE.le,Iff, Hypergraph.IsProperColoring, Hypergraph.ofEdgeFamily,Exists,And,NeProof uses:
of_eq_true,Not,Eq,Eq.trans,True,congrFun',congrArg,forall_congr,implies_congr,Eq.refl,funext,congr,iff_self14 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Hypergraph.IsUniform.finite_edgeEvery edge of a uniform hypergraph is finite line 73 sourceSource documentation
Every edge of a uniform hypergraph is finite.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Hypergraph,Nat, Hypergraph.IsUniform,Set,Membership.mem,Hypergraph.edgeSet,Set.FiniteProof uses:
Set.finite_of_encard_eq_coe2 instances, coercions and auxiliary constants left out.
theorem IsUniform.finite_edge {V : Type*} {H : Hypergraph V} {k : ℕ} (hH : H.IsUniform k) {e : Set V} (he : e ∈ H.edgeSet) : e.Finite := … - theorem
Hypergraph.isProperColoring_of_injectiveAn injective coloring is proper when every edge has at least two vertices line 78 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:
Hypergraph,Set,Membership.mem,Hypergraph.edgeSet,LE.le,ENat,OfNat.ofNat,Nat,Set.encard,Function.Injective, Hypergraph.IsProperColoringProof uses:
Exists,And,Ne,Iff.mp,LT.lt,Set.one_lt_encard_iff,lt_of_lt_of_le,of_decide_eq_true,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl,Exists.intro,And.intro23 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
theorem isProperColoring_of_injective {V C : Type*} {H : Hypergraph V} (hH : ∀ e ∈ H.edgeSet, 2 ≤ e.encard) {f : V → C} (hf : Function.Injective f) : H.IsProperColoring f := by … - theorem
Hypergraph.IsUniform.isProperColoring_of_injectiveAn injective coloring is proper when uniformity is at least two line 87 sourceSource documentation
An injective coloring is proper when uniformity is at least two.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Hypergraph,Nat, Hypergraph.IsUniform,LE.le,OfNat.ofNat,Function.Injective, Hypergraph.IsProperColoringProof uses: Hypergraph.isProperColoring_of_injective,
Set,Membership.mem,Hypergraph.edgeSet,Eq.mpr,ENat,Set.encard,id,Eq,congrArg,cast,Eq.symm30 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
theorem IsUniform.isProperColoring_of_injective {V C : Type*} {H : Hypergraph V} {k : ℕ} (hH : H.IsUniform k) (hk : 2 ≤ k) {f : V → C} (hf : Function.Injective f) : H.IsProperColoring f := by …