FormalConjecturesForMathlib/Combinatorics/SimpleGraph/Domination.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
22 declarations, 0 contain sorry, 0 declared as axioms
Dominating sets and domination numbers
This file introduces dominating sets and related invariants.
Main definitions
SimpleGraph.IsDominating: A set of vertices that dominates all vertices.SimpleGraph.IsNDominatingSet: A dominating set withnvertices.SimpleGraph.dominationNumber: The domination number of a graph.SimpleGraph.IsTotalDominating: A total dominating set.SimpleGraph.IsTotalNDominatingSet: A total dominating set withnvertices.SimpleGraph.totalDominationNumber: The total domination number.
Future work should extend this file with connected, independent, and power variants as well as domination-related lemmas.
Imports (4)
- def
SimpleGraph.IsDominatingA setDis a dominating set forGif every vertex ofGis either inDor adjacent to a vertex ofDline 51 sourceSource documentation
A set
Dis a dominating set forGif every vertex ofGis either inDor adjacent to a vertex ofD.no axioms what this means
Statement uses:
SimpleGraph,SetProof uses:
Or,Membership.mem,Exists,And,SimpleGraph.Adj1 instances, coercions and auxiliary constants left out.
def IsDominating (G : SimpleGraph α) (D : Set α) : Prop := …
- structure
SimpleGraph.IsNDominatingSetAnn-dominating set is a dominating set withnvertices line 56 sourceSource documentation
An
n-dominating set is a dominating set withnvertices.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Nat,Finsetstructure IsNDominatingSet (n : ℕ) (D : Finset α) : Prop where …
- def
SimpleGraph.dominationNumberThe domination number of a graphGis the minimum size of a dominating set line 64 sourceSource documentation
The domination number of a graph
Gis the minimum size of a dominating set. It is0if there are no vertices.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,NatProof uses:
InfSet.sInf,Set.ofPred,Exists,Finset, SimpleGraph.IsNDominatingSet1 instances, coercions and auxiliary constants left out.
noncomputable def dominationNumber (G : SimpleGraph α) : ℕ := …
- def
SimpleGraph.computable_dom_numComputable domination number via powerset enumeration line 68 sourceSource documentation
Computable domination number via powerset enumeration.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype,DecidableEq,SimpleGraph,DecidableRel,SimpleGraph.Adj,NatProof uses:
Finset.inf',Finset,Finset.filter,Or,Membership.mem,Exists,And,Finset.powerset,Finset.univ,Finset.card9 instances, coercions and auxiliary constants left out.
def computable_dom_num (G : SimpleGraph α) [DecidableRel G.Adj] : ℕ := …
- def
SimpleGraph.IsTotalDominatingA setDis a total dominating set if every vertex is adjacent to a vertex inDline 80 sourceSource documentation
A set
Dis a total dominating set if every vertex is adjacent to a vertex inD.no axioms what this means
Statement uses:
SimpleGraph,SetProof uses:
Exists,And,Membership.mem,SimpleGraph.Adj1 instances, coercions and auxiliary constants left out.
def IsTotalDominating (G : SimpleGraph α) (D : Set α) : Prop := …
- structure
SimpleGraph.IsTotalNDominatingSetAnn-total dominating set is a total dominating set withnvertices line 85 sourceSource documentation
An
n-total dominating set is a total dominating set withnvertices.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Nat,Finsetstructure IsTotalNDominatingSet (n : ℕ) (D : Finset α) : Prop where …
- def
SimpleGraph.totalDominationNumberThe total domination number ofGline 90 sourceSource documentation
The total domination number of
G.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,NatProof uses:
InfSet.sInf,Set.ofPred,Exists,Finset, SimpleGraph.IsTotalNDominatingSet1 instances, coercions and auxiliary constants left out.
noncomputable def totalDominationNumber (G : SimpleGraph α) : ℕ := …
- def
SimpleGraph.IsConnectedDominatingA set is a connected dominating set if it is dominating and induces a connected subgraph line 97 sourceSource documentation
A set is a connected dominating set if it is dominating and induces a connected subgraph.
standard axioms: Quot.sound, propext what this means
Statement uses:
SimpleGraph,SetProof uses:
And, SimpleGraph.IsDominating,SimpleGraph.Connected,SimpleGraph.induce1 instances, coercions and auxiliary constants left out.
def IsConnectedDominating (G : SimpleGraph α) (D : Set α) : Prop := …
- def
SimpleGraph.connectedDominationNumberThe connected domination number ofGline 101 sourceSource documentation
The connected domination number of
G.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,NatProof uses:
InfSet.sInf,Set.ofPred,Exists,Finset,And, SimpleGraph.IsConnectedDominating,Eq,Finset.card3 instances, coercions and auxiliary constants left out.
noncomputable def connectedDominationNumber (G : SimpleGraph α) : ℕ := …
- def
SimpleGraph.IsIndepDominatingline 106 sourceno axioms what this means
Statement uses:
SimpleGraph,SetProof uses:
And,SimpleGraph.IsIndepSet, SimpleGraph.IsDominating - structure
SimpleGraph.IsNIndepDominatingSetline 110 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Nat,Finset - def
SimpleGraph.indepDominationNumberline 115 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,NatProof uses:
InfSet.sInf,Set.ofPred,Exists,Finset, SimpleGraph.IsNIndepDominatingSet1 instances, coercions and auxiliary constants left out.
- def
SimpleGraph.IsEdgeCoverA set of edges is an edge cover if every vertex is incident to some edge in it line 121 sourceSource documentation
A set of edges is an edge cover if every vertex is incident to some edge in it.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Set,Sym2Proof uses:
And,LE.le,SimpleGraph.edgeSet,Exists,Membership.mem4 instances, coercions and auxiliary constants left out.
def IsEdgeCover (G : SimpleGraph α) (M : Set (Sym2 α)) : Prop := …
- def
SimpleGraph.edgeCoverNumberThe minimum edge cover number ofGline 125 sourceSource documentation
The minimum edge cover number of
G.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,NatProof uses:
InfSet.sInf,Set.ofPred,Exists,Finset,Sym2,And, SimpleGraph.IsEdgeCover,Eq,Finset.card3 instances, coercions and auxiliary constants left out.
noncomputable def edgeCoverNumber (G : SimpleGraph α) : ℕ := …
- def
SimpleGraph.edgesAdjacentline 130 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Sym2Proof uses:
Exists,And,Membership.mem2 instances, coercions and auxiliary constants left out.
- def
SimpleGraph.IsEdgeDominatingline 132 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Set,Sym2Proof uses:
Membership.mem,SimpleGraph.edgeSet,Or,Exists,And, SimpleGraph.edgesAdjacent1 instances, coercions and auxiliary constants left out.
- structure
SimpleGraph.IsNEdgeDominatingSetline 136 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Nat,Finset,Sym2 - def
SimpleGraph.edgeDominationNumberline 140 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,NatProof uses:
InfSet.sInf,Set.ofPred,Exists,Finset,Sym2, SimpleGraph.IsNEdgeDominatingSet1 instances, coercions and auxiliary constants left out.
- theorem
SimpleGraph.dom_num_eq_computableline 145 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype,DecidableEq,SimpleGraph,DecidableRel,SimpleGraph.Adj,Eq,Nat, SimpleGraph.dominationNumber, SimpleGraph.computable_dom_numProof uses:
id,InfSet.sInf,Set.ofPred,Exists,Finset, SimpleGraph.IsNDominatingSet,le_antisymm,Finset.inf',Finset.filter,Or,Membership.mem,And,Finset.powerset,Finset.univ,Finset.card,csInf_le,Exists.intro,Set,lowerBounds,OfNat.ofNatand 24 more28 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
- lemma
SimpleGraph.exists_isNDominatingSet_dominationNumberThe setFinset.univis a dominating set of any graph, so the set of sizes of dominating sets is nonempty anddominationNumberis attained by some dominating set line 168 sourceSource documentation
The set
Finset.univis a dominating set of any graph, so the set of sizes of dominating sets is nonempty anddominationNumberis attained by some dominating set.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype,SimpleGraph,Exists,Finset, SimpleGraph.IsNDominatingSet, SimpleGraph.dominationNumberProof uses:
Set.Nonempty,Nat,Set.ofPred,Exists.intro,Membership.mem,Set,Finset.card,Finset.univ,SimpleGraph.IsNDominatingSet.mk,Or.inl,And,SimpleGraph.Adj,Finset.mem_univ,rfl,Nat.sInf_mem3 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma exists_isNDominatingSet_dominationNumber (G : SimpleGraph α) : ∃ D : Finset α, G.IsNDominatingSet G.dominationNumber D := by … - lemma
SimpleGraph.dominationNumber_le_of_isDominatingIfDis a dominating set ofGwithnelements thenγ(G) ≤ nline 177 sourceSource documentation
If
Dis a dominating set ofGwithnelements thenγ(G) ≤ n.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset, SimpleGraph.IsDominating,LE.le,Nat, SimpleGraph.dominationNumber,Finset.cardProof uses:
Nat.sInf_le,Set.ofPred,Exists, SimpleGraph.IsNDominatingSet,Exists.intro,SimpleGraph.IsNDominatingSet.mk,rfl5 instances, coercions and auxiliary constants left out.
lemma dominationNumber_le_of_isDominating (G : SimpleGraph α) (D : Finset α) (hD : G.IsDominating D) : G.dominationNumber ≤ D.card := … - theorem
SimpleGraph.dominationNumber_le_dominationNumber_boxProdProjection bound:γ(G) ≤ γ(G □ H)wheneverHhas a vertex line 189 sourceSource documentation
Projection bound:
γ(G) ≤ γ(G □ H)wheneverHhas a vertex.Projecting a dominating set of
G □ Honto the first coordinate yields a dominating set ofGof no larger size: a vertex(v, b)is dominated by some(w, c)with eitherv = w(sovlies in the projection) orG.Adj v w(sovis dominated bywin the projection).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype,DecidableEq,Nonempty,SimpleGraph,LE.le,Nat, SimpleGraph.dominationNumber,Prod,SimpleGraph.boxProdProof uses:
Finset, SimpleGraph.IsNDominatingSet,Exists, SimpleGraph.exists_isNDominatingSet_dominationNumber, SimpleGraph.IsDominating,Eq,Finset.card,le_trans,Finset.image,Prod.fst, SimpleGraph.dominationNumber_le_of_isDominating,Or,Membership.mem,Set,And,SimpleGraph.Adj,Prod.mk,Or.inl,Iff.mpr,Finset.mem_coeand 12 more16 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
theorem dominationNumber_le_dominationNumber_boxProd {β : Type*} [Fintype β] [DecidableEq β] [Nonempty β] (G : SimpleGraph α) (H : SimpleGraph β) : G.dominationNumber ≤ (G □ H).dominationNumber := by …Mentions: SimpleGraph.dominationNumber