FormalConjectures/Wikipedia/PebblingNumberConjecture.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, 1 contain sorry, 0 declared as axioms
Pebbling number conjecture
References:
Imports (1)
- def
PebblingNumberConjecture.PebbleDistributionA Pebble distribution is an assignment of zero or more pebbles to each of the vertices line 36 sourceSource documentation
A Pebble distribution is an assignment of zero or more pebbles to each of the vertices.
no axioms what this means
Proof uses:
Natdef PebbleDistribution (V : Type) := V → ℕ
- def
PebblingNumberConjecture.NumberOfPebblesThe number of pebbles of a distribution is the total number summed over all vertices line 41 sourceSource documentation
The number of pebbles of a distribution is the total number summed over all vertices.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype, PebblingNumberConjecture.PebbleDistribution,NatProof uses:
Finset.sum,Finset.univ1 instances, coercions and auxiliary constants left out.
def NumberOfPebbles [Fintype V] : (PebbleDistribution V) → ℕ := fun D => ∑ v, D v
- def
PebblingNumberConjecture.IsPebblingMoveDocumented declaration: IsPebblingMove line 48 sourceSource documentation
A pebbling move on a graph consists of choosing a vertex with at least two pebbles, removing two pebbles from it, and adding one to an adjacent vertex (the second removed pebble is discarded from play).
no axioms what this means
Statement uses:
DecidableEq,SimpleGraph, PebblingNumberConjecture.PebbleDistributionProof uses:
Exists,And,GE.ge,Nat,OfNat.ofNat,SimpleGraph.Adj,Eq,ite,HAdd.hAdd,HSub.hSub6 instances, coercions and auxiliary constants left out.
def IsPebblingMove (G : SimpleGraph V) (A B : PebbleDistribution V) : Prop := …
- theorem
PebblingNumberConjecture.IsPebblingMove.reflline 56 sourceno axioms what this means
Statement uses:
DecidableEq,SimpleGraph, PebblingNumberConjecture.PebbleDistribution,LE.le,Nat,OfNat.ofNat,SimpleGraph.Adj, PebblingNumberConjecture.IsPebblingMove,ite,Eq,HAdd.hAdd,HSub.hSubProof uses:
Exists.intro,Exists,And,GE.ge,And.intro,rfl12 instances, coercions and auxiliary constants left out.
- inductive
PebblingNumberConjecture.PebblePathA pebble path is a series of pebbling moves line 67 sourceSource documentation
A pebble path is a series of pebbling moves.
no axioms what this means
inductive PebblePath {α : Type} (r : α → α → Prop) : α → α → Type | refl (a : α) : PebblePath r a a | step {a b c : α} (p : PebblePath r a b) (h : r b c) : PebblePath r a c /-- Indicates whether there exists a sequence of pebbling moves transforming one pebble distribution to another. -/Mentions: c
- def
PebblingNumberConjecture.ExistsPebblePathIndicates whether there exists a sequence of pebbling moves transforming one pebble distribution to another line 75 sourceSource documentation
Indicates whether there exists a sequence of pebbling moves transforming one pebble distribution to another.
no axioms what this means
Proof uses:
Nonempty, PebblingNumberConjecture.PebblePathdef ExistsPebblePath {α : Type} (r : α → α → Prop) (a b : α) : Prop := … - def
PebblingNumberConjecture.IsReachableA pebble distributionBis reachable from another pebble distributionA, if there exists a sequence of pebbling moves transforming the first into the second line 82 sourceSource documentation
A pebble distribution
Bis reachable from another pebble distributionA, if there exists a sequence of pebbling moves transforming the first into the second.no axioms what this means
Statement uses:
DecidableEq,SimpleGraph, PebblingNumberConjecture.PebbleDistributionProof uses: PebblingNumberConjecture.ExistsPebblePath, PebblingNumberConjecture.IsPebblingMove
def IsReachable (G : SimpleGraph V) (A B : PebbleDistribution V) : Prop := …
- theorem
PebblingNumberConjecture.IsReachable.reflline 86 sourceno axioms what this means
Statement uses:
DecidableEq,SimpleGraph, PebblingNumberConjecture.PebbleDistribution, PebblingNumberConjecture.IsReachableProof uses:
Nonempty.intro, PebblingNumberConjecture.PebblePath, PebblingNumberConjecture.IsPebblingMove,PebblingNumberConjecture.PebblePath.reflTactic trace: 1 steps
Open to load the checked before-and-after goal states.
- def
PebblingNumberConjecture.PebblingNumberDocumented declaration: PebblingNumber line 95 sourceSource documentation
The pebbling number of a graph
G, is the lowest natural numbernthat satisfies the following condition: Given any target or 'root' vertex in the graph and any initial pebbles distribution withnpebbles on the graph, another pebble distribution is reachable in which the designated root vertex has one or more pebbles.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DecidableEq,Fintype,SimpleGraph,NatProof uses:
InfSet.sInf,Set.ofPred, PebblingNumberConjecture.PebbleDistribution,Eq, PebblingNumberConjecture.NumberOfPebbles,Exists,And, PebblingNumberConjecture.IsReachable,LE.le,OfNat.ofNat3 instances, coercions and auxiliary constants left out.
noncomputable def PebblingNumber [Fintype V] (G : SimpleGraph V) : ℕ := …
- theorem
PebblingNumberConjecture.PebblingNumber_completeGraphThe pebbling number of the complete graph onnvertices isnline 102 sourceSource documentation
The pebbling number of the complete graph on
nvertices isn.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DecidableEq,Fintype,Eq,Nat, PebblingNumberConjecture.PebblingNumber,SimpleGraph.completeGraph,Fintype.cardProof uses:
IsLeast.csInf_eq,Set.ofPred, PebblingNumberConjecture.PebbleDistribution, PebblingNumberConjecture.NumberOfPebbles,Exists,And, PebblingNumberConjecture.IsReachable,LE.le,OfNat.ofNat,And.intro,Membership.mem,Set,lowerBounds,dite,Classical.propDecidable,Exists.intro, PebblingNumberConjecture.IsReachable.refl,Eq.rec,Nat.one_le_of_lt,Notand 84 more103 instances, coercions and auxiliary constants left out.
Tactic trace: 29 steps
Open to load the checked before-and-after goal states.
theorem PebblingNumber_completeGraph [Fintype V] : PebblingNumber (SimpleGraph.completeGraph V) = Fintype.card V := by …Mentions: PebblingNumberConjecture.PebblingNumber
- theorem
PebblingNumberConjecture.pebbling_number_conjectureThe pebbling number conjecture: the pebbling number of a Cartesian product of connected graphs is at most equal to the product of the pebbling numbers of the factors sorry line 134 sourceSource documentation
The pebbling number conjecture: the pebbling number of a Cartesian product of connected graphs is at most equal to the product of the pebbling numbers of the factors. See Asplund, Hurlbert, and Kenter.
L4DEL explanation
The pebbling number conjecture: the pebbling number of a Cartesian product of connected graphs is at most equal to the product of the pebbling numbers of the factors. See Asplund, Hurlbert, and Kenter.
Sources and attribution: Pinned Lean source (1646ca16afd6)
depends on sorry what this means
Statement uses:
DecidableEq,Fintype,SimpleGraph,SimpleGraph.Connected,LE.le,Nat, PebblingNumberConjecture.PebblingNumber,Prod,SimpleGraph.boxProd,HMul.hMulProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat11 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem pebbling_number_conjecture {W : Type} [Fintype V] [Fintype W] [DecidableEq W] (G : SimpleGraph V) (H : SimpleGraph W) (hG : G.Connected) (hH : H.Connected) : PebblingNumber (G □ H) ≤ PebblingNumber G * PebblingNumber H := by …Mentions: PebblingNumberConjecture.PebblingNumber