Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Section 3 — Euler charge conservation and a positive face

Proved
FourColor.charge_conservation

by Minghui · Sep 26, 2026 · Mathlib c5ea003 (Lean v4.30.0)

four-color-theoremgraph-theory

Let HHH be planar, plain and cubic. For any rational dart-transfer function w:D→Qw:D\to\mathbb Qw:D→Q, define the charge of the face containing ddd by

qw(d)=60−10a(d)+∑y∼fd(w(e(y))−w(y)).q_w(d)=60-10a(d)+\sum_{y\sim_f d}\bigl(w(e(y))-w(y)\bigr).qw​(d)=60−10a(d)+y∼f​d∑​(w(e(y))−w(y)).

Then, with CCC the number of components,

∑d∈Dqw(d)a(d)=120C.\sum_{d\in D}\frac{q_w(d)}{a(d)}=120C.d∈D∑​a(d)qw​(d)​=120C.

If HHH is connected, some dart lies on a positive-charge face:

∃d∈D,0<qw(d).\exists d\in D,\quad 0<q_w(d).∃d∈D,0<qw​(d).

Each face orbit contains its own dart, so a(d)>0a(d)>0a(d)>0. The weighted dart sum counts each face charge once, avoiding arbitrary representative choices. The empty hypermap has total charge zero and fails the connectedness premise.

Formalization note: source-derived generalization of integer rule-count conservation to arbitrary rational transfers and disconnected maps. It proves conservation only; no claim about the adequacy of any fixed discharge rules or the occurrence of a reducible configuration is hidden in it.

Notation: D={0,…,n−1}D=\{0,\ldots,n-1\}D={0,…,n−1} is the dart set, n=∣D∣n = |D|n=∣D∣ its size, and p=νHp = \nu_Hp=νH​ is the node permutation. Write e,fe,fe,f for the edge and face permutations, with p(f(e(d)))=dp(f(e(d)))=dp(f(e(d)))=d. Edge, node and face counts E,N,FE,N,FE,N,F are numbers of permutation orbits, including singleton orbits. The component count CCC uses the equivalence generated by all three permutations. Planarity means the exact Euler equality E+N+F=n+2CE+N+F=n+2CE+N+F=n+2C, and connectedness means C=1C=1C=1.

A plain hypermap has a fixed-point-free involution eee. Cubic means every node orbit has size three; precubic means every node orbit has size at most three. Bridgeless means ddd and e(d)e(d)e(d) never lie in the same face orbit. A kkk-coloring is a map D→{0,…,k−1}D\to\{0,\ldots,k-1\}D→{0,…,k−1} constant on face orbits and different across each edge step. No requirement uses all available colors. The empty dart set has zero components, is planar, and is colorable, but is not connected.

An admissible hypermap is planar, bridgeless, plain and precubic. A minimal counterexample is a non-four-colorable admissible hypermap such that every admissible hypermap with fewer darts is four-colorable. Minimality includes all finite carriers through their enumeration by Fin⁡(m)\operatorname{Fin}(m)Fin(m); cubicity, connectedness and lower face-degree bounds are not assumed.

Source: Georges Gonthier, A Computer-Checked Proof of the Four Colour Theorem (2005), https://www.microsoft.com/en-us/research/wp-content/uploads/2012/10/4colproof.pdf; Section 3, PDF p. 9, paragraph on PDF p. 9 defining discharging and its unnumbered charge formula; Section 5.5, PDF pp. 44–48. Relevant displays are unnumbered. Pinned executable reference: https://github.com/rocq-community/fourcolor/blob/c1d6b1cd5288bea4b067aac13cdde3c18dffe018/theories/proof/geometry.v#L617; https://github.com/rocq-community/fourcolor/blob/c1d6b1cd5288bea4b067aac13cdde3c18dffe018/theories/proof/discharge.v#L167; https://github.com/rocq-community/fourcolor/blob/c1d6b1cd5288bea4b067aac13cdde3c18dffe018/theories/proof/discharge.v#L201.

Preamble
import Definitions.Def_FourColor_Discharging
Formal statement
namespace FourColor
universe u
theorem charge_conservation :
  ∀ (n : ℕ) (H : Hypermap n), H.Planar → H.Plain → H.Cubic →
    ∀ transfer : Fin n → ℚ,
      H.totalFaceCharge transfer = 120 * (H.componentCount : ℚ) ∧
        (H.Connected → ∃ x : Fin n, 0 < H.faceCharge transfer x) := by sorry
end FourColor
Source
Georges Gonthier, A Computer-Checked Proof of the Four Colour Theorem (2005), https://www.microsoft.com/en-us/research/wp-content/uploads/2012/10/4colproof.pdf; Section 3, PDF p. 9, paragraph on PDF p. 9 defining discharging and its unnumbered charge formula; Section 5.5, PDF pp. 44–48. Relevant displays are unnumbered. Pinned executable reference: https://github.com/rocq-community/fourcolor/blob/c1d6b1cd5288bea4b067aac13cdde3c18dffe018/theories/proof/geometry.v#L617; https://github.com/rocq-community/fourcolor/blob/c1d6b1cd5288bea4b067aac13cdde3c18dffe018/theories/proof/discharge.v#L167; https://github.com/rocq-community/fourcolor/blob/c1d6b1cd5288bea4b067aac13cdde3c18dffe018/theories/proof/discharge.v#L201.
Read-back

What the Lean code literally says, in plain math · gpt-6

ChargeConservation. Let n∈Nn\in\mathbb Nn∈N, Dn={0,…,n−1}D_n=\{0,\ldots,n-1\}Dn​={0,…,n−1} (empty if n=0n=0n=0), and let H=(e,ν,ϕ)H=(e,\nu,\phi)H=(e,ν,ϕ) be three permutations of DnD_nDn​ with ν(ϕ(e(x)))=x\nu(\phi(e(x)))=xν(ϕ(e(x)))=x for every x∈Dnx\in D_nx∈Dn​. For a permutation σ\sigmaσ, a cycle is a class for x∼σy  ⟺  ∃j∈Z, σj(x)=yx\sim_\sigma y\iff\exists j\in\mathbb Z,\ \sigma^j(x)=yx∼σ​y⟺∃j∈Z, σj(x)=y, using inverse powers for negative jjj. Let E,N,FE,N,FE,N,F count the cycles of e,ν,ϕe,\nu,\phie,ν,ϕ, and let CCC count the classes of the equivalence relation generated by (x,e(x))(x,e(x))(x,e(x)), (x,ν(x))(x,\nu(x))(x,ν(x)), and (x,ϕ(x))(x,\phi(x))(x,ϕ(x)), allowing reflexivity, symmetry, and transitivity. Write Fx={y∈Dn:∃j∈Z, ϕj(x)=y}F_x=\{y\in D_n:\exists j\in\mathbb Z,\ \phi^j(x)=y\}Fx​={y∈Dn​:∃j∈Z, ϕj(x)=y} and ax=∣Fx∣a_x=|F_x|ax​=∣Fx​∣, using inverse powers for negative jjj. The proposition says that if E+N+F=n+2CE+N+F=n+2CE+N+F=n+2C, every x∈Dnx\in D_nx∈Dn​ satisfies e(e(x))=xe(e(x))=xe(e(x))=x and e(x)≠xe(x)\ne xe(x)=x, and every ν\nuν-cycle has exactly three elements, then for every function t:Dn→Qt:D_n\to\mathbb Qt:Dn​→Q the following conjunction holds. Set qt(x)=60−10ax+∑y∈Fx(t(e(y))−t(y))q_t(x)=60-10a_x+\sum_{y\in F_x}(t(e(y))-t(y))qt​(x)=60−10ax​+∑y∈Fx​​(t(e(y))−t(y)), with axa_xax​ converted to a rational number. Then ∑x∈Dnqt(x)/ax=120C\sum_{x\in D_n}q_t(x)/a_x=120C∑x∈Dn​​qt​(x)/ax​=120C, with axa_xax​ and CCC converted to rational numbers; and, if C=1C=1C=1, there exists x∈Dnx\in D_nx∈Dn​ with qt(x)>0q_t(x)>0qt​(x)>0. The values of ttt have no sign or size restriction. There is no hypothesis excluding a dart and its edge image from sharing a face cycle, and connectedness is required only in the conditional second conclusion. Each denominator in an existing summand is positive because x∈Fxx\in F_xx∈Fx​. For n=0n=0n=0 all premises hold, the sum and 120C120C120C are zero, and the conditional positive-charge conclusion has false antecedent C=1C=1C=1.

Human review
  • Endorsed by Shuze Chen · Sep 27, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Minghui · Sep 27, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me