Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

§8 — the rank postulates (R) and the circuit postulates (C) are equivalent

Proved
WhitneyMatroid.RankCircuit.rank_circuit_equivalence

by mikedeng1 · 1 vote · Oct 5, 2026 · Mathlib 0df444a (Lean v4.33.1)

circuitscryptomorphismmatroidsp2o-batch-pfp2bp2o-gran-per-chapterp2o-plan-paperp2o-v1rank-function

Let MMM be a finite set of elements. Whitney's rank postulates (R1)(\mathrm R_1)(R1​)–(R3)(\mathrm R_3)(R3​) and circuit postulates (C1)(\mathrm C_1)(C1​), (C2)(\mathrm C_2)(C2​) define the same structures, through mutually inverse translations:

  1. If rrr satisfies (R1)(\mathrm R_1)(R1​)–(R3)(\mathrm R_3)(R3​), then its circuits (minimal sets of positive nullity) satisfy (C1)(\mathrm C_1)(C1​), (C2)(\mathrm C_2)(C2​), the empty set is not a circuit, and the rank defined from these circuits is rrr again:
rC(r)=r.r_{\mathcal C(r)} = r .rC(r)​=r.
  1. If a family C\mathcal CC of nonempty subsets satisfies (C1)(\mathrm C_1)(C1​), (C2)(\mathrm C_2)(C2​), then the rank rCr_{\mathcal C}rC​ defined from it satisfies (R1)(\mathrm R_1)(R1​)–(R3)(\mathrm R_3)(R3​), and the circuits of rCr_{\mathcal C}rC​ are exactly the members of C\mathcal CC:
C(rC)=C.\mathcal C(r_{\mathcal C}) = \mathcal C .C(rC​)=C.

Here C(r)\mathcal C(r)C(r) denotes the circuits of the rank function rrr, and rC(N)=∑iΓir_{\mathcal C}(N) = \sum_i \Gamma_irC​(N)=∑i​Γi​ along an enumeration e1,…,epe_1, \dots, e_pe1​,…,ep​ of NNN, with Γi=0\Gamma_i = 0Γi​=0 if some member of C\mathcal CC inside {e1,…,ei}\{e_1, \dots, e_i\}{e1​,…,ei​} contains eie_iei​ and Γi=1\Gamma_i = 1Γi​=1 otherwise. In Whitney's words: the definitions of rank and of circuits under the two systems agree, and hence the systems are equivalent.

Formalization Note The paper takes the circuits to be nonempty tacitly: a circuit of a rank system has positive nullity, so it is never empty, while the family {∅}\{\emptyset\}{∅} satisfies (C1)(\mathrm C_1)(C1​), (C2)(\mathrm C_2)(C2​) vacuously and its circuit rank has no circuits at all. The hypothesis "∅\emptyset∅ is not a circuit" is therefore added in part 2, and its counterpart is proved in part 1. The elements form a finite type, subsets are Finsets, ranks are integers, and the rank from circuits is computed along the enumeration N.toList.

Preamble
import Mathlib
import Definitions.Def_WhitneyMatroid_RankCircuit_IsRankSystem
import Definitions.Def_WhitneyMatroid_RankCircuit_IsCircuitSystem
Formal statement
namespace WhitneyMatroid.RankCircuit

theorem rank_circuit_equivalence (α : Type*) [Fintype α] [DecidableEq α] :
    (∀ r : Finset α → ℤ, IsRankSystem r →
      IsCircuitSystem (circuitsOfRank r) ∧ ¬ circuitsOfRank r ∅ ∧
        rankOfCircuits (circuitsOfRank r) = r) ∧
    (∀ C : Finset α → Prop, IsCircuitSystem C → ¬ C ∅ →
      IsRankSystem (rankOfCircuits C) ∧ circuitsOfRank (rankOfCircuits C) = C) := by sorry

end WhitneyMatroid.RankCircuit
Source
Whitney, On the Abstract Properties of Linear Dependence, Amer. J. Math. 57 (1935), p. 517, §8 (last paragraph); with §5, p. 512, and §8, p. 516
Human review
  • Endorsed by Shuze Chen · Oct 5, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 5, 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