1 Introduction

Coherent configurations were introduced as a means to study permutation groups \(G \le \textrm{Sym}(V)\) through combinatorics. The definition abstracts the combinatorial properties of the set of orbital relations, the set of orbits of G on \(V^2\). What makes the theory notable is that, even though it is a purely combinatorial theory including for example strongly regular graphs, much of the theory of groups including character theory can be recovered. For this reason the theory of coherent configurations is sometimes described as “group theory without groups”.

The theory has a complicated history, with origins in multiple fields. Coherent configurations were reinvented several times, sometimes in a slightly restricted form, and always with a fresh name. Schur [24] called them “Stammringe” (root rings), Wielandt [30, Chapter IV] called them “S-rings”, Bose and Shimamoto [10] called them “association schemes”, Weisfeiler and Leman [29] called them “cellular algebras”, and finally Higman [16] coined the now dominant term “coherent configuration”. Naturally, terminology has been inconsistent, so it is important to clearly specify our language, which mostly follows Higman.

1.1 Definitions

Our definitions are mostly consistent with the recent notes of Chen and Ponomarenko [12]. Other references include Bannai–Ito [9] (see also the updated version [8]) and Bailey [7]. A configuration \({\mathfrak {X}}\) on a finite set V is a partition of \(V^2\) into nonempty relations \(R_1, \dots , R_r\) such that

  1. (1)

    some subset of \({\mathfrak {X}}\) partitions the diagonal \(\left\{ (v, v): v \in V\right\} \),

  2. (2)

    if \(R \in {\mathfrak {X}}\) then \(R^* = \left\{ (x, y): (y, x) \in R\right\} \in {\mathfrak {X}}\).

A configuration is coherent if

  1. (3)

    there are constants \(p^i_{jk}\) (the intersection numbers or structure constants) for all ijk such that

    $$\begin{aligned} \forall (u, v) \in R_i: ~ \# \left\{ w \in V: (u, w) \in R_j, (w, v) \in R_k \right\} = p^i_{jk}. \end{aligned}$$

The degree of \({\mathfrak {X}}\) is the number of vertices |V|; the rank of \({\mathfrak {X}}\) is the number of relations r.

A configuration is homogeneous if, more strongly than (1), \({\mathfrak {X}}\) contains the identity relation \(\left\{ (v, v): v \in V\right\} \). A configuration \({\mathfrak {X}}\) is symmetric if \(R^* = R\) for every \(R \in {\mathfrak {X}}\). A homogeneous symmetric coherent configuration is called an association scheme.

Even if \({\mathfrak {X}}\) is homogeneous, it may be possible to break it into smaller pieces that can in principle be studied separately. Each relation \(R \in {\mathfrak {X}}\) apart from the identity relation defines a directed graph, called a constituent graph or color graph of \({\mathfrak {X}}\). A homogeneous coherent configuration \({\mathfrak {X}}\) is primitive if each color graph is connected (there is no distinction between weak and strong connectedness, since coherence guarantees that each color graph is regular).

There are two common notions of isomorphism for coherent configurations, depending on whether the relations of \({\mathfrak {X}}\) are considered labeled. In this paper we usually consider \({\mathfrak {X}}\) an unordered partition \(\left\{ R_1, \dots , R_r\right\} \) of \(V^2\), and thus we call two configurations \({\mathfrak {X}}\) and \({\mathfrak {X}}'\) isomorphic, written \({\mathfrak {X}}\cong {\mathfrak {X}}'\), if there is a bijection \(f: V \rightarrow V'\) mapping each \(R \in {\mathfrak {X}}\) to some \(R' \in {\mathfrak {X}}'\) (i.e., mapping \({\mathfrak {X}}\) as a partition of \(V^2\) to \({\mathfrak {X}}'\) as a partition of \((V')^2\)). Sometimes the term weakly isomorphic is used instead, with the same meaning, to distinguish from another notion discussed in a moment. The set of weak isomorphisms \({\mathfrak {X}}\rightarrow {\mathfrak {X}}'\) is denoted \(\textrm{Iso}_w({\mathfrak {X}}, {\mathfrak {X}}')\). The weak automorphism group \(\textrm{Aut}_w({\mathfrak {X}}) = \textrm{Iso}_w({\mathfrak {X}}, {\mathfrak {X}})\) thus consists of the permutations of V which permute the relations of \({\mathfrak {X}}\).

If instead the labels of \(R_1, \dots , R_r\) are considered part of the defining data of \({\mathfrak {X}}\) then it is reasonable to say \({\mathfrak {X}}\) and \({\mathfrak {X}}'\) are isomorphic only if there is a bijection \(f: V \rightarrow V'\) mapping \(R_i\) to \(R'_i\) for each i; this is the notion of strong isomorphism. In general this notion makes sense only if \({\mathfrak {X}}\) is equipped with extra data, namely a labeling of its relations, but we can always make sense of the strong automorphism group \(\textrm{Aut}_s({\mathfrak {X}}) \trianglelefteq \textrm{Aut}_w({\mathfrak {X}})\), which consists of permutations of V preserving each relation individually. The group \(\textrm{Aut}_s({\mathfrak {X}})\) is usually abbreviated to simply \(\textrm{Aut}({\mathfrak {X}})\); its elements are usually just called automorphisms.

Whenever \(\pi \) and \(\pi '\) are partitions of the same set we write \(\pi \le \pi '\) if every cell of \(\pi \) is contained in a cell of \(\pi '\). In particular this applies to configurations \({\mathfrak {X}}\) and \({\mathfrak {X}}'\) on the same vertex set. If \({\mathfrak {X}}\le {\mathfrak {X}}'\) then \({\mathfrak {X}}'\) is a fusion of \({\mathfrak {X}}\), and \({\mathfrak {X}}\) is a fission of \({\mathfrak {X}}'\). (This is opposite to the convention of [12], but agrees with [7].)

The prototypical coherent configuration is the orbital configuration of a permutation group. Suppose \(G \le \textrm{Sym}(V)\) is a permutation group, and let \({\mathfrak {X}}(G)\) be the partition of \(V^2\) into G-orbits. Then \({\mathfrak {X}}(G)\) is a coherent configuration. We call \({\mathfrak {X}}(G)\) the orbital configuration of G, and any configuration of the form \({\mathfrak {X}}(G)\) is called schurian (after Schur, who guessed that all coherent configurations were orbital configurations). Note that G is transitive if and only if \({\mathfrak {X}}(G)\) is homogeneous, and G is primitive if and only if \({\mathfrak {X}}(G)\) is primitive. Note also that \({\mathfrak {X}}\) is schurian if and only if \({\mathfrak {X}}= {\mathfrak {X}}(\textrm{Aut}({\mathfrak {X}}))\).

Prominent among the schurian configurations are the discrete configuration \({\mathfrak {X}}(1)\), in which every relation is a singleton, and the trivial scheme \({\mathcal {T}}_n = {\mathfrak {X}}(\textrm{Sym}(n))\), which is the unique configuration of degree n and rank 2 (for \(n > 1\)). Other basic examples include the Hamming schemeFootnote 1\({\mathcal {H}}({d}, {m})\), whose vertex set is \([m]^d\), where \([m] = \left\{ 1, \dots , m\right\} \), and whose relations are defined by Hamming distance—the orbital scheme of \(\textrm{Sym}(m) \wr \textrm{Sym}(d) \le \textrm{Sym}([m]^d)\)—and the Johnson scheme \({\mathcal {J}}(m, k)\), whose vertices are k-subsets of [m] and whose relations are defined by \(| u \setminus v | = i\) for \(i \in \left\{ 0, \dots , k\right\} \) – the orbital scheme of \(\textrm{Sym}(m)^{(k)} \le \textrm{Sym}(\left( {\begin{array}{c}[m]\\ k\end{array}}\right) )\) (throughout the paper, we write \(\textrm{Sym}(\Omega )^{(k)}\) for the image of the natural map \(\textrm{Sym}(\Omega ) \rightarrow \textrm{Sym}(\left( {\begin{array}{c}\Omega \\ k\end{array}}\right) )\)). Note that \({\mathcal {J}}(m, k) \cong {\mathcal {J}}(m, m-k)\), so we may always assume \(m \ge 2k\).

If \({\mathfrak {X}}\) and \({\mathfrak {X}}'\) are coherent configurations on V and \(V'\) respectively, their tensor product \({\mathfrak {X}}\otimes {\mathfrak {X}}'\) is the coherent configuration on \(V \times V'\) whose relations are

$$\begin{aligned} R \otimes R' = \left\{ ((u, u'), (v, v')): (u, v) \in R, (u', v') \in R'\right\} \qquad (R \in {\mathfrak {X}}, R' \in {\mathfrak {X}}'). \end{aligned}$$

If \({\mathfrak {X}}\) is a coherent configuration and \(G \le \textrm{Sym}(d)\), then G acts on the tensor power \({\mathfrak {X}}^d\) by weak automorphisms; the exponentiation \({\mathfrak {X}}\uparrow G\) is the coherent configuration obtained from \({\mathfrak {X}}^d\) by fusing G-orbits (see [12, Section 3.4.2] or [15]). For example, \({\mathcal {H}}({d}, {m}) \cong {\mathcal {T}}_m \uparrow \textrm{Sym}(d)\).

Association schemes of the form \({\mathcal {J}}(m, k) \uparrow G\) for some group \(G \le \textrm{Sym}(d)\) are called Cameron schemes. We refer to

$$\begin{aligned} {\mathcal {C}}(m, k, d) = {\mathcal {J}}(m, k) \uparrow \textrm{Sym}(d) \end{aligned}$$

as the full Cameron scheme. Its vertices are d-tuples of k-subsets of [m], and the cell containing the pair \((u, v) \in V^2\) is determined by \(|u_1 {\setminus } v_1|, \dots , |u_d {\setminus } v_d|\), ignoring order.

1.2 The Theorems of Babai and Cameron

If the purpose of the theory of primitive coherent configurations (PCCs) is to study permutation groups through combinatorics, then one of the landmark results of the field must be Babai’s 1981 paper [1] in which the following theorem was proved.

Theorem 1.1

(Babai) If \({\mathfrak {X}}\) is a nontrivial PCC of degree n then

$$\begin{aligned} |\textrm{Aut}({\mathfrak {X}})| \le \exp (4 n^{1/2} (\log n)^2). \end{aligned}$$

In particular, if G is a primitive permutation group of degree n, and not 2-transitive, then \({\mathfrak {X}}(G)\) is a nontrivial PCC and \(G \le \textrm{Aut}({\mathfrak {X}}(G))\), so

$$\begin{aligned} |G| \le \exp (4 n^{1/2} (\log n)^2). \end{aligned}$$

The examples \(\textrm{Sym}(m) \wr C_2 \le \textrm{Sym}(m^2)\) and \(\textrm{Sym}(m)^{(2)} \le \textrm{Sym}(\left( {\begin{array}{c}m\\ 2\end{array}}\right) )\) show that (1.1) cannot be improved by more than a log factor in the exponent. Moreover, it was proved by Babai and Pyber [2, 23] using related ideas that if G is 2-transitive, and neither \(\textrm{Sym}(n)\) itself nor \(\textrm{Alt}(n)\), then

$$\begin{aligned} |G| \le \exp O((\log n)^3). \end{aligned}$$

Together these results solve one of the central problems of 19th century group theory—bounding the order of a primitive permutation group—by purely combinatorial methods.

On the other hand, the classification of finite simple groups (CFSG) combined with the O’Nan–Scott theorem gives precise information, as in the following theorem of Cameron [11] (see also Liebeck [20], Liebeck–Saxl [21], and Maróti [22]).

Theorem 1.2

(Cameron, CFSG) If \(G \le \textrm{Sym}(n)\) is primitive then either

  1. (1)

    there are integers mkd such that \(n = \left( {\begin{array}{c}m\\ k\end{array}}\right) ^d\) and (up to conjugation)

    $$\begin{aligned} (\textrm{Alt}(m)^{(k)})^d \le G \le \textrm{Sym}(m)^{(k)} \wr \textrm{Sym}(d), \end{aligned}$$

    where the wreath product has the product action on d-tuples of k-sets or

  2. (2)

    \(|G| \le \exp O( (\log n)^2)\).

The groups G as in Theorem 1.2(1) are called Cameron groups. The corresponding orbital schemes \({\mathfrak {X}}(G)\) are precisely the Camerons schemes as defined in the previous section.

While Theorem 1.2 is a satisfying description of all the largest primitive permutation groups, it would be preferable to have a proof which is intelligible to mortals. The theory of coherent configurations, as a combinatorial generalization of group theory, provides an opportunity to make this desire precise. In this spirit the following conjecture has been advanced by Babai [6, Conjecture 12.1] as part of the “symmetry vs regularity” project.

Conjecture 1.3

Let \({\mathfrak {X}}\) be a PCC of degree n. Then either

  1. (1)

    \({\mathfrak {X}}\) is a Cameron scheme or

  2. (2)

    \(|\textrm{Aut}({\mathfrak {X}})| \le \exp O((\log n)^{O(1)})\).

Essentially this conjecture has been repeated many times, sometimes faithfully [19, 28, 31] and sometimes in a weaker form either only predicting the primitivity of \(\textrm{Aut}({\mathfrak {X}})\) [3, 5, 26, 27] or treating the minimal degree or thickness of \(\textrm{Aut}({\mathfrak {X}})\) as more basic than its order [18, 19]. Here the minimal degree \(\mu (G)\) of a permutation group G is the minimal number of points moved by some nontrivial element, while the thickness \(\theta (G)\) is the largest t such that G has a section isomorphic to \(\textrm{Alt}(t)\).

Conjecture 1.4

(Babai) Let \({\mathfrak {X}}\) be a PCC of degree n. Then either

  1. (1)

    \(\textrm{Aut}({\mathfrak {X}})\) is primitive or

  2. (2)

    \(|\textrm{Aut}({\mathfrak {X}})| \le \exp O((\log n)^{O(1)})\).

Conjecture 1.5

(Babai) Let \({\mathfrak {X}}\) be a PCC of degree n. Then either \({\mathfrak {X}}\) is a Cameron scheme or

  1. (1)

    \(\mu (\textrm{Aut}({\mathfrak {X}})) \ge cn\) for some constant \(c > 0\) and

  2. (2)

    \(\theta (\textrm{Aut}({\mathfrak {X}})) \le (\log n)^{O(1)}\).

Conjecture 1.3 is true for \(|\textrm{Aut}({\mathfrak {X}})| > \exp (n^{1/3} (\log n)^C)\) by a result of Sun and Wilmes [28] (in this case, the only possibilities for \({\mathfrak {X}}\) are the strongly regular graphs \({\mathcal {H}}({2}, {m})\) and \({\mathcal {J}}(m, 2)\)). Conjecture 1.5 is known in the bounded-rank distance-regular case by a result of Kivva [18], and in the case of PCCs of rank at most 4 by [3, 19].

1.3 Sandwiches

The first purpose of this paper is to refute Conjecture 1.3 as stated. However, the spirit of the conjecture is still reasonable, so the second purpose is to suggest a revision with similar consequences, and to develop some of the theory of the new larger class of exceptions.

Theorem 1.6

For every \(m \ge 3\) there is a primitive association scheme \({\mathfrak {X}}\) of degree \(n = m^8\) and rank 28 such that \(\textrm{Aut}({\mathfrak {X}})\) is imprimitive and \(|\textrm{Aut}({\mathfrak {X}})| = 8m!^8 \ge \exp (n^{1/8})\). Also \(\mu (\textrm{Aut}({\mathfrak {X}})) = 2\,m^7 = 2n^{7/8}\) and \(\theta (\textrm{Aut}({\mathfrak {X}})) = m = n^{1/8}\).

Since \(\textrm{Aut}({\mathfrak {X}})\) is imprimitive, \({\mathfrak {X}}\) is in particular nonschurian and hence not a Cameron scheme, so this example contradicts Conjecture 1.3. It also contradicts the weaker variants Conjectures 1.4 and 1.5. (Theorem 1.6 does not contradict the results quoted above on special cases of Conjectures 1.3 and 1.5, since \(|\textrm{Aut}({\mathfrak {X}})|\) is much smaller than \(\exp (n^{1/3})\), \({\mathfrak {X}}\) is not distance-regular, and \(\textrm{rank}({\mathfrak {X}}) = 28\).)

However, \({\mathfrak {X}}\) still closely resembles a Cameron scheme, apart from being nonschurian. In particular it is sandwiched between a tensor power of the trivial scheme and the Hamming scheme:

$$\begin{aligned} {\mathcal {T}}_m^d \le {\mathfrak {X}}\le {\mathcal {H}}({d}, {m}), \end{aligned}$$

where \(d = 8\). We call any association scheme \({\mathfrak {X}}\) obeying (1.2) for some \(m, d \ge 1\) a Hamming sandwich. The possibility that there could be such a sandwiched scheme which is nonschurian has been overlooked. We will show that if m is sufficiently large depending on d then there is a bijective correspondence between Hamming sandwiches and certain partitions of \(2^{[d]}\), which we call set association schemes, a new class of combinatorial objects studied for the first time in this paper. The proof of Theorem 1.6 is then completed by exhibiting a set association scheme of degree \(d = 8\) with suitable properties.

The structure of these examples suggests a revision of Conjecture 1.3. Let us call any association scheme \({\mathfrak {X}}\) such that

$$\begin{aligned} {\mathcal {J}}(m, k)^d \le {\mathfrak {X}}\le {\mathcal {C}}(m, k, d) \end{aligned}$$

for some \(m, k, d \ge 1\) a Cameron sandwich. As for Hamming sandwiches, there is a bijective correspondence between Cameron sandwiches and partitions of \(\left\{ 0, \dots , k\right\} ^d\) obeying a certain coherence condition. All such schemes have large automorphism group, though they may not be schurian, which suggests the following revision of Conjecture 1.3, in which only “Cameron scheme” has been replaced with “Cameron sandwich”.

Conjecture 1.7

(sandwich conjecture) Let \({\mathfrak {X}}\) be a PCC of degree n. Then either

  1. (1)

    \({\mathfrak {X}}\) is a Cameron sandwich or

  2. (2)

    \(|\textrm{Aut}({\mathfrak {X}})| \le \exp O((\log n)^{O(1)})\).

If true, there are notable consequences. For example, since \({\mathcal {C}}(m, k, d)\) has rank \(\left( {\begin{array}{c}k+d\\ k\end{array}}\right) > 3\) unless \(k = d = 1\) or \(\left\{ k, d\right\} = \left\{ 1, 2\right\} \), it follows immediately that any nontrivial strongly regular graph has quasipolynomially many automorphisms, excepting only the constituents of \({\mathcal {H}}({2}, {m})\) and \({\mathcal {J}}(m, 2)\). Moreover this extends to distance-regular graphs of bounded diameter \(d \ge 3\), with the exception of Hamming and Johnson graphs, by the result of Kivva [18, Theorem 1.11].

Similarly, it follows from Conjecture 1.7 and a result of Wilmes [31, Theorem 8.2.1] that if \(G \le \textrm{Sym}(n)\) then either G is a Cameron group or |G| is at most quasipolynomial. The result of Wilmes does not depend on the CFSG, so a CFSG-free proof of Conjecture 1.7 would entail a CFSG-free proof of a slightly weaker (but still quasipolynomial) version of Cameron’s theorem.

In another direction, Conjecture 1.7 has consequences for the graph isomorphism problem (GI). Famously, Babai recently gave a quasipolynomial-time GI algorithm [4]. The validity of Conjecture 1.7 implies that a comparatively simple GI algorithm already has quasipolynomial running time: see [4, Remark 6.1.3].

We give two more applications of Conjecture 1.7, which will be proved in the body of the paper. The first result asserts that the exponent 1/8 in Theorem 1.6 is maximal. The second concerns the rank.

Proposition 1.8

Assume Conjecture 1.7. Let \({\mathfrak {X}}\) be a nonschurian PCC. Then

$$\begin{aligned} |\textrm{Aut}({\mathfrak {X}})| \le \exp O(n^{1/8} \log n). \end{aligned}$$

Among the counterexamples constructed in this paper, the minimal rank of a counterexample to Conjecture 1.4 is 28 (as in Theorem 1.6), while the minimal rank of a counterexample to Conjecture 1.3 is 24 (see Table 2). It is still unknown whether there is a rank-3 counterexample to Conjecture 1.3 or a rank-5 counterexample to Conjecture 1.5, but if Conjecture 1.7 is true then the rank of any nonschurian PCC with more than a quasipolynomial number of automorphisms must be at least 12. Further work on set association schemes will likely increase this lower bound.

Proposition 1.9

Assume Conjecture 1.7. Let \({\mathfrak {X}}\) be a nonschurian PCC of rank less than 12. Then \(|\textrm{Aut}({\mathfrak {X}})| \le \exp O((\log n)^{O(1)}).\)

Conjecture 1.7 is true for \(|\textrm{Aut}({\mathfrak {X}})| > \exp (n^{1/3} (\log n)^C)\) by [28]. For smaller values of \(|\textrm{Aut}({\mathfrak {X}})|\) it is open. In a follow-up paper, the author and Muzychuk [14] will prove Conjecture 1.7 within the class of fusions of tensor powers of Johnson schemes with bounded parameters. To be precise, let \({\mathfrak {X}}\) be a PCC such that \({\mathcal {J}}(m, k)^d \le {\mathfrak {X}}\), where \(m \ge m_0(k, d)\). Then either

  1. (1)

    \({\mathcal {J}}(m, k)^d \le {\mathfrak {X}}\le {\mathcal {C}}(m, k, d)\), or

  2. (2)

    \({\mathcal {T}}_{\left( {\begin{array}{c}m\\ k\end{array}}\right) ^e}^{d/e} \le {\mathfrak {X}}\le {\mathcal {H}}({d/e}, {{\left( {\begin{array}{c}m\\ k\end{array}}\right) }^e})\) for some integer \(e \mid d\).

In other words, all “open sandwiches” are sandwiches.

Finally, let us mention one more conjecture, which has been emphasized by Pyber (private communication). This conjecture is significantly weaker than Conjecture 1.7, but seems to represent a key challenge (compare with Conjecture 1.4).

Conjecture 1.10

(transitivity conjecture) Let \({\mathfrak {X}}\) be a PCC of degree n. Then either

  1. (1)

    \(\textrm{Aut}({\mathfrak {X}})\) is transitive or

  2. (2)

    \(|\textrm{Aut}({\mathfrak {X}})| \le \exp O((\log n)^{O(1)})\).

2 Set Association Schemes

Let \(\Omega \) be a finite set and let \(2^\Omega \) denote the power set of \(\Omega \). The type \(\tau \) of a triple \((a, b, c) \in (2^\Omega )^3\) is its orbit \((a, b, c)^{\textrm{Sym}(\Omega )}\) under the action of \(\textrm{Sym}(\Omega )\). Concretely, the type of a triple (abc) is determined by the vector of intersection sizes

$$\begin{aligned} (|a|, |b|, |c|, |a \cap b|, |a \cap c|, |b \cap c|, |a \cap b \cap c|). \end{aligned}$$

We call (abc) a triangle if \(a \subseteq b \cup c\) and \(b \subseteq a \cup c\) and \(c \subseteq a \cup b\). The type of a triangle will be called a triangle type (Fig. 1).

Fig. 1
figure 1

A typical triangle (abc)

Let \({\mathfrak {S}}\) be a partition of \(2^\Omega \) and let \(\tau \) be a triple type. For \(\alpha , \beta , \gamma \in {\mathfrak {S}}\) and \(a \in \alpha \) we denote

$$\begin{aligned} p^a_{\beta \gamma ;\tau } = \# \left\{ (b, c) \in \beta \times \gamma : (a, b, c) \in \tau \right\} . \end{aligned}$$

We say \({\mathfrak {S}}\) is coherent with respect to the type \(\tau \) if \(p^a_{\beta \gamma ;\tau } = p^{a'}_{\beta \gamma ;\tau }\) for all \(\alpha , \beta , \gamma \in {\mathfrak {S}}\) and all \(a, a' \in \alpha \); in this case we denote the common value of \(p^a_{\beta \gamma ;\tau }\) by \(p^\alpha _{\beta \gamma ;\tau }\). The numbers \(p^\alpha _{\beta \gamma ;\tau }\) are the structure constants of \({\mathfrak {S}}\).

Definition 2.1

A set association scheme is a partition \({\mathfrak {S}}\) of \(2^\Omega \) such that

  1. (1)

    \(a, a' \in \alpha \in {\mathfrak {S}}\implies |a| = |a'|\),

  2. (2)

    \({\mathfrak {S}}\) is coherent with respect to all triangle types.

We call \({\mathfrak {S}}\) fully coherent if \({\mathfrak {S}}\) is coherent with respect to all types (triangle or not). The degree of \({\mathfrak {S}}\) is \(|\Omega |\). The rank of \({\mathfrak {S}}\) is the number of cells, denoted \(\textrm{rank}({\mathfrak {S}})\).

Like coherent configurations, the prototypical set association scheme is the orbital scheme of a permutation group. Let \(G \le \textrm{Sym}(\Omega )\) and let \({\mathfrak {S}}(G) = 2^\Omega / G\) be the partition of \(2^\Omega \) into G-orbits. Then \({\mathfrak {S}}(G)\) is a fully coherent set association scheme. We call \({\mathfrak {S}}(G)\) the orbital scheme of G. A set association scheme is called schurian if is the orbital scheme of some group, and nonschurian otherwise. Prominent among the schurian schemes are the discrete set association scheme

$$\begin{aligned} {\mathfrak {S}}(1) = \left\{ \left\{ a\right\} : a \subseteq \Omega \right\} \end{aligned}$$

and the trivial set association scheme

$$\begin{aligned} {\mathfrak {S}}(\textrm{Sym}(\Omega )) = \left\{ \left\{ a \subseteq \Omega : |a| = k\right\} : 0 \le k \le |\Omega |\right\} . \end{aligned}$$

For \(a \in 2^\Omega \) we use \(a^c\) to denote the complement \(\Omega {\setminus } a\). For \(\alpha \subseteq 2^\Omega \) we use \(\alpha ^c\) to denote the set of complements \(\left\{ a^c: a \in \alpha \right\} \) (not the complement \(2^\Omega \setminus \alpha \)).

Lemma 2.2

Let \({\mathfrak {S}}\) be a set association scheme. Then

  1. (1)

    \(\alpha \in {\mathfrak {S}}\implies \alpha ^c \in {\mathfrak {S}}\),

  2. (2)

    for any \(\alpha , \beta \in {\mathfrak {S}}\), the containment graph \(\left\{ (a, b) \in \alpha \times \beta : a \subseteq b\right\} \) is biregular.


Let \(\omega = \left\{ \Omega \right\} \). By condition (1) of Definition 2.1, \(\omega \in {\mathfrak {S}}\).

(1) Let \(a \in \alpha \in {\mathfrak {S}}\) and let \(\beta \) be the part of \({\mathfrak {S}}\) containing \(a^c\). Let \(\tau \) be the type of the triangle \((a, a^c, \Omega )\). For any \(a' \in \alpha \),

$$\begin{aligned} \#\left\{ (b, c) \in \beta \times \omega : (a', b, c) \in \tau \right\} ={\left\{ \begin{array}{ll} 1 &{} \text {if}~ (a')^c \in \beta \\ 0 &{} \text {else}. \end{array}\right. }. \end{aligned}$$

Thus by coherence \((a')^c \in \beta \) for every \(a' \in \alpha \), so \(\alpha ^c \subseteq \beta \), and likewise \(\beta ^c \subseteq \alpha \), so \(\beta = \alpha ^c\).

(2) Let \((a_0, b_0) \in \alpha \times \beta \) be such that \(a_0 \subseteq b_0\) and let \(\tau \) be the type of the triangle \((a_0, b_0, b_0)\). Then for any \(a \in \alpha \),

$$\begin{aligned} \# \left\{ (b, b') \in \beta \times \beta : (a, b, b') \in \tau \right\} = \# \left\{ b \in \beta : a \subseteq b\right\} , \end{aligned}$$

and by coherence this must be the same for every \(a \in \alpha \). By a similar argument, or using (1), the quantity \(\# \left\{ a \in \alpha : a \subseteq b\right\} \) must be the same for every \(b \in \beta \). Hence the containment graph is biregular. \(\square \)

Now let \(m \ge 1\) and let \(V = [m]^\Omega \). If \({\mathfrak {S}}\) is a partition of \(2^\Omega \) we define \([m]^{\mathfrak {S}}\) to be the symmetric configuration on V with relations \(R_\alpha \) (\(\alpha \in {\mathfrak {S}}\)) defined by

$$\begin{aligned} (u, v) \in R_\alpha \iff \left\{ i: u_i \ne v_i\right\} \in \alpha . \end{aligned}$$

Note that if \(\Omega = [d]\) and \({\mathfrak {S}}= {\mathfrak {S}}(1)\) then \([m]^{\mathfrak {S}}= {\mathcal {T}}_m^d\), while if \({\mathfrak {S}}= {\mathfrak {S}}(\textrm{Sym}(\Omega ))\) then \([m]^{\mathfrak {S}}= {\mathcal {H}}({d}, {m})\). Now if \({\mathfrak {S}}\) is an arbitrary set association scheme then \({\mathfrak {S}}(1) \le {\mathfrak {S}}\le {\mathfrak {S}}(\textrm{Sym}(\Omega ))\), so

$$\begin{aligned} {\mathcal {T}}_m^d \le [m]^{\mathfrak {S}}\le {\mathcal {H}}({d}, {m}). \end{aligned}$$

Proposition 2.3

Let \(m, d \ge 1\) and let \(\Omega = [d]\).

  1. (1)

    If \({\mathfrak {S}}\) is a set association scheme on \(\Omega \) then \({\mathfrak {X}}= [m]^{\mathfrak {S}}\) is an association scheme such that \({\mathcal {T}}_m^d \le {\mathfrak {X}}\le {\mathcal {H}}({d}, {m})\).

  2. (2)

    Conversely if \({\mathcal {T}}_m^d \le {\mathfrak {X}}\le {\mathcal {H}}({d}, {m})\) and \(m \ge m_0(d)\) then \({\mathfrak {X}}= [m]^{\mathfrak {S}}\) for some set association scheme \({\mathfrak {S}}\) on \(\Omega \). One can take \(m_0(d) = 3^d + 4\).


(1) Let \({\mathfrak {X}}= [m]^{\mathfrak {S}}\). Then \({\mathfrak {X}}\) is a configuration because \(\left\{ \emptyset \right\} \in {\mathfrak {S}}\), and plainly \({\mathfrak {X}}\) is homogeneous and symmetric. We must check coherence. Let \(u, v \in V\). Let \(\alpha \) be the cell of \({\mathfrak {S}}\) containing the set \(a = \left\{ i: u_i \ne v_i\right\} \). If \(b, c \subseteq \Omega \) then the the number of \(w \in V\) such that \(\left\{ i: u_i \ne w_i\right\} = b\) and \(\left\{ i: w_i \ne v_i\right\} = c\) is zero unless (abc) is a triangle, and in this case it is

$$\begin{aligned} (m-1)^{|b \cap c \setminus a|} (m-2)^{|a \cap b \cap c|}. \end{aligned}$$

Hence the number of \(w \in V\) such that \(\left\{ i: u_i \ne w_i\right\} \in \beta \) and \(\left\{ i: w_i \ne v_i\right\} \in \gamma \) is

$$\begin{aligned} p^a_{\beta \gamma }(m) = \sum _{\begin{array}{c} b \in \beta , c \in \gamma \\ (a, b, c) ~ \text {triangle} \end{array}} (m-1)^{|b \cap c \setminus a|} (m-2)^{|a \cap b \cap c|}. \end{aligned}$$

Since the summand depends only on the type of (abc), we can write this as a sum over types:

$$\begin{aligned} p^a_{\beta \gamma }(m) = \sum _{\tau ~\text {triangle type}} p^a_{\beta \gamma ;\tau } (m-1)^{\tau _{011} - \tau _{111}} (m-2)^{\tau _{111}}. \end{aligned}$$

Here \(\tau _{011} = |b \cap c|\) and \(\tau _{111} = |a \cap b \cap c|\) for any \((a, b, c) \in \tau \). By coherence of \({\mathfrak {S}}\), this depends on a only through \(\alpha \), so this proves coherence of \({\mathfrak {X}}\).

(2) Conversely, suppose \({\mathfrak {X}}\) is an association scheme such that \({\mathcal {T}}_m^d \le {\mathfrak {X}}\le {\mathcal {H}}({d}, {m})\). Since the relations of \({\mathcal {T}}_m^d\) are in bijection with \(2^\Omega \) and \({\mathcal {T}}_m^d\) refines \({\mathfrak {X}}\), there is some partition \({\mathfrak {S}}\) of \(2^\Omega \) such that \({\mathfrak {X}}= [m]^{\mathfrak {S}}\). Since \({\mathfrak {X}}\le {\mathcal {H}}({d}, {m})\), part (1) of Definition 2.1 holds. Coherence of \({\mathfrak {X}}\) demands that the sum (2.1) depends only on the cell \(\alpha \in {\mathfrak {S}}\) containing a. Therefore for any \(a, a' \in \alpha \) we must have equality

$$\begin{aligned} p^a_{\beta \gamma }(m) = p^{a'}_{\beta \gamma }(m). \end{aligned}$$

Now the type of a triangle (abc) is determined by |a|, |b|, |c|, and \(|a \cap b \cap c|\), because \(a \cup b = a \cup c = b \cup c = a \cup b \cup c\) and

$$\begin{aligned} |a| + |b| + |c| = 2 |a \cup b \cup c| + |a \cap b \cap c|. \end{aligned}$$

Suppose \((|a|, |b|, |c|) = (i, j, k)\) and let \(N_\ell ^a\) be the number of \((b, c) \in \beta \times \gamma \) with (abc) a triangle and \(|a \cap b \cap c| = \ell \). For each such triangle we have

$$\begin{aligned} |b \cap c \setminus a| = |b \cap c| - \ell = (j + k - i - \ell )/2, \end{aligned}$$


$$\begin{aligned} p^a_{\beta \gamma }(m) = \sum _{\ell \ge 0} N_\ell ^a (m-1)^{(j + k - i - \ell )/2} (m-2)^\ell , \end{aligned}$$

and \(N_\ell ^a = 0\) if \(j + k - i - \ell \) is odd or negative. If \({\mathfrak {S}}\) is not coherent then there is some \(N_\ell ^a \ne N_\ell ^{a'}\) for some \(\alpha , \beta , \gamma \in {\mathfrak {S}}\) and some \(a, a' \in \alpha \). Let L be the largest such index \(\ell \). Then

$$\begin{aligned} 0 = p^a_{\beta \gamma }(m) - p^{a'}_{\beta \gamma }(m) = \sum _{\ell = 0}^L (N^a_\ell - N^{a'}_\ell ) (m-1)^{(j+k-i-\ell )/2} (m-2)^\ell . \end{aligned}$$

Dividing by \((m-1)^{(j+k-i-L)/2} (m-2)^L\) and rearranging,

$$\begin{aligned} N_L^{a'} - N_L^a = \sum _{\begin{array}{c} \ell =0 \\ \ell - L ~ \text {even} \end{array}}^{L-1} (N_\ell ^a - N_\ell ^{a'}) (m-1)^{(L-\ell )/2} (m-2)^{\ell -L}. \end{aligned}$$

Now we claim \(N_\ell ^a \le 3^d\) uniformly, so

$$\begin{aligned} 1 \le |N_L^{a'} - N_L^a| \le 3^d \sum _{t > 0} {\left( {\frac{m-1}{(m-2)^2}}\right) }^t = 3^d / ((m-2)^2 / (m-1) - 1). \end{aligned}$$

Rearranging gives \(m < 3^d + 4\).

To prove the bound \(N_\ell ^a \le 3^d\), consider choosing \(b, c \subseteq \Omega \) such that (abc) is a triangle. Each element of a must be in either \(a \cap b \setminus c\), \(a \cap c {\setminus } b\), or \(a \cap b \cap c\). Each element of \(a^c\) must be in either \((a \cup b \cup c)^c\) or \(b \cap c \setminus a\). This proves \(N_\ell ^a \le 3^{|a|} 2^{|a^c|} \le 3^d\). \(\square \)

In the next lemma we relate properties of \([m]^{\mathfrak {S}}\) to properties of \({\mathfrak {S}}\). Let \({\mathfrak {S}}\) be a set association scheme with vertex set \(\Omega \). We say \({\mathfrak {S}}\) is homogeneous if \(\left\{ a \in 2^\Omega : |a| = 1\right\} \) is a cell of \({\mathfrak {S}}\). Two set association schemes \({\mathfrak {S}}\) and \({\mathfrak {S}}'\) (with vertex classes \(\Omega \) and \(\Omega '\)) are (weakly) isomorphic if there is a bijection \(f: \Omega \rightarrow \Omega '\) mapping the partition \({\mathfrak {S}}\) to the partition \({\mathfrak {S}}'\). The weak automorphism group of \({\mathfrak {S}}\) is \(\textrm{Aut}_w({\mathfrak {S}}) = \textrm{Iso}_w({\mathfrak {S}}, {\mathfrak {S}})\); its normal subgroup consisting of bijections \(f: \Omega \rightarrow \Omega \) preserving each cell of \({\mathfrak {S}}\) individually is the (strong) automorphism group \(\textrm{Aut}({\mathfrak {S}})\). We have already said \({\mathfrak {S}}\) is called schurian if it is the orbital scheme of some group; this is equivalent to \({\mathfrak {S}}= {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}))\).

Lemma 2.4

Let \({\mathfrak {S}}\) be a set association scheme with vertex set \(\Omega = [d]\), where \(d \ge 2\), and let \(m \ge 2\).

  1. (1)

    \(\textrm{rank}([m]^{\mathfrak {S}}) = \textrm{rank}({\mathfrak {S}})\).

  2. (2)

    \([m]^{\mathfrak {S}}\) is primitive \(\iff \) \({\mathfrak {S}}\) is homogeneous and \(m \ge 3\).

  3. (3)

    \(\textrm{Aut}([m]^{\mathfrak {S}}) = \textrm{Sym}(m) \wr \textrm{Aut}({\mathfrak {S}})\).

  4. (4)

    \([m]^{\mathfrak {S}}\) is schurian \(\iff \) \({\mathfrak {S}}\) is schurian.

  5. (5)

    \(\textrm{Aut}([m]^{\mathfrak {S}})\) is primitive \(\iff \) \(\textrm{Aut}({\mathfrak {S}})\) is transitive and \(m \ge 3\).


  1. (1)

    Immediate from the definition of \([m]^{\mathfrak {S}}\).

  2. (2)

    Suppose \([m]^{\mathfrak {S}}\) is primitive. Let \(a \in \alpha \in {\mathfrak {S}}\) where a is a singleton. By part (1) of Definition 2.1, every \(a' \in \alpha \) is a singleton. Since the color graph of \([m]^{\mathfrak {S}}\) defined by \(\alpha \) must be connected, we must have \(\alpha = \left\{ a \in 2^\Omega : |a| = 1\right\} \). Hence \({\mathfrak {S}}\) is homogeneous. Moreover \([m]^{\mathfrak {S}}\le {\mathcal {H}}({d}, {m})\), so \({\mathcal {H}}({d}, {m})\) is primitive, so \(m \ge 3\) (the maximal-distance graph of \({\mathcal {H}}({d}, {2})\) is disconnected). Conversely, suppose \({\mathfrak {S}}\) is homogeneous and \(m \ge 3\). Let \(\alpha = \left\{ a \in 2^\Omega : |a| = 1\right\} \) and let \(\beta \in {\mathfrak {S}}{\setminus } \left\{ \left\{ \emptyset \right\} \right\} \). Then there is some \(a \in \alpha \) and \(b \in \beta \) such that \(a \subseteq b\). By Lemma 2.2(2) it follows that \(\bigcup \beta = \Omega \). Now it is easy to prove using this and \(m \ge 3\) that the constituent graph of \([m]^{\mathfrak {S}}\) defined by \(\beta \) is connected.

  3. (3)

    Let \(A = \textrm{Aut}([m]^{\mathfrak {S}})\). Since \({\mathcal {T}}_m^d \le [m]^{\mathfrak {S}}\le {\mathcal {H}}({d}, {m})\),

    $$\begin{aligned} \textrm{Sym}(m)^d = \textrm{Aut}({\mathcal {T}}_m^d) \le A \le \textrm{Aut}({\mathcal {H}}({d}, {m})) =\textrm{Sym}(m)^d \textrm{Sym}(d)^\varepsilon , \end{aligned}$$

    where \(\varepsilon : \textrm{Sym}(d) \rightarrow \textrm{Sym}([m]^d)\) is the embedding of \(\textrm{Sym}(d)\) as the subgroup of \(\textrm{Sym}([m]^d)\) permuting the axes. Hence by the modular property of groups

    $$\begin{aligned} A = A \cap (\textrm{Sym}(m)^d \textrm{Sym}(d)^\varepsilon ) =\textrm{Sym}(m)^d (A \cap \textrm{Sym}(d)^\varepsilon ). \end{aligned}$$

    Now \(A \cap \textrm{Sym}(d)^\varepsilon \) is the group of permutations of the axes preserving the relations of \([m]^{\mathfrak {S}}\), so \(A \cap \textrm{Sym}(d)^\varepsilon = \textrm{Aut}({\mathfrak {S}})^\varepsilon \).

  4. (4)

    If \(G \le \textrm{Sym}(d)\) then the orbital configuration of \(\textrm{Sym}(m) \wr G\) is \([m]^{{\mathfrak {S}}(G)}\). Hence by (3) the orbital configuration of \(\textrm{Aut}([m]^{\mathfrak {S}})\) is \([m]^{{\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}))}\), and this is equal to \([m]^{\mathfrak {S}}\) if and only if \({\mathfrak {S}}= {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}))\).

  5. (5)

    As in (4), \({\mathfrak {X}}(\textrm{Aut}([m]^{\mathfrak {S}})) = [m]^{{\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}))}\). Now apply (2). (Alternatively, see [13, Lemma 2.7A].) \(\square \)

Finally we give two ways of constructing new set association schemes from old ones. Let \({\mathfrak {S}}\) and \({\mathfrak {S}}'\) be set association schemes on \(\Omega \) and \(\Omega '\). Let \(\Omega \sqcup \Omega '\) denote the disjoint union of \(\Omega \) and \(\Omega '\). For \(\alpha \in {\mathfrak {S}}\) and \(\alpha ' \in {\mathfrak {S}}'\), define

$$\begin{aligned} \alpha \oplus \alpha ' = \left\{ a \sqcup a': a \in \alpha , a' \in \alpha '\right\} . \end{aligned}$$

The direct sum of \({\mathfrak {S}}\) and \({\mathfrak {S}}'\) is the partition of \(2^{\Omega \cup \Omega '}\) defined by

$$\begin{aligned} {\mathfrak {S}}\oplus {\mathfrak {S}}' = \left\{ \alpha \oplus \alpha ': \alpha \in {\mathfrak {S}}, \alpha ' \in {\mathfrak {S}}'\right\} . \end{aligned}$$

Note that if G and H are permutation groups acting on \(\Omega \) and \(\Omega '\) respectively then \({\mathfrak {S}}(G \times H) = {\mathfrak {S}}(G) \oplus {\mathfrak {S}}(H)\).

Lemma 2.5

Let \({\mathfrak {S}}\) and \({\mathfrak {S}}'\) be set association schemes.

  1. (1)

    \({\mathfrak {S}}\oplus {\mathfrak {S}}'\) is a set association scheme.

  2. (2)

    \(\textrm{rank}({\mathfrak {S}}\oplus {\mathfrak {S}}') = \textrm{rank}({\mathfrak {S}}) \textrm{rank}({\mathfrak {S}}')\).

  3. (3)

    \(\textrm{Aut}({\mathfrak {S}}\oplus {\mathfrak {S}}') = \textrm{Aut}({\mathfrak {S}}) \times \textrm{Aut}({\mathfrak {S}}')\).

  4. (4)

    \({\mathfrak {S}}\oplus {\mathfrak {S}}'\) is schurian \(\iff \) \({\mathfrak {S}}\) is schurian and \({\mathfrak {S}}'\) is schurian.

  5. (5)

    For \(m \ge 1\), \([m]^{{\mathfrak {S}}\oplus {\mathfrak {S}}'} \cong [m]^{\mathfrak {S}}\otimes [m]^{{\mathfrak {S}}'}\).


  1. (1)

    Clearly cells determine size. We must check coherence. Let \(\tau \) be a triangle type, let \(\alpha \oplus \alpha ', \beta \oplus \beta ', \gamma \oplus \gamma ' \in {\mathfrak {S}}\oplus {\mathfrak {S}}'\), and let \(a \sqcup a' \in \alpha \oplus \alpha '\). Then the number of \((b\sqcup b', c\sqcup c') \in (\beta \oplus \beta ') \times (\gamma \oplus \gamma ')\) such that \((a \sqcup a', b \sqcup b', c \sqcup c') \in \tau \) is

    $$\begin{aligned} \sum _{\tau _1, \tau _2} p^\alpha _{\beta \gamma ;\tau _1} p^{\alpha '}_{\beta '\gamma ';\tau _2}, \end{aligned}$$

    where the sum goes over all pairs of triangle types \(\tau _1\) on \(\Omega \) and \(\tau _2\) on \(\Omega '\) such that if \((a, b, c) \in \tau _1\) and \((a', b', c') \in \tau _2\) then \((a \sqcup a', b \sqcup b', c \sqcup c') \in \tau \). Thus we have coherence.

  2. (2)


  3. (3)

    Let \(\pi \in \textrm{Aut}({\mathfrak {S}}\oplus {\mathfrak {S}}')\). Since \(\pi \) fixes the cell \(\Omega \sqcup \emptyset \), \(\pi \) respects the partition of \(\Omega \sqcup \Omega '\) into \(\Omega \) and \(\Omega '\), and clearly the set of \(\pi \in \textrm{Aut}({\mathfrak {S}}\oplus {\mathfrak {S}}')\) respecting this partition is \(\textrm{Aut}({\mathfrak {S}}) \times \textrm{Aut}({\mathfrak {S}}')\).

  4. (4)

    If \({\mathfrak {S}}= {\mathfrak {S}}(G)\) and \({\mathfrak {S}}' = {\mathfrak {S}}(H)\) then \({\mathfrak {S}}\oplus {\mathfrak {S}}' = {\mathfrak {S}}(G \times H)\). On the other hand if \({\mathfrak {S}}\oplus {\mathfrak {S}}'\) is schurian then, by (3),

    $$\begin{aligned} {\mathfrak {S}}\oplus {\mathfrak {S}}' \!{=}\! {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}\oplus {\mathfrak {S}}')) \!{=}\! {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}) \times \textrm{Aut}({\mathfrak {S}}')) \!{=}\! {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}})) \oplus {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}')), \end{aligned}$$

    which implies \({\mathfrak {S}}= {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}))\) and \({\mathfrak {S}}' = {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}'))\).

  5. (5)

    A definition-chase. \(\square \)

A nontrivial direct sum \({\mathfrak {S}}\oplus {\mathfrak {S}}'\) is never homogeneous, whereas we are principally interested in homogeneous set association schemes. Another construction preserves homogeneity. Let \({\mathfrak {S}}^k\) be the direct sum of k copies of \({\mathfrak {S}}\). If \(G \le \textrm{Sym}(k)\) then G permutes the cells of \({\mathfrak {S}}^k\). Fusing the orbits of G produces a new set association scheme which we call the wreath product \({\mathfrak {S}}\wr G\). The term is reasonable since if \(H \le \textrm{Sym}(\Omega )\) then \({\mathfrak {S}}(H) \wr G = {\mathfrak {S}}(H \wr G)\), where \(H \wr G \le \textrm{Sym}(\Omega \times [k])\) has the imprimitive action.

Lemma 2.6

Let \({\mathfrak {S}}\) be a set association scheme and \(G \le \textrm{Sym}(k)\), \(k \ge 1\).

  1. (1)

    \({\mathfrak {S}}\wr G\) is a set association scheme.

  2. (2)

    \(\textrm{rank}({\mathfrak {S}}\wr G) = |[\textrm{rank}({\mathfrak {S}})]^k / G|\).

  3. (3)

    \({\mathfrak {S}}\wr G\) is homogeneous \(\iff \) \({\mathfrak {S}}\) is homogeneous and G is transitive.

  4. (4)

    \(\textrm{Aut}({\mathfrak {S}}\wr G) = \textrm{Aut}({\mathfrak {S}}) \wr \overline{G}\), where \(G \le \overline{G} \le \textrm{Sym}(k)\).

  5. (5)

    \({\mathfrak {S}}\wr G\) is schurian \(\iff \) \({\mathfrak {S}}\) is schurian.

  6. (6)

    For \(m \ge 1\), \([m]^{{\mathfrak {S}}\wr G} \cong [m]^{\mathfrak {S}}\uparrow G\).


  1. (1)


  2. (2)

    Let \({\mathfrak {S}}= \left\{ \alpha _1, \dots , \alpha _r\right\} \), where \(r=\textrm{rank}({\mathfrak {S}})\). Then the cells of \({\mathfrak {S}}^k\) are \({\alpha _{i_1} \sqcup \cdots \sqcup \alpha _{i_k}}\) for \(i_1, \dots , i_k \in [r]\). The G-orbit of \({\alpha _{i_1} \sqcup \cdots \sqcup \alpha _{i_k}}\) is the union of all \({\alpha _{j_1} \sqcup \cdots \sqcup \alpha _{j_k}}\) for \((j_1, \dots , j_k) \in (i_1, \dots , i_k)^G\). Hence \({\mathfrak {S}}\wr G\) has \(|[r]^k / G|\) cells.

  3. (3)


  4. (4)

    Let \(A = \textrm{Aut}({\mathfrak {S}}\wr G)\), and first suppose \(G = \textrm{Sym}(k)\). Write the vertex set of \({\mathfrak {S}}^k\) as \(\Omega _1 \cup \cdots \cup \Omega _k\), where \(\Omega _1, \dots , \Omega _k\) are the disjoint copies of \(\Omega \). Then \(\left\{ \Omega _1\right\} , \dots , \left\{ \Omega _k\right\} \) are cells of \({\mathfrak {S}}^k\) and \(\pi = \left\{ \Omega _1, \dots , \Omega _k\right\} \) is a cell of \({\mathfrak {S}}\wr \textrm{Sym}(k)\), so A preserves the partition \(\pi \). Let \(B \le A\) be the subgroup of A preserving each \(\Omega _i\) individually. Then clearly \(A = B \textrm{Sym}(k)\), and \(B = \textrm{Aut}({\mathfrak {S}}^k) = \textrm{Aut}({\mathfrak {S}})^k\), since B must preserve each cell of \({\mathfrak {S}}\wr \textrm{Sym}(k)\) of the form \(\alpha \oplus \cdots \oplus \alpha \) for \(\alpha \in {\mathfrak {S}}\). Now for G arbitrary we have

    $$\begin{aligned} B = \textrm{Aut}({\mathfrak {S}}^k) \le A \le \textrm{Aut}({\mathfrak {S}}\wr \textrm{Sym}(k)) = B \textrm{Sym}(k), \end{aligned}$$

    so by the modular property of groups we have

    $$\begin{aligned} A = B (A \cap \textrm{Sym}(k)) = \textrm{Aut}({\mathfrak {S}}) \wr (A \cap \textrm{Sym}(k)). \end{aligned}$$

    The intersection \(\overline{G} = A \cap \textrm{Sym}(k)\) is the subgroup of \(\textrm{Sym}(k)\) preserving each orbit of G in \([\textrm{rank}({\mathfrak {S}})]^k\).

  5. (5)

    If \({\mathfrak {S}}= {\mathfrak {S}}(H)\) then \({\mathfrak {S}}\wr G = {\mathfrak {S}}(H \wr G)\). On the other hand if \({\mathfrak {S}}\wr G\) is schurian, then, by (4),

    $$\begin{aligned} {\mathfrak {S}}\wr G = {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}\wr G)) = {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}) \wr \overline{G}) ={\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}})) \wr \overline{G}. \end{aligned}$$

    By considering the cells of the form \(\alpha \oplus \cdots \oplus \alpha \), it follows that \({\mathfrak {S}}= {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}))\).

  6. (6)

    Another definition-chase. \(\square \)

3 Set Association Schemes of Degree at most 8

The coherence axiom (part (2) of Definition 2.1) is so stringent that one may not expect nonschurian set association schemes exist. The situation appears comparable with that of superscheme theory, introduced by Johnson and Smith [17], which axiomatizes the combinatorial properties of the ordered orbital relations of arbitrary arity, and the main theorem of superscheme theory is that all superschemes are schurian (see [25, Theorem 8.5]). It may come as a surprise therefore that nonschurian set association schemes do exist. Indeed there are several of degree 8.

Proposition 3.1

Let \(\Omega = [d]\).

  1. (1)

    If \(d \le 7\), all set association schemes on \(\Omega \) are schurian.

  2. (2)

    If \(d = 8\), there are eight nonschurian set association schemes up to isomorphism, summarized in Table 1.

Table 1 Nonschurian set association schemes of degree 8 up to isomorphism

Notably, the set association scheme \({\mathfrak {S}}= {\mathfrak {S}}_5\), of degree 8 and rank 28, is homogeneous but \(\textrm{Aut}({\mathfrak {S}})\) is intransitive. By Lemma 2.4, the corresponding Hamming sandwich \({\mathfrak {X}}= [m]^{\mathfrak {S}}\) has the following properties, for any \(m \ge 3\):

  1. (1)

    the degree of \({\mathfrak {X}}\) is \(n = m^8\),

  2. (2)

    \(\textrm{rank}({\mathfrak {X}}) = 28\),

  3. (3)

    \({\mathfrak {X}}\) is primitive,

  4. (4)

    \(\textrm{Aut}({\mathfrak {X}})\) is imprimitive,

  5. (5)

    \(|\textrm{Aut}({\mathfrak {X}})| = 8m!^8 > \exp (m) = \exp (n^{1/8})\).

Also, since \(\textrm{Aut}({\mathfrak {X}}) = \textrm{Sym}(m) \wr \textrm{Aut}({\mathfrak {S}})\), \(\mu (\textrm{Aut}({\mathfrak {X}})) = 2\,m^7\) and \(\theta (\textrm{Aut}({\mathfrak {X}})) = m\). This proves Theorem 1.6, subject to the construction of \({\mathfrak {S}}_5\).

Additionally we may form the wreath product \({\mathfrak {S}}= {\mathfrak {S}}_5 \wr G\) for any transitive permutation group \(G \le \textrm{Sym}(k)\) for any \(k \ge 1\). By Lemma 2.6, \({\mathfrak {S}}\) is again homogeneous and vertex-intransitive, but of larger degree and rank. Thus we have the following corollary.

Corollary 3.2

There are vertex-intransitive homogeneous set association schemes of arbitrarily large rank.

In the rest of this section we describe the construction of \({\mathfrak {S}}_1, \dots , {\mathfrak {S}}_8\) and sketch the verification of Proposition 3.1. We do not prove the coherence of \({\mathfrak {S}}_1, \dots , {\mathfrak {S}}_8\) by hand but rely on a computer-check. All calculations were done in sage/GAP. Source code may be found at https://github.com/seaneberhard/sassy.

3.1 Constructions

Each of the constructions we give has the following general form. Let \(H \le G \le \textrm{Sym}(d)\) be permutation groups such that \([G:H] = 2\). Then \({\mathfrak {S}}(H) \le {\mathfrak {S}}(G)\) and there are some \(k = \textrm{rank}({\mathfrak {S}}(H)) - \textrm{rank}({\mathfrak {S}}(G))\) cells \(\alpha _1, \dots , \alpha _k \in {\mathfrak {S}}(G)\) that split in two in \({\mathfrak {S}}(H)\). The partition \({\mathfrak {S}}\) is obtained from \({\mathfrak {S}}(G)\) by splitting the cells in some proper nonempty subset of \(\left\{ \alpha _1, \dots , \alpha _k\right\} \). If \({\mathfrak {S}}\) is coherent (there is no reason in general it should be) then so is the partition \({\mathfrak {S}}'\) obtained by splitting the cells in the complementary subset instead, so in this circumstance we have two nonschurian set association schemes \({\mathfrak {S}}\) and \({\mathfrak {S}}'\) with \(\textrm{Aut}({\mathfrak {S}}) = \textrm{Aut}({\mathfrak {S}}') = H\).

3.1.1 \({\mathfrak {S}}_1\) and \({\mathfrak {S}}_2\)


$$\begin{aligned} G_1 = \left\{ ax + b: a \in (\textbf{Z}/8\textbf{Z})^\times , b \in \textbf{Z}/8\textbf{Z}\right\} \cong C_8 \rtimes (C_2 \times C_2) \end{aligned}$$

(TransitiveGroup(8, 15) in GAP) be the affine group modulo 8 acting naturally on \(\Omega = \textbf{Z}/8\textbf{Z}\). Then \({\mathfrak {S}}(G_1)\) is a schurian scheme of rank 24. Let \(\alpha _1 = \left\{ 0, 1, 2, 3\right\} ^G\). Then \(\alpha _1\) consists of all arithmetic progressions of length 4 and odd common difference. Let \(\alpha \subseteq \alpha _1\) consist of all arithmetic progressions \(\left\{ a, a+d, a+2d, a+3d\right\} \) with a even and \(d \in \left\{ 1, 5\right\} \). The scheme \({\mathfrak {S}}_1\), of rank 25, is obtained by splitting \(\alpha _1\) into \(\alpha \) and \(\alpha _1 {\setminus } \alpha \). Then \(H_1 = \textrm{Aut}({\mathfrak {S}}_2)\) is an index-two subgroup of \(G_1\) and \({\mathfrak {S}}_2\) is related as described above. The group \(H_1 = \langle x+2, 3x+1, 5x\rangle \) is internally the central product of \(\langle x+2, 3x+1 \rangle \cong Q_8\) and \(\langle 5x + 2 \rangle \cong C_4\); it is sometimes called the Pauli group.

3.1.2 \({\mathfrak {S}}_3\) and \({\mathfrak {S}}_4\)

The schemes \({\mathfrak {S}}_3\) and \({\mathfrak {S}}_4\) are obtained in the same way but starting with the quasidihedral group

$$\begin{aligned} G_2 = \left\{ ax + b: a \in \left\{ 1, 3\right\} , b \in \textbf{Z}/8\textbf{Z}\right\} \le G_1 \end{aligned}$$

(TransitiveGroup(8, 8) in GAP). We split the same cell \(\alpha _1\) as before into the same two cells \(\alpha \) and \(\alpha _1 \setminus \alpha \) to obtain \({\mathfrak {S}}_3\), and \({\mathfrak {S}}_4\) is related as before. Here \(H_2 = \textrm{Aut}({\mathfrak {S}}_3)\) is the regular subgroup \(\langle x+2, 3x+1 \rangle \cong Q_8\).

This construction can be described alternatively as follows. Identify \(\Omega \) with \(Q_8 = \left\{ 1, i, j, k, -1, -i, -j, -k\right\} \) in such a way that \(H_2 = Q_8\) in the right regular action. Then \(H_2\) has two orbits of 4-sets of the form \(\left\{ \pm 1, \pm i, \pm j, \pm k\right\} \). Fusing those two orbits produces \({\mathfrak {S}}_4\).

Fig. 2
figure 2

Two nonschurian set association schemes

3.1.3 \({\mathfrak {S}}_5\) and \({\mathfrak {S}}_6\)

The schemes \({\mathfrak {S}}_5\) and \({\mathfrak {S}}_6\) are obtained in the same way but starting with the modular 16-group

$$\begin{aligned} G_3 = \left\{ ax + b: a \in \left\{ 1, 5\right\} , b \in \textbf{Z}/8\textbf{Z}\right\} \le G_1 \end{aligned}$$

(TransitiveGroup(8, 7) in GAP). Again we split the same cell \(\alpha _1\) into the same two cells \(\alpha \) and \(\alpha _1 {\setminus } \alpha \) to obtain \({\mathfrak {S}}_5\), and \({\mathfrak {S}}_6\) is related as before. In this case \(H_3 = \textrm{Aut}({\mathfrak {S}}_5)\) is the intransitive subgroup \(\langle x+2, 5x\rangle \cong C_4 \times C_2\).

3.1.4 \({\mathfrak {S}}_7\) and \({\mathfrak {S}}_8\)

In this case we start with the intransitive group

$$\begin{aligned} G_4 = \langle (1,3,5,7)(2, 4, 6, 8), (2,4)(6,8) \rangle \cong (C_4 \times C_2) \rtimes C_2. \end{aligned}$$

The scheme \({\mathfrak {S}}_7\) is derived from \({\mathfrak {S}}(G_4)\) by separating \(\alpha \), \(\alpha ^c\), and \(\beta \), where

$$\begin{aligned} \alpha= & {} \left\{ \left\{ 1, 2, 3\right\} , \left\{ 1, 3, 6\right\} ,\left\{ 1, 4, 7\right\} , \left\{ 1, 7, 8\right\} ,\left\{ 2, 5, 7\right\} , \left\{ 3, 4, 5\right\} ,\left\{ 3, 5, 8\right\} , \left\{ 5, 6, 7\right\} \right\} ,\\ \beta= & {} \left\{ \left\{ 1, 2, 3, 6\right\} , \left\{ 1, 4, 7, 8\right\} , \left\{ 2, 5, 6, 7\right\} , \left\{ 3, 4, 5, 8\right\} \right\} . \end{aligned}$$

Then \(H_4 = \textrm{Aut}({\mathfrak {S}}_7) = \langle (1,3,5,7)(2,4,6,8), (2,6)(4,8) \rangle \cong C_4 \times C_2\).

3.1.5 Two of Degree 9

There are at least two nonschurian set association schemes of degree 9. Let

$$\begin{aligned} G = \left\{ ax + b: a \in (\textbf{Z}/9\textbf{Z})^\times , b \in \textbf{Z}/9\textbf{Z}\right\} \cong C_9 \rtimes C_6 \end{aligned}$$

(TransitiveGroup(9, 10) in GAP) be the affine group modulo 9 acting naturally on \(\Omega = \textbf{Z}/9\textbf{Z}\). Let \(H \le G\) be the subgroup defined by restricting a to \(\left\{ 1, 4, 7\right\} \) (the modular 27-group). A nonschurian set association scheme is obtained from \({\mathfrak {S}}(G)\) by splitting \(\left\{ 1,2,3,5\right\} ^G\) into \(\left\{ 1,2,3,5\right\} ^H\) and \(\left\{ 1,2,3,6\right\} ^H\), and another is related as in Fig. 2.

Table 2 Two nonschurian set association schemes of degree 9

3.2 Computational Aspects

Checking coherence of a given partition \({\mathfrak {S}}\) of \(2^{[d]}\) naively requires inspecting \((2^d)^3\) triples \((a, b, c) \in (2^{[d]})^3\) and sorting them according to the value of \((\chi (a), \chi (b), \chi (c), |a \cap b|, |a \cap c|, |b \cap c|, |a \cap b \cap c|)\), where \(\chi : 2^{[d]} \rightarrow \left\{ 0, \dots , \textrm{rank}({\mathfrak {S}}) - 1\right\} \) is a coloring function representing \({\mathfrak {S}}\). For \(d = 8\), \((2^d)^3 \approx 1.7 \times 10^7\), so this is feasible on any modern computer. Thus checking coherence of \({\mathfrak {S}}_1, \dots , {\mathfrak {S}}_8\) is straightforward, but checking that there are no others requires further comment.

The naive algorithm described above for checking coherence in general actually outputs a refinement \({\mathfrak {S}}' \le {\mathfrak {S}}\) such that \({\mathfrak {S}}' = {\mathfrak {S}}\) if and only if \({\mathfrak {S}}\) is coherent, and furthermore such that if \({\mathfrak {S}}_0 \le {\mathfrak {S}}\) is any coherent partition then \({\mathfrak {S}}_0 \le {\mathfrak {S}}'\). Iterating this algorithm therefore produces the coarsest coherent refinement of \({\mathfrak {S}}\). This is a natural variant for set association schemes of the Weisfeiler–Leman (WL) algorithm for coherent configurations, so we call it that, and the coarsest coherent refinement of \({\mathfrak {S}}\) is called its WL stabilization.

In practice, it helps to compute \(\textrm{Aut}({\mathfrak {S}})\) first. Then if \({\mathfrak {S}}= {\mathfrak {S}}(\textrm{Aut}({\mathfrak {S}}))\) then \({\mathfrak {S}}\) is schurian and therefore coherent. In general the WL algorithm does not alter \(\textrm{Aut}({\mathfrak {S}})\) and it can be sped up by a factor of \(|\textrm{Aut}({\mathfrak {S}})|\) by only enumerating those triples (abc) with a in a given set of \(\textrm{Aut}({\mathfrak {S}})\)-orbit representatives. Enumerating \(\textrm{Aut}({\mathfrak {S}})\)-orbit representatives in \(2^{[d]}\) can be done quickly using a union–find data structure.

Now given an arbitrary coherent partition \({\mathfrak {S}}\) of \(2^{[d]}\), we can enumerate some coherent strict refinements \({\mathfrak {S}}_1, \dots , {\mathfrak {S}}_n\) of \({\mathfrak {S}}\) such that any coherent refinement of \({\mathfrak {S}}\) refines at least one of \({\mathfrak {S}}_1, \dots , {\mathfrak {S}}_n\), as follows. Write

$$\begin{aligned} {\mathfrak {S}}= \left\{ \alpha _0, \dots , \alpha _r, \alpha _r^c, \dots , \alpha _0^c\right\} \end{aligned}$$

(there will be duplicates here if any \(\alpha _i = \alpha _i^c\)), where

$$\begin{aligned} 0 = |a_0| \le \cdots \le |a_r| = \left\lfloor {d/2}\right\rfloor \qquad (a_i \in \alpha _i). \end{aligned}$$

Now for \(i = 0, \dots , r\) and each subset \(\alpha \subseteq \alpha _i\) such that \(0 < |\alpha | \le |\alpha _i| / 2\), let \({\mathfrak {S}}[\alpha ]\) be the WL stabilization of the partition formed from \({\mathfrak {S}}\) by splitting \(\alpha _i\) into \(\alpha \) and \(\alpha _i {\setminus } \alpha \), and, if it is not already in the list, name it \({\mathfrak {S}}_k\) for the next available index k.

In fact, we need only consider the subsets \(\alpha \subseteq \alpha _i\) which are “design-like” with respect to \(\alpha _j\) for \(j < i\), in the sense that the bipartite graph

$$\begin{aligned} \left\{ (a, b) \in \alpha _j \times \alpha : a \subseteq b\right\} \end{aligned}$$

is biregular, because if \(\alpha \) were not design-like with respect to \(\alpha _j\) then the WL algorithm would split \(\alpha _j\), and hence \({\mathfrak {S}}[\alpha ]\) already refines some previous \({\mathfrak {S}}_k\). Design-like \(\alpha \) can be enumerated using either backtracking or integer programming (this is the most prohibitive part of the process).

Moreover, it suffices to consider only one \(\alpha \) per weak-automorphism-orbit, since \({\mathfrak {S}}[\alpha ] \cong {\mathfrak {S}}[\alpha ']\) for \(\alpha , \alpha '\) in the same orbit. For example if \({\mathfrak {S}}\) is trivial and \(i=2\), arbitrary subsets of \(\alpha _2\) correspond to arbitrary undirected graphs on [d], but it suffices to consider only regular graphs up to isomorphism, of which there many fewer (though still many).

By starting with the trivial scheme and iterating, we end up enumerating the entire lattice of set association schemes up to isomorphism, including any nonschurian schemes. The whole process for \(d \le 8\) took a few days on the author’s laptop.

4 Cameron Sandwiches

If \({\mathfrak {X}}\) is a partition of \(( \left( {\begin{array}{c}[m]\\ k\end{array}}\right) ^d )^2\) such that \({\mathcal {J}}(m, k)^d \le {\mathfrak {X}}\) then there is a partition \({\mathfrak {S}}\) of \(\left\{ 0, \dots , k\right\} ^d\) such that \({\mathfrak {X}}= \left\{ R_\alpha : \alpha \in {\mathfrak {S}}\right\} \), where

$$\begin{aligned} (u, v) \in R_\alpha \iff (|u_1 \setminus v_1|, \dots , |u_d \setminus v_d|) \in \alpha . \end{aligned}$$

If \({\mathfrak {X}}\) and \({\mathfrak {S}}\) are related in this way we write \({\mathfrak {X}}= {\mathcal {J}}(m, k)^{\mathfrak {S}}\). Clearly \({\mathfrak {X}}\) is a configuration if and only if \(\left\{ (0, \dots , 0)\right\} \in {\mathfrak {S}}\), and \({\mathfrak {X}}\le {\mathcal {C}}(m, k, d)\) if and only if

$$\begin{aligned} a, a' \in \alpha \in {\mathfrak {S}}\implies a^{\textrm{Sym}(d)} = (a')^{\textrm{Sym}(d)}. \end{aligned}$$

If \({\mathcal {J}}(m, k)^d \le {\mathfrak {X}}\le {\mathcal {C}}(m, k, d)\) and \({\mathfrak {X}}\) is coherent then we call \({\mathfrak {X}}\) a Cameron sandwich. In this section we develop some theory of Cameron sandwiches generalizing that of Hamming sandwiches (even though no nonschurian examples are known for \(k > 1\)).

The vertices of the Johnson scheme \({\mathcal {J}}(m, k)\) are k-subsets \(v \subseteq [m]\), and the color of a pair (uv) is by definition \(|u {\setminus } v| \in \left\{ 0, \dots , k\right\} \). Note that \(|u {\setminus } v| = |v {\setminus } u|\), since \(|u| = |v| = k\). The hypothesis \(k \le m/2\) ensures that all colors appear. The structure constants are

$$\begin{aligned} p^a_{bc}(m) = \sum _i \left( {\begin{array}{c}k-a\\ i\end{array}}\right) \left( {\begin{array}{c}a\\ k-b-i\end{array}}\right) \left( {\begin{array}{c}a\\ k-c-i\end{array}}\right) \left( {\begin{array}{c}m-k-a\\ b + c + i - k\end{array}}\right) , \end{aligned}$$

where the summation extends over all integers and binomial coefficients are considered zero when out of bounds. Note that \(p^a_{bc}\) is a polynomial in m with rational coefficients.

Lemma 4.1

For \(a, b, c \in \left\{ 0, \dots , k\right\} \), \(p^a_{bc}(m) > 0\) if and only if

$$\begin{aligned} a \le b + c, \quad b \le a + c, \quad c \le a + b, \qquad \qquad \quad \qquad \qquad \quad \qquad \qquad \quad (\Delta ) \end{aligned}$$

and \(a + b + c \le m\).


If \(p^a_{bc}(m) > 0\) then there are sets \(u, v, w \subseteq [m]\) of size k such that \(|u \setminus v| = a\), \(|u \setminus w| = b\), and \(|w \setminus v| = c\). Since \(u {\setminus } v \subseteq (u {\setminus } w) \cup (w {\setminus } v)\), we must have \(a \le b + c\), and likewise for other permutations, so (\(\Delta \)) holds. Since \(u {\setminus } v\), \(v {\setminus } w\), and \(w {\setminus } u\) are pairwise disjoint, we also must have \(a + b + c \le m\).

Conversely, suppose (\(\Delta \)) holds and \(m \ge a + b + c\). Without loss of generality we may assume \(a \ge b \ge c\). Taking the \(i = \max (0, k - b - c)\) in (4.2) shows that \(p^a_{bc}(m) > 0\). \(\square \)

We now doubly overload the notation \(p^a_{bc}\) as follows:

  1. (1)

    For \(a, b, c \in \left\{ 0, \dots , k\right\} ^d\), \(d \ge 1\), define

    $$\begin{aligned} p^a_{bc} = p^{a_1}_{b_1c_1} \cdots p^{a_d}_{b_dc_d}, \end{aligned}$$

    and observe that \(p^a_{bc}\) is again a polynomial in m. These are the structure constants of \({\mathcal {J}}(m, k)^d\).

  2. (2)

    For \(\beta , \gamma \subseteq \left\{ 0, \dots , k\right\} ^d\), define

    $$\begin{aligned} p^a_{\beta \gamma } = \sum _{(b, c) \in \beta \times \gamma } p^a_{bc}. \end{aligned}$$

We say \(a, b, c \in \left\{ 0, \dots , k\right\} ^d\) form a triangle if \(p^a_{bc}\) is not the zero polynomial. By Lemma 4.1, this is the case if and only if \(a_i, b_i, c_i\) satisfy (\(\Delta \)) for each i. If \(x \in \left\{ 0, \dots , k\right\} \) we write \((x)^d\) as shorthand for \((x, \dots , x)\).

The following lemma is self-evident at this point.

Lemma 4.2

Assume \(m \ge 2k > 0\). Let \({\mathfrak {X}}= {\mathcal {J}}(m, k)^{\mathfrak {S}}\) for some partition \({\mathfrak {S}}\) of \(\left\{ 0, \dots , k\right\} ^d\). Then \({\mathfrak {X}}\) is a Cameron sandwich if and only if (4.1) holds and \(p^a_{\beta \gamma }(m) = p^{a'}_{\beta \gamma }(m)\) for all \(\alpha ,\beta ,\gamma \in {\mathfrak {S}}\) and \(a, a' \in \alpha \).

Properties of \({\mathfrak {X}}= {\mathcal {J}}(m, k)^{\mathfrak {S}}\) are related to corresponding properties of \({\mathfrak {S}}\), analogously to Lemma 2.4. Let \(\textrm{rank}({\mathfrak {S}})\) denote the number of cells of \({\mathfrak {S}}\). We call \({\mathfrak {S}}\) homogeneous if \((0, \dots , 0, 1)^{\textrm{Sym}(d)} \in {\mathfrak {S}}\). The (strong) automorphism group of \({\mathfrak {S}}\) is the group \(\textrm{Aut}({\mathfrak {S}}) \le \textrm{Sym}(d)\) of permutations of [d] preserving each cell of \({\mathfrak {S}}\). If \(G \le \textrm{Sym}(d)\) we write \({\mathfrak {S}}_k(G)\) for the partition \(\left\{ 0, \dots , k\right\} ^d / G\) of \(\left\{ 0, \dots , k\right\} ^d\) into G-orbits. We call \({\mathfrak {S}}\) schurian if \({\mathfrak {S}}= {\mathfrak {S}}_k(\textrm{Aut}({\mathfrak {S}}))\).

Lemma 4.3

Let \({\mathfrak {X}}= {\mathcal {J}}(m, k)^{\mathfrak {S}}\) be a Cameron sandwich, where \(m \ge 2k > 0\).

  1. (1)

    \(\textrm{rank}({\mathfrak {X}}) = \textrm{rank}({\mathfrak {S}})\).

  2. (2)

    \({\mathfrak {X}}\) is primitive \(\iff \) \({\mathfrak {S}}\) is homogeneous and \(m \ge 2k+1\).

  3. (3)

    \(\textrm{Aut}({\mathfrak {X}}) = \textrm{Sym}(m)^{(k)} \wr \textrm{Aut}({\mathfrak {S}})\).

  4. (4)

    \({\mathfrak {X}}\) is schurian \(\iff \) \({\mathfrak {S}}\) is schurian.

  5. (5)

    \(\textrm{Aut}({\mathfrak {X}})\) is primitive \(\iff \) \(\textrm{Aut}({\mathfrak {S}})\) is transitive and \(m \ge 2k+1\).


  1. (1)

    Immediate from the definition of \({\mathcal {J}}(m, k)^{\mathfrak {S}}\).

  2. (2)

    Suppose \({\mathfrak {X}}= {\mathcal {J}}(m, k)^{\mathfrak {S}}\) is primitive. Let \(a \in \alpha \in {\mathfrak {S}}\) where \(a = (0, \dots , 0, 1)\). Then \(\alpha \subseteq (0, \dots , 0, 1)^{\textrm{Sym}(d)}\). Since the color graph of \({\mathcal {J}}(m, k)^{\mathfrak {S}}\) defined by \(\alpha \) is connected, we must have \(\alpha = (0, \dots , 0, 1)^{\textrm{Sym}(d)}\). Hence \({\mathfrak {S}}\) is homogeneous. If \(m = 2k\) then the color graph of \({\mathcal {J}}(m, k)^{\mathfrak {S}}\) defined by \(\omega = \left\{ (k)^d\right\} \) is disconnected (all components have just two vertices) so we must have \(m \ge 2k + 1\). Conversely, suppose \({\mathfrak {S}}\) is homogeneous and \(m \ge 2k+1\). Let \(\alpha = (0, \dots , 0, 1)^{\textrm{Sym}(d)}\) and let \(\beta \in {\mathfrak {S}}\), \(\beta \ne \left\{ (0)^d\right\} \). Then for any \(b \in \beta \) there is some \(a \in \alpha \) such that (abb) is a triangle. Since \(m \ge 2k+1\), Lemma 4.1 implies that \(p^\alpha _{\beta \beta }(m) > 0\). Now the color graph of \({\mathcal {J}}(m, k)^{\mathfrak {S}}\) defined by \(\alpha \) is the Cameron graph, which is connected, so the color graph of \({\mathcal {J}}(m, k)^{\mathfrak {S}}\) defined by \(\beta \) is also connected.

  3. (3–5)

    Exactly as in the proof of Lemma 2.4. \(\square \)

We are most interested when \({\mathcal {J}}(m, k)^{\mathfrak {S}}\) is a Cameron sandwich for all m. Thus we make the following definition.

Definition 4.4

Let \({\mathfrak {S}}\) be a partition of \(\left\{ 0, \dots , k\right\} ^d\). We call \({\mathfrak {S}}\) a vector association scheme if \({\mathcal {J}}(m, k)^{\mathfrak {S}}\) is a Cameron sandwich for all \(m\ge 2k\). Equivalently,

  1. (1)

    \(a^{\textrm{Sym}(d)} = (a')^{\textrm{Sym}(d)}\) for all \(a, a' \in \alpha \in {\mathfrak {S}}\),

  2. (2)

    \(p^a_{\beta \gamma } = p^{a'}_{\beta \gamma }\) for all \(\alpha , \beta , \gamma \in {\mathfrak {S}}\) and \(a, a' \in \alpha \).

Remark 4.5

Vector association schemes with \(k=1\) are equivalent to set association schemes. This follows from Lemma 2.3(2).

We can and will denote the common value of \(p^a_{\beta \gamma }\) for \(a \in \alpha \) by \(p^\alpha _{\beta \gamma }\). The polynomials \(p^\alpha _{\beta \gamma }\) are the structure polynomials of \({\mathfrak {S}}\).

As for coherent configurations and set association schemes, the prototypical vector assocation schemes are the orbital schemes \({\mathfrak {S}}_k(G)\) for \(G \le \textrm{Sym}(d)\). Among these we have the discrete scheme \({\mathfrak {S}}_k(1)\) and the trivial scheme \({\mathfrak {S}}_k(\textrm{Sym}(d))\).

Lemma 4.6

For all \(k, d \ge 1\) there is some \(m_0 = m_0(k, d)\) such that if \({\mathfrak {X}}= {\mathcal {J}}(m, k)^{\mathfrak {S}}\) is a Cameron sandwich for some \(m \ge m_0\) then \({\mathfrak {S}}\) is a vector association scheme.


If \({\mathfrak {S}}\) is not a vector assocation scheme then there are some \(\alpha , \beta , \gamma \in {\mathfrak {S}}\) and \(a, a' \in \alpha \) such that \(p^a_{\beta \gamma } - p^{a'}_{\beta \gamma }\) is not the zero polynomial. Therefore there is some \(m_1 = m_1({\mathfrak {S}})\) such that \(p^a_{\beta \gamma }(m) - p^{a'}_{\beta \gamma }(m) \ne 0\) for all \(m \ge m_1\). Let \(m_0\) be the maximum of \(m_1({\mathfrak {S}})\) over all choices of \({\mathfrak {S}}\).

Lemma 4.7

Let \({\mathfrak {S}}\) be a vector association scheme on \(\left\{ 0, \dots , k\right\} ^d\).

  1. (1)

    \(\alpha \in {\mathfrak {S}}\implies \alpha ^c \in {\mathfrak {S}}\), where \(\alpha ^c = \left\{ (k)^d - a: a \in \alpha \right\} \),

  2. (2)

    For any \(\alpha , \beta \in {\mathfrak {S}}\), the domination graph \(\left\{ (a, b) \in \alpha \times \beta : a \le b\right\} \) is biregular, where \(a \le b\) means \(a_i \le b_i\) for all i.

  3. (3)

    If \({\mathfrak {S}}\) is homogeneous and \(\beta \in {\mathfrak {S}}\) then \(\sum \beta = (x)^d\) for some \(x \ge 0\).


Let \(\omega = \left\{ (k)^d\right\} \). By condition (1) of Definition 4.4, \(\omega \in {\mathfrak {S}}\).

  1. (1)

    Let \(a \in \alpha \in {\mathfrak {S}}\) and let \(\beta \) be the cell of \({\mathfrak {S}}\) containing \(b = (k)^d - a\). Since \(a, b, (k)^d\) form a triangle, \(p^a_{\beta \omega } \ne 0\). Hence for any \(a' \in \alpha \), \(p^{a'}_{\beta \omega } \ne 0\), so there is some \(b' \in \beta \) such that \(a', b', (k)^d\) forms a triangle. This is only possible if \(b' = (a')^c\). Hence \(\alpha ^c \subseteq \beta \), and likewsie \(\beta ^c \subseteq \alpha \), so \(\beta = \alpha ^c\).

  2. (2)

    Let \((a_0, b_0) \in \alpha \times \beta \) be such that \(a_0 \le b_0\). Let \(c_0 = b_0 - a_0\) and let \(\gamma \) be the cell of \({\mathfrak {S}}\) containing \(c_0\). Since \(a_0 + c_0 = b_0\), the only \((a, b, c) \in a_0^{\textrm{Sym}(d)} \times b_0^{\textrm{Sym}(d)} \times c_0^{\textrm{Sym}(d)}\) such that (abc) forms a triangle are those for which \(a + c = b\). In this case, from (4.2), the leading term of the polynomial \(p^a_{bc}\) is

    $$\begin{aligned} \lambda (p^a_{bc}) = \prod _{i=1}^d \frac{(k-a_i)!}{(k-b_i)! c_i!^2} m^{c_i}. \end{aligned}$$

    By Definition 4.4(1), this monomial depends only on \(\alpha , \beta , \gamma \). Hence if \((a, b, c) \in \alpha \times \beta \times \gamma \) is a triangle then \(\lambda (p^a_{bc}) = \lambda (p^{a_0}_{b_0c_0})\). Therefore, for \(a \in \alpha \),

    $$\begin{aligned} \lambda (p^a_{\beta \gamma }) = N^a_{\beta \gamma } \lambda (p^{a_0}_{b_0c_0}), \end{aligned}$$

    where \(N^a_{\beta \gamma }\) is the number of \((b, c) \in \beta \times \gamma \) such that \(a + c = b\). Hence \(N^a_{\beta \gamma } = N^{a'}_{\beta \gamma }\) for all \(a, a' \in \alpha \). Since \(N^a_{\beta \gamma } = \#\left\{ b \in \beta : b - a \in \gamma \right\} \), summing over all possibilities for \(\gamma \in {\mathfrak {S}}\) (containing some \(b_0 - a_0\) for \((a_0, b_0) \in \alpha \times \beta \)) gives \(\#\left\{ b \in \beta : a \le b\right\} \). Hence this number is independent of \(a \in \alpha \), and by applying (1) we also obtain that \(\#\left\{ a \in \alpha : a \le b\right\} \) is independent of \(b \in \beta \), so we have biregularity.

  3. (3)

    Let \(\alpha _t = (0, \dots , 0, t)^{\textrm{Sym}(d)}\) for \(1 \le t \le k\). Since \({\mathfrak {S}}\) is homogeneous, \(\alpha _1 \in {\mathfrak {S}}\), so \(\alpha _t \in {\mathfrak {S}}\) for each t by (2). Now

    $$\begin{aligned} {\left( {\sum \beta }\right) }_i = \sum _{b \in \beta } b_i = \sum _{t=1}^k \#\left\{ b \in \beta : t \le b_i\right\} . \end{aligned}$$

    Hence (3) follows from another application of (2). \(\square \)

Lemma 4.8

Let \({\mathfrak {S}}\) be a homogeneous vector association scheme on \(\left\{ 0, \dots , k\right\} ^d\) with \(d \le 2\). Then \({\mathfrak {S}}\) is trivial.


If \(d = 1\) the lemma is trivial by condition (1) of Definition 4.4, so assume \(d = 2\). Let \((x, y) \in \alpha \in {\mathfrak {S}}\). Then \(\alpha \subseteq \left\{ (x, y), (y, x)\right\} \). If \(x \ne y\), Lemma 4.7(3) implies \(\alpha = \left\{ (x, y), (y, x)\right\} = (x, y)^{\textrm{Sym}(2)}\). Hence \({\mathfrak {S}}\) is trivial. \(\square \)

Proposition 4.9

Let \({\mathfrak {S}}\) be a homogeneous vector association scheme on \(\left\{ 0, \dots , k\right\} ^d\) with \(kd < 8\). Then \({\mathfrak {S}}\) is schurian.


If \(k = 1\) then this follows from Remark 4.5 and Proposition 3.1. If \(d \le 2\) then this follows from the previous lemma. This leaves the case \((k, d) = (2, 3)\), which is shown in Fig. 3.

Fig. 3
figure 3

Part of a vector association scheme on \(\left\{ 0, 1, 2\right\} ^3\)

Let \(S = \textrm{Sym}(3)\). For each orbit of S on \(\left\{ 0, 1, 2\right\} ^3\), check whether there is a proper nonempty subset \(\beta \) such that \(\sum \beta = (x,x,x)\) for some x. If not, the full orbit must be a cell of \({\mathfrak {S}}\) by Lemma 4.7(3). That leaves only the orbit \((0, 1, 2)^S\) to consider. Let \(\beta \subseteq (0,1,2)^S\) be a cell of \({\mathfrak {S}}\), and without loss of generality suppose \((0,1,2) \in \beta \). If \(|\beta | = 6\) then \({\mathfrak {S}}\) is trivial. If \(|\beta | = 2\) then \(\beta = \left\{ (0,1,2),(2,1,0)\right\} \), but then Lemma 4.7(2) with \(\alpha = (0,0,2)^S\) gives a contradiction. The last possibility is that the restriction \({\mathfrak {S}}| (0,1,2)^S\) is the partition

$$\begin{aligned} \left\{ \left\{ (0,1,2), (2,0,1), (1,2,0)\right\} , \left\{ (1,0,2), (2,1,0), (0,2,1)\right\} \right\} , \end{aligned}$$

and in this case \({\mathfrak {S}}={\mathfrak {S}}_2(\textrm{Alt}(3))\). \(\square \)

Now we can prove Proposition 1.8, restated here.

Proposition 4.10

Assume Conjecture 1.7. Let \({\mathfrak {X}}\) be a nonschurian PCC. Then

$$\begin{aligned} |\textrm{Aut}({\mathfrak {X}})| \le \exp O(n^{1/8} \log n). \end{aligned}$$


If \(|\textrm{Aut}({\mathfrak {X}})| \ge \exp (n^{1/8})\) and n is sufficiently large (which we may assume) then Conjecture 1.7 implies \({\mathcal {J}}(m, k)^d \le {\mathfrak {X}}\le {\mathcal {C}}(m, k, d)\) for some mkd with \(m \ge 2k > 0\). Then

$$\begin{aligned} |\textrm{Aut}({\mathfrak {X}})| \le |\textrm{Aut}({\mathcal {C}}(m, k, d))| = m!^d d! \le \exp O(dm \log m + d \log d). \end{aligned}$$

Since \(n = \left( {\begin{array}{c}m\\ k\end{array}}\right) ^d \ge (m/k)^{kd}\) and \(k, d \le \log _2 n\), we deduce

$$\begin{aligned} n^{1/8} \le \log |\textrm{Aut}({\mathfrak {X}})| \le O(n^{1/kd} (\log n)^3). \end{aligned}$$

Since we may assume that n is large, it follows that \(kd \le 8\). Hence m is large and Lemmas 4.3 and 4.6 imply \({\mathfrak {X}}= {\mathcal {J}}(m, k)^{\mathfrak {S}}\) for some nonschurian homogeneous vector association scheme \({\mathfrak {S}}\). By the previous proposition we must have \(kd = 8\) so we get the claimed bound on \(|\textrm{Aut}({\mathfrak {X}})|\) from (4.3). \(\square \)

To end, we prove Proposition 1.9, restated here.

Proposition 4.11

Assume Conjecture 1.7. Let \({\mathfrak {X}}\) be a nonschurian PCC of rank less than 12. Then

$$\begin{aligned} |\textrm{Aut}({\mathfrak {X}})| \le \exp O((\log n)^{O(1)}). \end{aligned}$$


By Conjecture 1.7 we may assume \({\mathcal {J}}(m,k)^d \le {\mathfrak {X}}\le {\mathcal {C}}(m,k,d)\) for some mkd with \(m \ge 2k > 0\). In particular \(\textrm{rank}({\mathfrak {X}}) \ge \textrm{rank}({\mathcal {C}}(m,k,d)) = \left( {\begin{array}{c}k+d\\ k\end{array}}\right) \). Since \(\textrm{rank}({\mathfrak {X}})\) is bounded it follows that k and d are bounded, so m is large (since we may assume n is large), and hence Lemmas 4.3 and 4.6 imply \({\mathfrak {X}}= {\mathcal {J}}(m,k)^{\mathfrak {S}}\) for some nonschurian homogeneous vector association scheme \({\mathfrak {S}}\) on \(\left\{ 0,\dots ,k\right\} ^d\). By Lemma 4.8, \(d \ge 3\). Since \(\left( {\begin{array}{c}k+d\\ k\end{array}}\right) < 12\), either \((k, d) = (2, 3)\) or \(k = 1\). The case \((k,d) = (2,3)\) is impossible by Proposition 4.9, so \(k = 1\) and \({\mathfrak {S}}\) can be identified with a set association scheme of degree d. For \(d \le 8\) we have Proposition 3.1, while any nontrivial set association scheme of degree at least 9 has rank at least 12. \(\square \)