Skip to content

feat(Combinatorics/SimpleGraph): Sabidussi representation theorem#39550

Open
RaggedR wants to merge 5 commits into
leanprover-community:masterfrom
RaggedR:feat/sabidussi-representation
Open

feat(Combinatorics/SimpleGraph): Sabidussi representation theorem#39550
RaggedR wants to merge 5 commits into
leanprover-community:masterfrom
RaggedR:feat/sabidussi-representation

Conversation

@RaggedR
Copy link
Copy Markdown

@RaggedR RaggedR commented May 18, 2026

This proves Sabidussi's representation theorem: every vertex-transitive graph is isomorphic to a coset graph. The proof constructs, for any basepoint v in a graph with a transitive graph action, an explicit graph isomorphism Γ ≃g Sab(G, Gᵥ, D) where Gᵥ is the stabilizer of v and D = {g ∈ G : Γ.Adj v (g • v)} is the connection set.

The connection set D is shown to satisfy the IsConnectionSet axioms for the stabilizer subgroup: it is stable under left and right multiplication by stabilizer elements (since the stabilizer fixes v and the action preserves adjacency), closed under inversion (since the graph is undirected), and disjoint from the stabilizer (since the graph has no loops). The orbit-stabilizer equivalence V ≃ G ⧸ Gᵥ is then shown to preserve adjacency in both directions, completing the isomorphism.

Together with the coset graph construction from #39548, this gives a complete classification of vertex-transitive graphs up to isomorphism.

Depends on

#39548

AI disclosure

The definitions and proofs are from my honours thesis (Symmetric Graphs and their Quotients, arXiv:1306.4798). The Lean formalization was developed collaboratively with Claude Code (Anthropic's coding assistant), which helped with tactic selection, Mathlib API navigation, and porting the mathematical content into idiomatic Lean 4. All mathematical content was verified by me and the proofs compile without sorry.

RaggedR added 4 commits May 19, 2026 00:26
This adds the first connection between Mathlib's `MulAction` and `SimpleGraph` libraries, defining what it means for a group action to preserve adjacency and providing the standard transitivity predicates used in algebraic graph theory.

The `GraphAction` class asserts that `g • u` is adjacent to `g • v` whenever `u` is adjacent to `v`. For group actions this is automatically an iff (`adj_smul_iff`), and each group element induces a graph isomorphism (`toIso`). On top of this, `IsVertexTransitive` combines `GraphAction` with `IsPretransitive`, and `IsArcTransitive` requires transitivity on ordered adjacent pairs.

The main result is the characterization theorem: a vertex-transitive graph that is locally transitive (the stabilizer of each vertex acts transitively on its neighbors) is arc-transitive, and conversely an arc-transitive graph with no isolated vertices is vertex-transitive. This is the standard equivalence between arc-transitivity and the combination of vertex-transitivity with local transitivity, used throughout the theory of symmetric graphs.
@github-actions github-actions Bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label May 18, 2026
@github-actions
Copy link
Copy Markdown

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR.

Thank you again for joining our community.

@github-actions github-actions Bot added the t-combinatorics Combinatorics label May 18, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 18, 2026

PR summary f81a6d70f0

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Combinatorics.SimpleGraph.Action (new file) 648
Mathlib.Combinatorics.SimpleGraph.CosetGraph (new file) 842
Mathlib.Combinatorics.SimpleGraph.Representation (new file) 843

Declarations diff

+ GraphAction
+ IsArcTransitive
+ IsConnectionSet
+ IsLocallyTransitive
+ IsVertexTransitive
+ SimpleGraph.cosetGraph
+ adj_mk
+ adj_smul_iff
+ connectionSet
+ disjoint_stabilizer
+ double_coset_stable
+ graphAction
+ inv_mem
+ isArcTransitive_of_vertexTransitive_locallyTransitive
+ isConnectionSet
+ sabidussiEquiv
+ sabidussiEquiv_smul
+ sabidussiEquiv_symm_mk
+ sabidussiIso
+ toIso
+ toIso_apply
+ toIso_mul
+ toIso_symm
++ isVertexTransitive
++ one_not_mem

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.


No changes to strong technical debt.
No changes to weak technical debt.

@SnirBroshi SnirBroshi added the LLM-generated PRs with substantial input from LLMs - review accordingly label May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

LLM-generated PRs with substantial input from LLMs - review accordingly new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-combinatorics Combinatorics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants