@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
44Authors: Robin Langer
55-/
66import Mathlib.Combinatorics.SimpleGraph.Basic
7+ import Mathlib.Combinatorics.SimpleGraph.QuotientGraph
78
89/-!
910# The Zhou graph (F182A)
@@ -16,6 +17,10 @@ The Zhou graph (Foster census F182A) is a cubic arc-transitive graph on 182 vert
1617 Z₁₃ ⋊ Z₆, and Z₇ ⋊ Z₃ (none of order 6).
1718 - 273 edges, 3-regular
1819
20+ ## Visualizations
21+
22+ * [ The Zhou graph ] (https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/zhou-F182A.jpg) — symmetry-aware drawing with imprimitive block structure
23+
1924 ## References
2025
2126* Robin Langer, *Symmetric Graphs and their Quotients* , arXiv:1306.4798
@@ -94,3 +99,48 @@ theorem zhouGraph_edgeCount :
9499 (Finset.univ.filter fun p : Fin 182 × Fin 182 =>
95100 p.1 < p.2 ∧ zhouGraph.Adj p.1 p.2 ).card = 273 := by
96101 native_decide
102+
103+ /-! ### The Z₂ quotient: Sab(PSL(2,13), D₁₂)
104+
105+ S₃ is not maximal in PSL(2,13) — it sits inside D₁₂ (dihedral of order 12,
106+ index 91). The Z₂ block system pairs each of the 182 vertices with one partner,
107+ giving 91 blocks of size 2. The quotient is a 6-regular primitive graph on 91
108+ vertices. D₁₂ IS maximal in PSL(2,13), so this quotient is primitive. -/
109+
110+ private def zhouBlockData : List (Fin 91 ) := [
111+ 0 , 27 , 14 , 7 , 3 , 1 , 15 , 5 , 77 , 70 , 21 , 75 , 52 , 56 , 87 , 68 , 42 , 49 , 59 , 2 ,
112+ 45 , 11 , 31 , 89 , 85 , 29 , 36 , 64 , 24 , 67 , 48 , 90 , 72 , 39 , 41 , 66 , 80 , 44 , 22 , 65 ,
113+ 71 , 46 , 25 , 13 , 6 , 15 , 50 , 33 , 43 , 68 , 42 , 8 , 9 , 49 , 23 , 30 , 18 , 85 , 88 , 4 ,
114+ 29 , 12 , 16 , 74 , 40 , 67 , 28 , 41 , 53 , 73 , 22 , 69 , 65 , 20 , 60 , 37 , 0 , 62 , 38 , 83 ,
115+ 9 , 8 , 54 , 59 , 23 , 19 , 34 , 82 , 31 , 64 , 74 , 58 , 48 , 72 , 28 , 76 , 73 , 80 , 81 , 44 ,
116+ 46 , 17 , 61 , 10 , 1 , 83 , 27 , 26 , 62 , 5 , 35 , 57 , 11 , 19 , 4 , 89 , 16 , 40 , 79 , 90 ,
117+ 63 , 76 , 71 , 20 , 10 , 47 , 77 , 50 , 57 , 51 , 87 , 56 , 82 , 88 , 36 , 12 , 84 , 58 , 39 , 66 ,
118+ 69 , 25 , 60 , 61 , 32 , 38 , 14 , 86 , 75 , 51 , 55 , 2 , 84 , 53 , 32 , 26 , 43 , 70 , 21 , 35 ,
119+ 52 , 30 , 78 , 17 , 13 , 37 , 7 , 47 , 33 , 34 , 78 , 63 , 86 , 54 , 45 , 6 , 3 , 18 , 79 , 81 ,
120+ 24 , 55 ]
121+
122+ private theorem zhouBlockData_length : zhouBlockData.length = 182 := by native_decide
123+
124+ /-- The Z₂ block map on the Zhou graph: `Fin 182 → Fin 91`. -/
125+ def zhouBlockMap (v : Fin 182 ) : Fin 91 :=
126+ zhouBlockData.get (v.cast zhouBlockData_length.symm)
127+
128+ /-- The **Zhou quotient graph** : Sab(PSL(2,13), D₁₂), a 6-regular primitive graph
129+ on 91 vertices. This is the Z₂ quotient of the Zhou graph by the unique
130+ non-trivial block system. -/
131+ def zhouQuotientGraph : SimpleGraph (Fin 91 ) :=
132+ zhouGraph.quotientGraph zhouBlockMap
133+
134+ instance : DecidableRel zhouQuotientGraph.Adj := by
135+ intro i j; unfold zhouQuotientGraph SimpleGraph.quotientGraph; simp only; exact instDecidableAnd
136+
137+ /-- The Zhou quotient is 6-regular. -/
138+ theorem zhouQuotientGraph_regular :
139+ ∀ v : Fin 91 , (Finset.univ.filter fun w => zhouQuotientGraph.Adj v w).card = 6 := by
140+ native_decide
141+
142+ /-- The Zhou quotient has 273 edges. -/
143+ theorem zhouQuotientGraph_edgeCount :
144+ (Finset.univ.filter fun p : Fin 91 × Fin 91 =>
145+ p.1 < p.2 ∧ zhouQuotientGraph.Adj p.1 p.2 ).card = 273 := by
146+ native_decide
0 commit comments