Symmetric structures Péter Csikvári This note follows the treatment of the book A course in combinatorics by J. H. van Lint and R. M. Wilson. 1. Block designs Definition 1.1. Let P = {P1 , . . . , Pv } be set of points and B = {B1 , . . . , Bb } be set of blocks. We say that S = (P, B) is a block design of parameters t − (v, k, λ) if Bi ⊆ P, |Bi | = k and for every T ⊆ P with |T | = t there are exactly λ blocks Bi such that T ⊆ Bi . Before we start proving anything let’s see some examples. First of all, there are very boring examples like one set B containing all points or if we choose all sets of size k of a v-element set. Let’s see a bit more interesting example. The Fano-plane is a 2 − (7, 3, 1) block design: let P = {1, 2, 3, 4, 5, 6, 7}, and let B consist of the following sets: {1, 2, 4}, {2, 3, 5}, {3, 4, 6}, {4, 5, 7}, {5, 6, 1}, {6, 7, 2}, {7, 1, 3}. One can easily check that any two points are in exactly 1 set. So it is indeed a block design of parameters 2 − (7, 3, 1). There are at least two possible ways to generalize the Fano-plane. If we keep the condition that every block has size 3 and every pairs is in exactly one block then we arrive to the so-called Steiner triple system (STS): this is a block design of parameters 2 − (n, 3, 1). We can imagine it as a decomposition of Kn into triangles such that every edge is in exactly one triangle. There are two necessary conditions for the parameters: 3 | n2 and that 2 | n − 1 since the degree of every vertex is n − 1 and a triangle covers 2 edges at a given vertex. The two conditions together give that n = 6k + 1 or n = 6k + 3. This condition turns out to be sufficient. For n = 6k + 3 there is a very simple construction: take three copies of the cyclic group Z2k+1 , then the vertices of Kn can be denoted by (x)i , where x is an element of Z2k+1 and i = 1, 2, 3. Let us consider the following triangles: ((x)i , (y)i , x+y ), where i + 1 is 2 i+1 meant by mod 3 and x 6= y, and ((x)1 , (x)2 , (x)3 ). It is easy to check that this construction gives a decomposition of Kn into triangles. There is another way to generalize the Fano-plane, and this leads us to the concept of finite projective plane. If we call the blocks of the Fano-plane lines, then in the Fano-plane any two points determine exactly one line, and any two lines intersect in exactly one point. So Fano-plane mimics the projective plane. So let us require these two conditions: (i) any any two points determine 1 2 exactly one line, and (ii) any two lines intersect in exactly one point. It turns out that there are two boring examples satisfying these conditions: one line containing all points; and one line containing all except one point and the extra point not on the line is incident to lines of size 2 determined by the points on the line and the extra point. If we exclude these two boring examples we get the concept of finite projective planes. It turns out that it is equivalent with the design 2 − (n2 + n + 1, n + 1, 1). In this design every point is on exactly n+1 lines, and as the second parameter shows, every line contains n+1 points. The Fano-plane corresponds to the case n = 2. There is a funny way to construct finite projective planes: consider a regular (n2 + n + 1)-gon, and choose n + 1 points such a way that all possible distances appear among the n + 1 vertices. Such an (n + 1)-gon is called totally irregular polygon. Let us rotate this totally irregular polygon every possible ways then we get n2 + n + 1 lines of a projective plane. For instance, if we take the vertex 1, 2, 4 in a regular 7-gon, then we get back that the Fano -plane. If we consider the sets (0 + k, 1 + k, 3 + k, 9 + k) in the cyclic group Z13 with k ∈ Z13 then we get the design 2 − (13, 4, 1), the finite projective plane of rank 3. If n = 4 then we can take the vertices 3, 6, 7, 12, 14 to get a totally irregular polygon in the regular 21-gon, this leads to the (unique) design of parameters 2 − (21, 5, 1), the finite projective plane of rank 4. The projective planes obtained by such a construction is called a cyclic projective plane. There is another much more standard way to construct finite projective planes from finite fields. Let q be a prime power and Fq be the finite field with q elements. In F3q \ {(0, 0, 0)} let us introduce the equivalence relation (x, y, z) ' (x0 , y 0 , z 0 ) if there exists some λ 6= 0 such that x0 = λx, y 0 = λy, z 0 = λz. It is indeed an equivalence relation and the number of equivalence classes 3 −1 is qq−1 = q 2 + q + 1. In our projective plane an equivalence class [x, y, z] will correspond to each point, and also an equivalence class [a, b, c] will correspond to each line. A point is incident to a line if ax + by + cz = 0. Note that it is independent of which elements of the equivalence classes of the point or line we consider. It is easy to check that every line contains exactly q + 1 points, any any two points determine exactly one line, and any two lines intersect in exactly one point. Surprisingly, the finite projective planes obtained this way can be obtained as cyclic projective planes. 2. Lower bounds on the number of blocks 2.1. Double counting. The conditions of a block design t − (v, k, λ) is so strong that it gives a lot of possibility to carry out double counting arguments. 3 Theorem 2.1. Let S = (P, B) be a block design of parameters t − (v, k, λ). Let I be a subset of P with i points, where i ≤ t. Let bi be the number of blocks containing I. Then bi = λ v−i t−i . k−i t−i Proof. Let us consider the set A = {(T, B) | I ⊆ T ⊆ B, |T | = t, B ∈ B}. Then we can count |A| in two different ways. First we can choose T in ways and having T we can choose B in λ ways. Hence v−i |A| = λ . t−i v−i t−i Another way to count |A| is as follows. We choose B in bI ways and then from B we can choose t − i elements from B \ I in k−i ways. Hence t−i k−i |A| = bI . t−i Hence bI = λ v−i t−i k−i t−i depends only on the size of I so we can call it bi . Corollary 2.2. Let S = (P, B) be a block design of parameters t − (v, k, λ), then it is a block desing for all i ≤ t. Corollary 2.3. Let S = (P, B) be a block design of parameters t − (v, k, λ). Let I be a subset of P with i points, where i ≤ t. Let us consider the system SI = (PI , BI ), where PI = P \ I and BI = {B \ I | B ∈ B and I ⊆ B}. Then SI = (PI , BI ) is a block design of parameters (t − i) − (v − i, k − i, λ). This is called a derived block design. We will also need a dual result of Theorem 2.1. Theorem 2.4. Let S = (P, B) be a block design of parameters t − (v, k, λ). Let J be a subset of P with j points, where j ≤ t. Let bj be the number of blocks disjoint from J. Then v−j j k b = λ v−t . k−t 4 Naturally, j is just a superscript in bj , not a power. Proof. We will use the inclusion-exclusion principle. For sake of simplicity, let J = {1, 2, . . . , j}. Let Ai ⊆ B be defined as follows: Ai = {B ∈ B | i ∈ B}. Then clearly we would like to determine the cardinality of B \ ∪jm=1 Am . By inclusion-exclusion principle we have j X j B \ ∪ Ai = |B| − |Ai | + i=1 X |Ai1 ∩ Ai2 | + . . . 1≤i1 <i2 ≤j i=1 Clearly, the set Ai1 ∩ · · · ∩ Air is the set of blocks which contains the set I = {i1 , . . . , ir }. By Theorem 2.1, its cardinality is v−r bI = λ t−r . k−r t−r Hence the number bJ of blocks avoiding J is j X J i j b = (−1) λ i i=0 v−i t−i . k−i t−i Now we can use various identities for proving our result or we can use the following shortcut. From the above formula we can see that the number bJ only depends on |J| = j, so we can use the notation bj for it. So let us count the cardinality of the set A = {(J, B) | |J| = j, B ∈ B, J ∩ B = ∅}. First of all, v−k |A| = b , j where b = b0 is the number of blocks: v t . k t b = b0 = λ On the other hand, v j |A| = b. j 5 Hence j v−k j b = (vt) λ k () t =λ v j v−k v j t k v t j =λ (v−k)! v! j!(v−k−j)! t!(v−t)! k! v! t!(k−t)! j!(v−j)! =λ (v − k)!(v − j)!(k − t)! . (v − k − j)!(v − t)!k! Note that v−j k v−t k−t λ = (v−j)! k!(v−k−j)! λ (v−t)! (v−k)!(k−t)! =λ Hence (v − j)!(v − k)!(k − t)! . (v − t)!k!(v − k − j)! v−j k v−t . k−t j b =λ Corollary 2.5. Let S = (P, B) be a block design of parameters t − (v, k, λ). Let I and J be subsets of P with i and j points, where i + j ≤ t. Let bji be the number of blocks which contains I and are disjoint from J. Then v−i−j bji = λ k−i v−t k−t . Proof. Let us consider the derived block design (S)I introduced in Corollary 2.3 and apply Theorem 2.4. Then (v−i)−j v−i−j bji = λ k−i (v−i)−(t−i) (k−i)−(t−i) =λ k−i v−t k−t . 2.2. Lower bounds on the number of blocks. Theorem 2.6 (Fisher’s inequality). Let b the number of blocks of a block design 2 − (v, k, λ). If v > k (in other words, no block contains all elements) then b ≥ v. Proof. Let N be the v × b incidence matrix: Ni,B = 1 if i ∈ B, otherwise Ni,B = 0. Let us consider the matrix M = N N T . Then Mij simply counts the number of blocks which contain both i and j, by definition it is λ if i 6= j. On the other hand, if i = j, then it is the number of blocks containing i, let r denote this number. Note that r is independent of i by Theorem 2.1 and bigger than λ since we can choose an element i contained in a block B, and element not contained in B as v > k. Hence N N T = (r − λ)I + J. 6 Note that the rank of (r − λ)I + J is v. Indeed, its eigenvalues are (r − λ) + vλ and r − λ with multiplicity v − 1. Hence the rank of N is at least v. On the other hand, it is at most min(v, b). Hence b ≥ v. Next we give a generalization of the previous theorem where we really use the results from the previous subsection. Theorem 2.7 (Ray-Chaudhuri and Wilson). Let S be a block design of parameters t − (v, k, λ) with b blocks. Assume that the positive integer s satisfies that t ≥ 2s and v ≥ k + s. Then b ≥ vs . Proof. For an i ≤ t let us consider i-th incidence matrix Ni : it is matrix of size v × b whose elements indexed by pairs (I, B), where |I| = i and B ∈ B, and i NI,B = 1 if I ⊆ B, and NI,B = 0 otherwise. Let us also introduce the matrix Wij of size vi × vj whose elements indexed by pairs (I, J), where |I| = i and |J| = j, and NI,J = 1 if I ⊆ J, and NI,J = 0 otherwise. The main claim is that s X Ns NsT = bi2s−i WisT Wis . i=0 Let E and F be two sets of size s such that |E ∩ F | = µ. Then (Ns NsT )E,F = |{B ∈ B | E, F ⊆ B}| = |{B ∈ B | E ∪ F ⊆ B}| = b2s−µ since |E ∪ F | = 2s − µ. Note that (WisT Wis )E,F µ = |{I | I ⊆ E, F, |I| = i}| = |{I | I ⊆ E ∩ F, |I| = i}| = . i So what we need to prove is that b2s−µ = s X bi2s−i i=0 µ . i Recall that v−2s+µ t−2s+µ . k−2s+µ t−2s+µ b2s−µ = λ On the other hand, X s s X µ i b2s−i = i i=0 i=0 v−(2s−i)−i k−(2s−i) v−t k−t µ = i s X λ v−t k−t i=0 v − 2s k − (2s − i) µ µ−i = 7 v − 2s + µ = v−t k − 2s + µ k−t λ v−2s+µ v−k v−t k−t =λ Let us introduce the notation r = 2s − µ. Then (v−r)! v−2s+µ v−r λ t−2s+µ k−2s+µ t−2s+µ =λ t−r k−r t−r =λ (v−t)!(t−r)! (k−r)! (k−t)!(t−r)! =λ . (v − r)!(k − t)! . (v − t)!(k − r)! On the other hand, v−2s+µ v−k v−t k−t λ v−r v−k v−t k−t =λ = (v−r)! (v−k)!(k−r)! λ (v−t)! (k−t)!(v−k)! Hence Ns NsT = s X =λ (v − r)!(k − t)! . (v − t)!(k − r)! bi2s−i WisT Wis . i=0 Note that the matrices WisT Wis are positive semidefinite for all i, and bi2s−i T is non-negative. On the other hand, Wss Wss = I · I = I and bss > 0 since v ≥ k + s. Hence s X bi2s−i WisT Wis i=0 is positive definite. So its rank is vs . Hence the rank of Ns is also the other hand, it is at most min(b, vs ). Hence b ≥ vs . v s . On Remark 2.8. For t ≥ 4, not many examples known where v > k + s and b = vs . In fact, the only known example is the block design with parameters 4 − (23, 7, 1) and its complement. Note that for this block design we have 23 23 · 22 · 21 · 20 23 · 22 23 4 = = . b = 7 = 7·6·5·4 2 2 4 If we apply derivation two times to this block design we get a design of parameters 2 − (21, 5, 1), the projective finite plane of rank 4. Surprisingly one can extend this design of parameters 4 − (23, 7, 1) to get a design of parameters 5 − (24, 8, 1). This new design is called Witt-design and we will construct it later. 3. Extended Golay-code We will study certain codes in this section. I will use standard notations, see for instance Miniature 5 of Matousek’s book. The main theorem of this section is the following. 8 Theorem 3.1. Let C be a code of parameters (24, 212 , 8)2 such that 0 ∈ C. Then C is unique up to permutations of the coordinates. Proof. Let us delete one of the coordinate of C, and let C 0 be the obtained code. Then C 0 has parameters (23, 212 , 7)2 . Now for every c ∈ C 0 let us consider the ball B(c) = {u ∈ {0, 1}23 | dH (u, c) ≤ 3}, where dH (x, y) is the Hamming-distance, the number of coordinates where x and y differ. Note that for c1 , c2 ∈ C 0 we have B(c1 ) ∩ B(c2 ) = ∅ since if u ∈ B(c1 ) ∩ B(c2 ) then dH (c1 , c2 ) ≤ dH (c1 , u) + dH (u, c2 ) ≤ 6 contradicts the fact that the minimal distance in C 0 is at least 7. Note that 23 23 23 |B(c)| = 1 + + + = 211 . 1 2 3 Hence | ∪c∈C 0 B(c)| = X |B(c)| = 212 · 211 = 223 . c∈C 0 So every u ∈ {0, 1}23 is exactly in one ball B(c). Let Ai be the number of codewords c for which the weight w(c) = dH (c, 0) = i. Now let us count the number of vectors in {0, 1}23 which has weight i. Of 23 course, it is i . On the other since every u ∈ {0, 1}23 is exactly in one ball B(c), we can count that how many ways we can get a word of weight i from a codeword c. For instance if c has weight i + 3, we have to delete 3 1’s from c which we can do i+3 ways. If we c contains i 1’s then we either do nothing 3 or we can change one 0 to 1 and one 1 to a 0, which we can do in 1 + i(23 − i) ways. Similar argument shows that 23 = βi−3 Ai−3 +βi−2 Ai−2 +βi−1 Ai−1 +βi Ai +βi+1 Ai+1 +βi+2 Ai+2 +βi+3 Ai+3 , i where 26 − i 25 − i 26 − i βi−3 = , βi−2 = , βi−1 = (24 − i) + (i − 1) , 3 2 2 i+1 i+2 i+3 βi = 1+i(23−i), βi+1 = (i+1)+(22−i) , βi+2 = , βi+3 = . 2 2 3 Note that A0 = 1 as 0 ∈ C 0 , and A1 = A2 = A3 = A4 = A5 = A6 = 0 as the minimal distance is 7 and 0 ∈ C 0 . It is clear that the equations above determines the number Ai ’s recursively. Tedious, but trivial computation shows that A0 = A23 = 1, A7 = A16 = 253, A8 = A15 = 506, A11 = A12 = 1288. 9 Now let Ai be the number of codewords c ∈ C with weight i. We claim that A0 = A23 = 1, A8 = A23 = 759, A12 = 2576. Indeed, if for instance there were a c ∈ C such that w(c) = 7 then deleting a coordinate where c is 1 we would get a code C 0 which contains a codeword of weight 6 which is impossible. Similar arguments shows that Ai = 0 if i ∈ / {0, 8, 12, 16, 24}. Next we show that (c1 , c2 ) = 0, where we compute in F2 . For a vector u, let supp(u) be the set of places where u is equal to 1. Note that |supp(u)| = w(u). Then (u1 , u2 ) is the parity of |supp(u1 ) ∩ supp(u2 )|. Note that 1 (c1 , c2 ) ≡ |supp(c1 )∩supp(c2 )| = (|supp(c1 )| + |supp(c1 )| − |supp(c1 + c2 )|) = 2 1 = (w(c1 ) + w(c2 ) − w(c1 + c2 )) (mod 2). 2 We know that 4 | w(c1 ) and 4 | w(c2 ). Now we claim that 4 | w(c1 + c2 ). Currently we don’t know that c1 + c2 ∈ C or not, but we can apply a little trick. Let us consider the code C + c1 = {c + c1 | c ∈ C}. Note that 0 ∈ C + c1 and C + c1 has parameters (24, 212 , 8)2 . So everything which we proved so far for C is also true for C + c1 . In particular, every codeword of C + c1 has weight divisible by 4. In particular, 4 | w(c1 + c2 ). Hence (c1 , c2 ) = 0. Now we are ready to show that C is a linear code. Let D be the linear code generated by C, and let D⊥ its dual. Then dim D ≥ 12 as |C| = 212 . Note that since any two codeword of C are orthogonal to each other we have C ⊆ D⊥ too. This means that dim D⊥ ≥ 12 is also true. Note that for any subspace V and V ⊥ we have dim V + dim V ⊥ = 24. So dim D = dim D⊥ = 12 and C = D, which means that C is a linear code. Our next goal is to find a nice basis of C. First let’s choose a vector c1 with weight 12 and permute the coordinates such a way that the 2, 3, . . . , 13 coordinates in c1 are 0, the other coordinates are 1. Let us project C to the coordinates 2, 3, . . . , 13. Then clearly c and c + c1 will have the same projection. We show that there is no other codeword which has the same projection as c and c + c1 . Since C is a linear code, it is enough to show that if c2 projects to the 0 vector then it is 0 or c1 . If c2 projects to 0 and c2 6= 0, c1 then 0 < w(c2 ) < 12. So w(c2 ) = 8 but then w(c1 + c2 ) = 4 which is impossible. Finally observe that every projection contain even number of 1’s since (c, c1 ) = 0 for all c ∈ C. Hence the projection is the unique code C 00 of parameters [12, 11, 2]2 which contains all words with even number of 1’s. In particular, we can choose c2 , c3 , . . . , c12 such that i-th and 13-th coordinate are 1 in ci and all other coordinates between 2, 3, . . . , 12 are 0. If necessary by choosing ci + c1 instead of ci we can also ensure that the first coordinate of ci 10 are 0 for i = 2, . . . , 12. Hence the matrix whose rows are c1 , . . . , c12 has the following form: (I A), where A is a 12 × 12 matrix whose first row and column only contains 1’s except a11 = 0. Let N be the 11 × 11 matrix which we get if we delete the first row and column of A. Assume that ni is the i − 1-th row vector of N , this way ni is a part of the vector ci for i = 2, . . . , 12. Since 2 ≤ w(ci ) ≤ 14 we have w(ci ) = 8 or 12. On the other hand, if w(ci ) = 12 then w(c1 + ci ) = 4 which is impossible. Hence w(ci ) = 8 and w(ni ) = 6. Let Bi = supp(ni ), then |Bi | = 6. If |Bi ∩ Bj | = x then w(ci + cj ) = 2 + (6 − x) + (6 − x) = 14 − 2x so x = 1 or x = 3. If x = 1 then w(ci + cj ) = 12, but again w(c1 + ci + cj ) = 4 as ci + cj only contains two 1’s in the first 12 coordinates. Hence x = 3. So the sets Bi has cardinalities 6 and |Bi ∩ Bj | = 3 for i 6= j. We will show that there is a unique system of sets with the above properties. There is a construction for these sets: Bi+1 = {i, i + 1, i + 3, i + 4, i + 5, i + 9} ⊆ F11 for i = 1, 2, . . . , 11. Note that if we write up all differences between {0, 1, 3, 4, 5, 9} we will get every non-zero element exactly 3 times. This shows that |Bi ∩ Bj | = 3 for all i 6= j. This way we can give a generator matrix of our code C. 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 0 1 1 1 0 1 Now we have two things left to do: (i) to prove that the this generator matrix generates a code of parameters [24, 12, 8]2 , (ii) to prove the uniqueness of our system of sets B2 , . . . , B12 . Our next goal is to show that this code has indeed parameters [24, 12, 8]2 . First of all, let’s show that for any u1 , u2 ∈ C we have (u1 , u2 ) = 0. In other words, C is self-orthogonal. Clearly, (c1 , ci ) = 0 and (ci , cj ) = 0 for i, j ∈ {2, . . . , 12}, so the generators are pairwise orthogonal, but then it is also 11 true for any u1 , u2 ∈ C. This means that not only G = (I A) is a generator matrix for C, but also G0 = (−AT I) = (AT I) is also generator matrix for C = C ⊥ . Next we show that every codeword has weight divisible by 4. This is again true for the c1 , . . . , c12 , and if it is true for u1 and u2 then it is true for u1 + u2 : w(u1 + u2 ) = w(u1 ) + w(u2 ) − 2|supp(u1 ) ∩ supp(u2 )|, but |supp(u1 ) ∩ supp(u2 )| ≡ (u1 , u2 ) ≡ 0 ( mod 2), so 4 | w(u1 + u2 ). So for all vectors u ∈ C we have 4 | w(u). In order to show that the minimal distance is 8, it is enough to show that there is no vector with weight 4. Now assume that u = (a, b) ∈ C has weight 4, where a and b are vectors of length 12. Clearly, we have w(u) = w(a) + w(b). Note if u is generated by G then u = aG, and similarly u = bG0 . Now if w(a) = 0 then u = 0, so w(u) = 0. If w(a) = 1 then u = ci for some i and w(u) = 12 or 8. If w(a) = 2 then u = ci + cj , but then w(u) = 8 again by the properties of the sets Bi . If w(a) = 3 then w(b) = 1 and u is row vector of G0 and so w(u) = 12 or 8 again. Finally, if w(a) = 4 then w(b) = 0 and u = 0, a contradiction again. Hence C does not contain any codeword of weight 4. This means that the minimal distance is 8. Finally, we have to show that the system of sets B2 , . . . , B12 is unique. So assume that B2 , . . . , B12 ⊆ {1, 2, . . . , 11} such that |Bi | = 6 and |Bi ∩ Bj | = 3 if i 6= j. Let Ai be the complement of Bi then |Ai | = 5 and |Ai ∩ Aj | = 2 if i 6= j (why?). First of all, we show that any two points p1 , p2 ∈ {1, 2, . . . , 11} are contained in exactly 2 sets Ai . (There is a very general claim which immediately implies it, but we don’t refer to anything here, so we do it very elementarily.) First we show that there are no three sets Ai , Aj , Ak all containing p1 , p2 . Indeed, if Ai , Aj , Ak all contains p1 , p2 then since the pairwise intersection of them has 2 elements, we get that Ai ∪ Aj ∪ Ak = {1, 2, . . . , 11}. But then if Am is a fourth set which contains k elements from p1 , p2 then |Am | = k + 3(2 − k) = 6 − 2k 6= 5. So every two points are contained in at most 2 sets. On the other hand, let us consider the set S = {(pi , pj , Ak ) | pi , pj ∈ Ak }. 5 Then |S| = 11 · 2 since if we fix Ak (11 ways) we can choose pi , pj in 52 ways. On the other hand, we can choose pi , pj first in 11 ways 2 and then Ak in at 11 5 11 most 2 ways. Hence |S| ≤ 2 · 2. Since 11 · 2 = 2 · 2 we get that every two points are contained in exactly two sets. Next we define some graphs on the set A2 . For every p ∈ / A2 let us consider the following graph Γ(p): for a pair x, y ∈ A2 let (x, y) ∈ E(Γ(p)) if the other set going through x, y contains p. Note that there are two sets, A2 and another set contain x and y. This way we get six graphs, these graphs 12 are called Hussein-graphs. We will show that for every p, the graph Γ(p) is 2-regular and if p 6= p0 then Γ(p) ∩ Γ(p0 ) contains exactly two edges. The first claim follows from the observation that the neighbors of x in Γ(p) are nothing else than the the intersection of the two sets with A2 wich contain x and p. The second claim follows from the fact that Γ(p) ∩ Γ(p0 ) are the intersection of A2 and the two sets containing p and p0 . Note that one can get back the sets from the Hussein-graphs: every x, y ∈ A2 determine the set {x, y, p1 , p2 , p3 }, where (x, y) ∈ E(Γ(pi )), where i = 1, 2, 3. So it is enough to show that the system of Hussein-graphs is unique. This is indeed true: every Hussein-graph is 2–regular on 5 vertices, so it must be a 5–cycle. Let Γ(p1 ) be the cycle containing the edges (1, 2), (2, 3), (3, 4), (4, 5), (5, 1). The other graphs contain exactly two of these edges. These two edges cannot be adjacent, because then the 5–cycle have to contain the opposite edge too. So then they can only contain two non-adjacent edges, but this completely determine the graph: {(1, 3), (3, 2), (2, 5), (5, 4), (4, 1)} and its rotated versions will be the 5 other graphs. This shows the uniqueness of the block system and the Golay-code! Theorem 3.2. Let 1, 2, . . . , 24 be the points of a block design and the blocks are supp(c), where c is a codeword of the extended Golay-code of weight 8. Then every 5 points are contained in exactly one block. Hence this is a block design of parameters 5 − (24, 8, 1). Proof. Note that every set T of size 5 can be contained in at most one block since if T ⊆ supp(c1 ), supp(c2 ) then w(c1 + c2 ) ≤ 6 and this is impossible by the definition of the extended Golay-code. Now let us consider the set A = {(T, c) | |T | = 5, c ∈ C, w(c) = 8, T ⊆ supp(c)}. Then |A| = 759 · 85 since there are 759 codewords of weight 8in C, and all of them contain 85 sets of size 5. On the other hand, |A| ≤ 24 , since every T 5 is contained in at most one support of c ∈ C of weight 8. Note that 8 24 759 · = , 5 5 so every T must be contained in exactly one block. Remark 3.3. In the next section we will prove the uniqueness of a block design of parameters 5 − (24, 8, 1) by showing that such a block design generates the Golay-code which is unique. Next we show another construction for the extended Golay-code. 13 Theorem 3.4. Let N be the adjacency matrix of the icosahedron considered as a graph. Let J be the all 1 matrix of size 12 × 12. Then the matrix (I J − N ) generates the extended Golay-code. Proof. Let us consider the icosahedron as a graph: it has 12 vertices, 5–regular and two verticies have 2 or 0 common neighbors. So in every row of the matrix H = (I J − N ) there are exactly 8 1’s and any two row vector are orthogonal to each other. Hence this is true for any two codewords generated by H. Then every codeword has weight divisible by 4: this is true for the row vectors of H and if it is true for c1 and c2 then it is true for c1 + c2 : w(c1 + c2 ) = w(c1 ) + w(c2 ) − 2|supp(c1 ) ∩ supp(c2 )|, and |supp(c1 ) ∩ supp(c2 )| is even since (c1 , c2 ) = 0. So for any c ∈ C then 4 | w(c). It is clear that dim C = 12. Since C is self-orthogonal, it implies that C = C ⊥ . If C is generated by the matrix H = (I A) then C ⊥ is generated by H ∗ = (−AT I) = (A I) since in our case −1 = 1 and J − N is a symmetric matrix. So C is generated by the matrix H ∗ = (J − N I). Now we are ready to prove that C does not contain a codeword c with weight 4. Assume for contradiction that c ∈ C such that w(c) = 4. Let us write c into the form (a, b), where a and b have length 2. Then c = a(I J −N ) = b(J −N I). Since w(a) + w(b) ≤ 4 we have w(a) ≤ 2 or w(b) ≤ 2. We can assume that w(a) ≤ 2 since the case w(b) ≤ 2 is analogous. If w(a) = 0 then a = 0 and c = 0 by c = aH. If w(a) = 1 then c is one of the row vector of H hence w(c) = 8. If w(a) = 2 then c is the sum of two row vectors of H, but then w(c) = 8 or 12 according to the corresponding vertices in the icosahedron have 0 or 2 common neighbors. Hence w(c) = 4 is impossible. Since every codeword have weight divisible by 4 we get that the minimal distance is at least 8. This means that C is a [24, 12, 8]2 code, but then it must be the extended Golay-code by the uniqueness of this code. Remark 3.5. There is a surprising construction for the Golay-code. Put all 0 − 1 vectors into lexicographic order and choose greedily vectors which do not violate the condition of minimal distance 8. Then the obtained code is the extended Golay-code. 4. Uniqueness of the Witt-design Theorem 4.1. There exists a unique block design of parameters 5 − (24, 8, 1) up to permutations of the ground set. Proof. We have already seen the existence of this block design, we only need to prove its uniqueness. The strategy will be the following: we will show that such 14 a block design generates the extended Golay-code and since we have proved the uniqueness of the Golay-code this will immediately implies the uniqueness of our block design. So let B be a block design of parameters 5 − (24, 8, 1). This means that for any T of size 5 there is a unique set B ∈ B such that T ⊆ B. In particular, if B, B 0 ∈ B then |B ∩ B 0 | ≤ 4 unless B = B 0 . We will decompose the proof into several lemmas. Lemma 4.2. If B, B 0 ∈ B then |B ∩ B 0 | = 6 3. Before we start to prove this lemma we introduce an interesting substructure called sunflower. Let A be a set of size 4 then for every p ∈ / A there exists a unique B ∈ B such that A ∪ {p} ⊆ B, now let us do it for every p ∈ / A. Then we will get 5 sets B1 , B2 , B3 , B4 and B5 such that A = Bi ∩ Bj = B1 ∩ B2 ∩ B3 ∩ B4 ∩ B5 . The petals of the sunflower are Bi \ A, while its center is A. Note that the union of B1 , B2 , B3 , B4 and B5 is the whole ground set. Now we can start the proof of the lemma. Proof. Assume that B ∩ B 0 = A0 such that |A0 | = 3. Then let A such that A0 ⊆ A ⊆ B and |A| = 4. Let us create the sunflower with center A and sets B1 = B, B2 , B3 , B4 , B5 . Since A0 ⊆ A ⊆ Bi and |B 0 ∩ Bi | ≤ 4 we get that |B 0 ∩ (Bi \ A)| ≤ 1 for i = 2, 3, 4, 5 and |B 0 ∩ (Bi \ A)| = 0, but since B1 , . . . , B5 covers all points we get that 0 0 |B | ≤ |A | + 5 X |B 0 ∩ (Bi \ A)| ≤ 7, i=2 0 a contradiction. Hence |B ∩ B | cannot be 3. Lemma 4.3. If B, B 0 ∈ B such that |B ∩ B 0 | = 4 then (B \ B 0 ) ∪ (B 0 \ B) ∈ B. Proof. The proof of this lemma requires some case analysis. We can assume that B = {1, 2, 3, 4, 5, 6, 7, 8} and B 0 = {1, 2, 3, 4, 9, 10, 11, 12}. Assume for contradiction that U = {5, 6, 7, 8, 9, 10, 11, 12} is not a an element of B. There is a unique Sx,y ∈ B such that {x, y, 9, 10, 11}, where {x, y} ⊆ {5, 6, 7, 8}. Note that |Sx,y ∩ B 0 | ≥ 3, but from the previous lemma we know that it cannot be exactly 3, and since it must be at most 4, we have |Sx,y ∩ B 0 | = 4. Now we distinguish two cases according to Sx,y ∩ B 0 contains 12 or not for some {x, y}. Case 1: There exists some x, y such that for S = Sx,y we have 12 ∈ / S ∩ B0, 0 we can assume that {x, y} = {5, 6}. Hence {1, 2, 3, 4} ∩ (S ∩ B ) 6= ∅, we can assume that 1 ∈ S ∩ B 0 . Now {1, 5, 6} ⊆ S ∩ B, so there must be a fourth 15 element in the intersection. This fourth element cannot be in {2, 3, 4}, because then |S ∩ B 0 | ≥ 5. Hence 7 or 8 must be in S ∩ B 0 , we can assume that it is 7. Note that 8 ∈ / S since then |S ∩ B| ≥ 5. Now let us consider the unique block R ∈ B which contains the set {9, 10, 11, 5, 8}. Clearly, S 6= R because of the element 8. Note that if 12 ∈ / R then the argument in the previous paragraphs gives that 6 or 7 is in R, but then |S ∩ R| ≥ 5 which is not possible. So 12 ∈ R, and 6, 7 ∈ / R. Now consider the unique block T ∈ B which contains the set {9, 10, 11, 7, 8}. If it contains 12 then |T ∩R| ≥ 5 which is not possible. If 12 ∈ / T then according to the first paragraph 5 or 6 in T and so |S ∩ T | ≥ 5, a contradiction. Case 2: For all {x, y} ⊆ {5, 6, 7, 8} we have 12 ∈ Sx,y ∩ B 0 . But then |S5,6 ∩ S5,7 | ≥ 5, a contradiction. Lemma 4.4. For any B ∈ B there exist B 0 , B 00 ∈ B such that B, B 0 , B 00 are pairwise disjoint. Proof. Let us create a sunflower with set B1 = B, B2 , B3 , B4 , B5 . Then by the previous lemma B 0 = (B2 \B3 )∪(B3 \B2 ) ∈ B and B 00 = (B4 \B5 )∪(B5 \B4 ) ∈ B, and clearly B, B 0 , B 00 are pairwise disjoint. Lemma 4.5. If B, B 0 ∈ B then |B ∩ B 0 | = 6 1. Proof. Assume for contradiction that for B, B 0 ∈ B we have |B ∩ B 0 | = 6 1. Let us use the previous lemma to B. Then there are B ∗ , B ∗∗ ∈ B such that B, B ∗ , B ∗∗ are pairwise disjoint. Since |B 0 ∩ B ∗ |, |B 0 ∩ B ∗∗ | ≤ 4, and 8 = |B 0 | = |B 0 ∩ B| + |B 0 ∩ B ∗ | + |B 0 ∩ B ∗∗ | = 1 + |B 0 ∩ B ∗ | + |B 0 ∩ B ∗∗ |, we have |B 0 ∩ B ∗ | or |B 0 ∩ B ∗∗ | is equal to 3. But this is not possible by the very first lemma. This contradiction shows that for B, B 0 ∈ B we have |B ∩ B 0 | = 6 1. Note that the first and last lemma together gives that for B, B 0 ∈ B we have |B ∩ B 0 | even. Now let V = hb | b is a characteristic vector of a block B ∈ Bi. We will show that V is the extended Golay-code. It is clear that if v 1 , v 2 ∈ V then (v 1 , v 2 ) = 0 since it is true for the generating vectors. It is also true that the weight of every vector is divisible by 4 since this is true for the generating vectors and if it is true for v 1 and v 2 then it is true for v 1 + v 2 : w(v 1 + v 2 ) = w(v 1 ) + w(c2 ) − 2|supp(v 1 ) ∩ supp(v 2 )|, 16 and |supp(v 1 ) ∩ supp(v 2 )| is even since (v 1 , v 2 ) = 0. So for any v ∈ V then 4 | w(v). Lemma 4.6. There is no vector a of weight 4 in V . Proof. Assume for contradiction that the a of weight 4 is in V . Let a be the characteristic vector of A. Let us complete A to sunflower B1 , . . . , B5 . Let us choose one-one point from all Bi \ A. Then there exists a block B ∈ B on this five points. The sets B and A have intersection of size even since b and a are orthogonal. This also means that B and Bi \ A have intersection of size even, and since it is at least one we get that |B ∩ (Bi \ A)| ≥ 2. But it means that 8 = |B| ≥ 5 · 2 = 10, a contradiction. Hence there is no vector a of weight 4 in V . Lemma 4.7. If v ∈ V has weight 8 then it is a characteristic vector of a block in B. Proof. Let A = supp(v). Let us choose 5 points from A. Then there is block B with characteristic vector b containing these 5 points. So |A ∩ B| ≥ 5. And since it is even, it must be either 6 or 8. If it is 6 then w(v + b) = 4 which is impossible according to the previous lemma. So it must be 8 which means that v = b. Let us call a set D a dozen if it can be obtained as D = (B1 \ B2 ) ∪ (B2 \ B1 ), where B1 , B2 ∈ B and |B1 ∩ B2 | = 2. Lemma 4.8. If v ∈ V has weight 12 then it is a characteristic vector of a dozen. Proof. Let A = supp(v). Let us choose 5 points from A. Then there is block B with characteristic vector b containing these 5 points. So |A ∩ B| ≥ 5. And since it is even, it must be either 6 or 8. If it is 8 then w(v + b) = 4 which is impossible according to the previous lemma. So it must be 6 which means that v + b has weight 8 so it is a characteristic vector a block B 0 by the previous lemma. Then A = (B \ B 0 ) ∪ (B 0 \ B), hence A is a dozen. Lemma 4.9. The all 1 vector 1 is in V . Consequently, for a v ∈ V the weight w(v) can be 0, 8, 12, 16, 24. If w(v) = 16 then it is the characteristic vector of the complement of a block. Proof. Adding together the characteristic vectors of a sunflower we get that 1 is in V . The other statements trivially follow from this observation. Lemma 4.10. Let B ∈ B. Let Ui = |{B 0 ∈ B | |B ∩ B 0 | = i}|. Then (i) There are exactly 759 blocks in B. 17 (ii) Every point is contained in 253 blocks. (iii) U8 = 1, U1 = U3 = U5 = U6 = U7 = 0, U0 = 30, U2 = 448 and U4 = 280. (iv) The number of dozens is 2576. Proof. (i) Let us consider the set Then |S| = 24 5 S = {(T, B) | |T | = 5, B ∈ B, T ⊆ B}. = |B| 85 , hence |B| = 759. (ii) Let us fix a point p, and let Bp be the set of blocks containing p. Let us consider the set Let us consider the set S 0 = {(T, B) | |T | = 5, B ∈ B, T ⊆ B, p ∈ T }. Then |S 0 | = 23 = |Bp | 74 , hence |Bp | = 253. 4 (iii) It is clear that U8 = 1 and U1 = U3 = U5 = U6 = U7 = 0. Next we show 8 that U4 = 280. Indeed, we can choose 4 elements of B in 4 = 70 ways and each 4-element set is contained in 4 other blocks beside B, the other petals of a sunflower. Hence U4 = 70 · 4 = 280. Next let us count the number of pairs (B 0 , p), where p ∈ B∩B 0 . This is 8·253, because every point p of B is contained in 253 sets including B itself. On the other hand, this is 2U2 +4U4 +8U8 . From this we get that U2 = 448. Finally U0 = 759 − U2 − U4 − U8 = 30. (iv) Let us consider the set S 00 = {(B1 , B2 ) | B1 , B2 ∈ B, |B1 ∩ B2 | = 2}. Then |S 00 | = |B| · U2 = 759 · 448. On the other hand, if D denotes the set of dozens then we claim that |S 00 | = |D|· 61 12 . Indeed, if D = (B1 \B2 )∪(B2 \B1 ), 5 then |D ∩ B1 | = 6, and if |D ∩ B1 | = 6 then it determines B2 since b2 = d + b1 has weight 8. Now for a fixed D let us consider the set R = {(T, B1 ) | T ⊆ D, |T | = 5, T ⊆ D ∩ B1 }. First we can choose T in 12 ways. Then there exists a unique block B1 5 containing T . Let us mention that each such B1 intersects D in 6 points since it must be even, at least 5 and it cannot be 8, because then d + b1 would have weight 4. So |R| = 6nD , where nD is the number of blocks B1 intersecting D in 6 points (the coefficient 6 comes fact that T can be chosen 6 ways from the 1 12 1 12 00 from D ∩ B1 ). Hence nD = 6 5 . Then |S | = |D|nD = |D| · 6 5 from which |D| = 2576. Theorem 4.11. V is the extended Golay-code. 18 Proof. Indeed, |V | = 2 · 1 + 2 · 759 + 2576 = 4096, so dim V = 12 and its minimal distance is 8. Hence V has parameters [24, 12, 8]2 . Since the extended Golay-code is unique, V must be the extended Golay-code. Hence B is the Witt-design! 5. Derived symmetric structures 5.1. Strongly regular graphs. Theorem 5.1. There exists a strongly regular graph with parameters (77, 16, 0, 4). Proof. We only do the construction, to check the details is left as an exercise. Consider the block design 3 − (22, 6, 1) which we get from 5 − (24, 8, 1) if we fix two elements p, q ∈ {1, . . . , 24}, and consider those blocks which contain p and q, and from all these block we remove p and q. By double counting we get that there are 22 22 · 21 · 20 3 = = 77 6 6 · 5 · 4 3 blocks. In the Witt-design two blocks can have intersection of size 0, 2, 4, 8, so in this new block design the intersection can be 0, 2 or 6. Now let us define the graph G as follows: its vertex set is the blocks in the design of parameters 3 − (22, 6, 1), and two vertices are adjacent if the corresponding blocks are disjoint. This is a strongly regular graph of parameters (77, 16, 0, 4). Theorem 5.2. There exists a strongly regular graph with parameters (100, 22, 0, 6). (This graph is called the Higman-Sims graph.) Proof. We only do the construction, to check the details is left as an exercise. Let us decompose this graph as follows: let v be its vertices, N (v) be its neighbors and N2 (v) be the vertices of distance 2 from v. Clearly, |N (v)| = 22 and |N2 (v)| = 77. This suggests the following construction: to the 77 vertices we put the strongly regular graph with parameters (77, 16, 0, 4). If w ∈ N2 (v) then v and w should have 6 common neighbors: oh, the blocks have size 6, so it is a natural guess to connect a block of size 6 with its elements. This is indeed a good construction. Remark 5.3. When we learned the Hoffman-Singleton theorem we have seen that there exists a strongly regular graph with parameters (50, 7, 0, 1), the Hoffman-Singleton graph. It turns out that it is an induced subgraph of the 19 Higman-Sims graph, and if we delete a copy of it from the Higman-Sims graph then the remaining graph on 50 vertices is again a Hoffman-Singleton graph. 5.2. Equiangular lines. Theorem 5.4. There exists 24 2 = 276 equiangular lines in R23 . Proof. We need 276 unit vectors `1 , . . . , `276 such that (`i , `j ) = ± cos(α) for some α. It is a natural idea to start with the block design of parameters 4 − (23, 7, 1). It has only 23 23 · 22 · 21 · 20 4 = = 253 7 7 · 6 · 5 · 4 4 blocks. So the point-block incidence matrix N has size 23 × 253. Since 276 − 253 = 23, it is a natural guess that we will also need the identity matrix I. Let nj be column vector of N , ej be a column vector of I. We try to find the vectors `j in the form c(nj − b1), and d(ej − a1). Note that (ni − b1, nj − b1) = (ni , nj ) − 14b + 23b2 , where (ni , nj ) = 1 or 3 if i 6= j since in the Witt-design the intersection of two different blocks can have size 0, 2 or 4, so in the punctured block design it can be 1 or 3. The crucial observation is that two possible values of the scalar product, 1 − 14b + 23b2 and 3 − 14b + 23b2 , have to be additive inverses to each other, because (`i , `j ) = ± cos(α). Hence −(1 − 14b + 23b2 ) = 3 − 14b + 23b2 . Since their difference is 2 we have 3 − 14b + 23b2 = 1. Note that (ni − b1, ni − b1) = (ni , ni ) − 14b + 23b2 = 7 − 14b + 23b2 = 4 + 1 = 5. So even without computing b we get that c should be (`i , `j ) = Anyway, √1 , 5 and ±1 . 5 √ 7± 3 b= , 23 we can choose the plus sign. Now let us consider the scalar product (ni − b1, ej − a1) = (ni , ej ) − b − 7a + 23ab, 20 where (ni , ej ) is 1 if the corresponding block Bi contains the element j, otherwise it is 0. As before, the two possible values have to be additive invereses of each other, so 1 −b − 7a + 23ba = − . 2 Then √ b − 1/2 2−3 3 a= = . 23b − 7 46 One can check that 1 (ei − a1, ej − a1) = δi,j − 2a + 23a2 = δi,j + . 4 So d = √25 . Then for i 6= j we have (d(ei − a1), d(ej − a1)) = 41 1 = , 54 5 and 2 1 1 1 (c(nj − b1), d(ei − a1) = √ · √ · ± =± . 2 5 5 5 1 Hence for any `i , `j we have (`i , `j ) = ± 5 . 5.3. Lattices. In this section we give the construction of the Leech-lattice. As a warm up we construct the E8 lattice. Let us consider the Hamming-code with parameters [7, 4, 3]2 , we can extend it uniquely to a code of parameters [8, 4, 4]2 . In this code all words will have weight 0, 4 or 8. Now let us consider the following lattice: (x1 , . . . , x8 ) ∈ Z8 if the vector (xi mod 2) is in the extended Hamming-code. Then the minimal vectors are of the form (±2, 0, . . . , 0) or (±1, ±1, ±1, ±1, 0, 0, 0, 0), where the four 1’s are restricted to the positions given by the extended Golay-code. Hence there 8 · 2 + 14 · 24 = 240 minimal vectors, all of length 2. Let us consider the following lattice: (x1 , . . . , x24 ) ∈ Z24 if the following three conditions hold true for m = 0 or 1: (i) xi ≡ m (mod 2), (ii) xi −m mod 2 is a word in the Golay-code, P2 24 (iii) i=1 ≡ 4m (mod 8). This lattice is called the Leech-lattice. 21 Proposition 5.5. √ There are 196560 minimal vectors in the Leech-lattice, all of them has length 32. Proof. Let us call the vector xi −m mod 2 the reduced vector. 2 If m = 0 then we distinguish two cases according to the reduced vector is 0 or not. If it is 0 then all xi are divisible by 4, and by the third condition the 23 vector can’t at least two ±4. The length of such a √ be (±4, 0√ ), so there are 24 2 2 vector is 4 + 4 = 32. There are 2 22 such vectors. If the reduced vector is non-zero then we have at least 8 xi ’s of form 4k + 2, so the √ minimal vector contains 8 ±2’s and 16 0’s, the length of such a vector is √ 2 again 8 · 2 = 32. From the 28 signings only half of them is good, because of (iii). So there 759 · 27 such vectors. If m = 1 then all xi ’s are odd. Observe that a vector of form (±1, . . . , ±1) cannot be in the lattice, because the reduced vector being in the Golay-code means that the number of −1’s is divisible by 4, but then (iii) cannot be satisfied. So there should be at least ±3 and 23 ±1. Since 33 + 23 · 12 = 32 this would give a minimal vector. Note that 1 and −3 reduces to 0, and −1 and 3 reduces to 1 in the reduced vector, since there are 212 words in the Golaycode we have 212 possibilites for the signing, so there are 24 · 212 such minimal vectors. Altogether we have 24 2 2 + 759 · 27 + 24 · 212 = 196560 2 √ minimal vectors, and their length is 32. Remark 5.6. If we pack spheres into R8 , and to R24 such that their centers are in the E8 lattice and the Leech-lattice, respectively and neighboring spheres touch each other then these are the densest sphere packings in R8 and R24 , respectively. For d = 8 this was shown by Maryna Viazovski very recently, and for d = 24 by Henry Cohn, Abhibnav Kumar, Stephen Miller, Danylo Radchenko and Maryna Viazovska one week after Maryna’s result for d = 8.