Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

SSS is the Fano plane up to relabelling

Definition
FanoUnique_isFano

by ShapeZero · Sep 24, 2026 · Mathlib 0df444a (Lean v4.33.1)

combinatoricsfano-planesteiner-triple-systems

Let SSS be a Steiner triple system on the points {0,…,n−1}\{0, \dots, n-1\}{0,…,n−1}. SSS is the Fano plane up to relabelling if there is a bijection eee from its points to {0,…,6}\{0, \dots, 6\}{0,…,6} that carries its lines exactly onto the lines of the Fano plane:

{ e(ℓ):ℓ a line of S }={{i, i+1, i+3}:i∈Z/7},\{\, e(\ell) : \ell \text{ a line of } S \,\} = \bigl\{\{i,\ i+1,\ i+3\} : i \in \mathbb{Z}/7\bigr\},{e(ℓ):ℓ a line of S}={{i, i+1, i+3}:i∈Z/7},

where e(ℓ)={e(x):x∈ℓ}e(\ell) = \{e(x) : x \in \ell\}e(ℓ)={e(x):x∈ℓ}. This forces n=7n = 7n=7 and exactly seven lines.

Formalization Note IsFano S is ∃ e : Fin n ≃ Fin 7, S.lines.image (fun l => l.map e.toEmbedding) = fano.lines. STS and fano are the published definitions of the companion mission The role postulates force exactly seven points, imported unchanged.

Definition code
import Mathlib
import Definitions.Def_RolesForceSeven_fano

namespace FanoUnique

open RolesForceSeven

/-- S is the Fano plane up to relabelling: a bijection of points carries S's
lines exactly onto the Fano plane's lines. -/
def IsFano {n : ℕ} (S : STS n) : Prop :=
  ∃ e : Fin n ≃ Fin 7,
    S.lines.image (fun l => l.map e.toEmbedding) = fano.lines

end FanoUnique
Source
Shape Zero LLC, "Formal Proofs of the C1 Verification Package" (August 2026), §3, Theorem 3.3 ("hence the unique STS(7) (the Fano plane PG(2, 2))"); Fano lines as in the Prove2Me definition RolesForceSeven.fano: https://github.com/ShapeZeroSZ/shape-zero/blob/main/01_source/proofs/ShapeZero_C1_Formal_Proofs.pdf ; public references: Wikipedia, "Fano plane": https://en.wikipedia.org/wiki/Fano_plane ; Wikipedia, "Steiner system": https://en.wikipedia.org/wiki/Steiner_system
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Definition IsFano. For a natural number nnn (an implicit parameter) and a structure SSS of type "STS on nnn points", IsFano SSS is the proposition defined below. The points are [n]={0,1,…,n−1}[n] = \{0, 1, \dots, n-1\}[n]={0,1,…,n−1}.

What an "STS on nnn points" is (imported definition). It is a finite family L(S)\mathcal{L}(S)L(S) of subsets of [n][n][n], called lines, together with proofs of two conditions:

  • every line ℓ∈L(S)\ell \in \mathcal{L}(S)ℓ∈L(S) has exactly 333 elements;
  • for any two points x≠yx \ne yx=y in [n][n][n] there is exactly one line ℓ∈L(S)\ell \in \mathcal{L}(S)ℓ∈L(S) with x∈ℓx \in \ellx∈ℓ and y∈ℓy \in \elly∈ℓ.

Nothing else is required. In particular nnn is arbitrary (no congruence condition is stated), points are not required to lie on a line, and for n≤1n \le 1n≤1 the second condition is vacuous, so for n∈{0,1}n \in \{0,1\}n∈{0,1} the empty family of lines is allowed. Only the family L(S)\mathcal{L}(S)L(S) enters the definition of IsFano; the two conditions are proofs attached to SSS.

The reference system F\mathcal{F}F (imported definition fano). The points are Z/7={0,…,6}\mathbb{Z}/7 = \{0,\dots,6\}Z/7={0,…,6} with addition modulo 777. For i∈Z/7i \in \mathbb{Z}/7i∈Z/7 put

Li={ i, i+1, i+3 }(mod7),L_i = \{\, i,\ i+1,\ i+3 \,\} \pmod 7,Li​={i, i+1, i+3}(mod7),

and let the lines of F\mathcal{F}F be {Li:i∈Z/7}\{L_i : i \in \mathbb{Z}/7\}{Li​:i∈Z/7}. Explicitly these are the seven sets

{0,1,3}, {1,2,4}, {2,3,5}, {3,4,6}, {0,4,5}, {1,5,6}, {0,2,6},\{0,1,3\},\ \{1,2,4\},\ \{2,3,5\},\ \{3,4,6\},\ \{0,4,5\},\ \{1,5,6\},\ \{0,2,6\},{0,1,3}, {1,2,4}, {2,3,5}, {3,4,6}, {0,4,5}, {1,5,6}, {0,2,6},

which are pairwise distinct. The file checks by exhaustive computation that each has 333 elements and that every pair of distinct points of Z/7\mathbb{Z}/7Z/7 lies in exactly one of them, so F\mathcal{F}F is an STS on 777 points.

The definition. IsFano SSS holds if and only if

∃ e:[n]→{0,…,6} a bijection such that { e(ℓ):ℓ∈L(S) }={ Li:i∈Z/7 },\exists\, e : [n] \to \{0,\dots,6\} \text{ a bijection such that } \{\, e(\ell) : \ell \in \mathcal{L}(S) \,\} = \{\, L_i : i \in \mathbb{Z}/7 \,\},∃e:[n]→{0,…,6} a bijection such that {e(ℓ):ℓ∈L(S)}={Li​:i∈Z/7},

where e(ℓ)={e(x):x∈ℓ}e(\ell) = \{ e(x) : x \in \ell \}e(ℓ)={e(x):x∈ℓ} is the image of the line ℓ\ellℓ, and the equality is equality of families of subsets of {0,…,6}\{0,\dots,6\}{0,…,6} (every image of a line of SSS is one of the LiL_iLi​, and every LiL_iLi​ is the image of some line of SSS). Since eee is injective, distinct lines of SSS have distinct images, so this says eee induces a bijection from the lines of SSS onto the seven lines of F\mathcal{F}F; in particular SSS then has exactly 777 lines.

Degenerate cases. A bijection [n]→{0,…,6}[n] \to \{0,\dots,6\}[n]→{0,…,6} exists only when n=7n = 7n=7; hence for every n≠7n \ne 7n=7 and every STS SSS on nnn points, IsFano SSS is false. For n=7n = 7n=7 it asserts that some relabelling (permutation) of the seven points carries the line family of SSS exactly onto the line family {Li}\{L_i\}{Li​} above. The bijection eee is only asserted to exist; it is not unique or specified.

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

    Confirmed by the moderator at approval.

  • Endorsed by ShapeZero · Sep 25, 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