In this section, we deploy the support theorem to show that P-uniform families of polynomial-size symmetric circuits can be translated into formulas of fixed-point logic. As a first step, we argue in Section
4.1 that we can restrict our attention to rigid circuits, by showing that every symmetric circuit can be converted, in polynomial time, into an equivalent rigid symmetric circuit. In Section
4.2 we show that there are polynomial-time algorithms that will determine whether a circuit is symmetric and, if so, compute for every gate its coarsest supporting partition and therefore its canonical support. In Section
4.3 we give an inductive construction of a relation that associates to each gate
g of
C a set of tuples that when assigned to the support of
g result in
g being evaluated to true. This construction is turned into a definition in fixed-point logic in Section
4.4.
4.1 Rigid Circuits
We first argue that rigid circuits uniquely induce automorphisms.
To see that any symmetric circuit can be transformed in polynomial time into an equivalent rigid symmetric circuit, observe that we can proceed inductively from the input gates, identifying gates whenever they have the same label and the same set of children. This allows us to establish the following lemma.
Proof
Partition the internal gates of G into equivalence classes where gates in the same class share the same operation, and have the same output markings and children. If C is rigid every class has size one, otherwise there is at least one class containing two gates.
Let E be a minimum height equivalence class containing at least two gates (here, the height of a gate is the length of a longest path from it to an input). Order the gates in E: g
1,g
2,…,g
|E|. For each gate f∈G∖E, let c
f
denote the number of wires from E to f, and note that c
f
≤|E|. For all gates in E remove all outgoing wires. For all gates E∖{g
1}: (i) remove all input wires, and (ii) set their operation to AND. For each i, 1≤i≤|E|−1, add a wire from g
i
to g
i+1. For each f∈G∖E and i∈[|E|], add a wire from g
i
to f if c
f
≥i. This completes the transformation of the gates in E.
We now argue that this does not affect the result computed at any gate g. First observe that no output gates appear in E, because Ω is injective and hence each output gate must be the sole member of its equivalence class. All gates in E originally had identical sets of children and labels and hence they must have evaluated to the same value. The modifications made do not change this property as g
1 computes the value it originally would have, then passes this value to the other gates in E, along a chain of single input AND gates. The modifications to the outgoing wires of E insure that each gate that originally took input from E has the same number of inputs from E (each with the same value) in the modified circuit. Taken together this means that the result computed at any gate in the modified circuit is the same as that computed at that gate in C.
We next argue that the local modification of E makes strict progress towards producing a rigid circuit \(C^{\prime }\). The local modification of E can only change equivalence classes above E because the changes to the output wires of E are the only thing that can possibly affect other equivalence classes. After the modification all gates in E must be in singleton equivalence classes because each gate in E is designed to have a unique set of children.
Applying the above local modification simultaneously to all topologically minimal non-singleton equivalence classes of C, until none remain, produces a rigid circuit \(C^{\prime }\) that computes the same query as C, because, as we have just argued, equivalence classes cannot grow as a result of this local modification. Moreover, this must happen after at most |C| many local modifications, because the number of equivalence classes is at most |C|.
We now show that this transformation preserves symmetry. Suppose C is symmetric. Fix any permutation σ∈Sym
n
. Let π be an automorphism induced by σ on C. Observe that any induced automorphism on C must map equivalence classes to equivalence classes because labels and children are preserved. It is easy to translate π into an induced automorphism of \(C^{\prime }\). Let E and \(E^{\prime }\) be two topologically-minimal equivalence classes such that \(\pi E = E^{\prime }\) where g
1,…,g
|E| and \(g_{1}^{\prime },\ldots ,g_{|E^{\prime }|}^{\prime }\) are the ordering of the gates in E and \(E^{\prime }\) in \(C^{\prime }\), respectively. It can be argued by induction that mapping g
i
to \(g_{i}^{\prime }\) for all \(1 \le i \le |E|=|E^{\prime }|\) preserves all labels and wires and hence is an induced automorphism of σ in \(C^{\prime }\). Since σ is arbitrary, we conclude that the resulting circuit is symmetric.
The construction of equivalence classes and, indeed, the overall construction of \(C^{\prime }\) can be easily implemented in time polynomial in |C| when given the circuit in a reasonable binary encoding. Finally, as gates are only being rewired and relabeled, \(G = G^{\prime }\).
4.2 Computing Supports
By Lemma 7, we know that there is a polynomial-time algorithm that converts a circuit into an equivalent rigid circuit while preserving symmetry. In this subsection we show how to, in polynomial time, check whether the resulting circuit is symmetric, and if it is, compute the support of each gate. To this end we first describe an algorithm for determining induced automorphisms of a rigid circuit.
Using the preceding lemma we can determine whether a given rigid circuit is symmetric by computing the set of automorphisms induced by transpositions of the universe. If an induced automorphism fails to exist the circuit cannot be symmetric. Otherwise, it must be symmetric because such transpositions generate the symmetric group. If the circuit is symmetric, the coarsest supporting partitions and orbits of each gate can be determined by examining the transitive closure of the action of the automorphisms induced by transpositions on the universe and the gates, respectively.
4.3 Succinctly Evaluating Symmetric Circuits
Let \({\mathcal {C}} = (C_{n})_{n \in {\mathbb {N}}}\) be a family of polynomial-size rigid symmetric circuits computing a q-ary query. Let n
0 be a constant sufficient to apply the Support Theorem to C
n
for n≥n
0 and fix such an n. By Theorem 4, there is a constant bound k so that for each gate g in C
n
the union of all but the largest part of the coarsest partition supporting g, S
P(g), has at most k elements. Moreover, this union is a support of g in the sense of Definition 7. We call it the canonical support of g and denote it by sp(g).
Consider a structure \({\mathcal {A}}\) with universe U of size n. In this subsection we show that how a gate g evaluates in C
n
with respect to \({\mathcal {A}}\) depends only on the injective partial mapping of U to the elements in the canonical support of g (and not a complete bijection \(\gamma : U \rightarrow [n]\)). This allows us to succinctly encode the bijections which make a gate true (first as injective partial functions and then as tuples). This ultimately lets us build a fixed-point formula for evaluating C
n
—indeed, all symmetric circuits—in the next subsection.
For any set \(X \subseteq [n]\), let \({U}^{\underline {X}}\) denote the set of injective functions from X to U. For \(X, Y \subseteq [n]\) and \(\alpha \in {U}^{\underline {X}}, \beta \in {U}^{\underline {Y}}\), we say α and β are consistent, denoted α∼β, if for all \(z \in X \cap Y, \alpha (z) = \beta (z)\), and for all x∈X∖Y and y∈Y∖X, α(x)≠β(y). Recall that any bijection \(\gamma : U \rightarrow [n]\) determines an evaluation of the circuit C
n
on the input structure \({\mathcal {A}}\) which assigns to each gate g the Boolean value \(C_{n}[\gamma {\mathcal {A}}](g)\). (Note that \(\gamma ^{-1} \in {U}^{\underline {[n]}}\).) Let g be a gate and let \(\Gamma (g) := {\{{\gamma }\;|\;{C_{n}[\gamma {\mathcal {A}}](g) = 1}\}}\) denote the set of those bijections which make g evaluate to 1. The following lemma proves that the membership of γ in Γ(g) (moreover, the number of 1s input to g) depends only on what γ maps sp(g) to.
We associate with each gate g a set of injective functions \(\text {EV}_{g} \subseteq {U}^{\underline {{\text {sp}(g)}}}\) defined by \(\text {EV}_{g} := {\{{\alpha \in {U}^{\underline {{\text {sp}(g)}}}}\;|\;{\exists \gamma \in \Gamma (g) \wedge \alpha \sim \gamma ^{-1}}\}}\) and note that, using Lemma 10, this completely determines Γ(g). We can use the following lemma to recursively construct EV
g
for all gates in C.
Note that implicit in the lemma is that the r.h.s. side of (
9) is integral.
Since [n] is linearly ordered, \(X \subseteq [n]\) inherits this order and we write X for the ordered |X|-tuple consisting of the elements of X in the inherited order. For \(\alpha \in {U}^{\underline {\mathbf {X}}}\) we write \({\alpha } \in {U}^{\underline {\mathbf {X}}}\) to indicate the |X|-tuple resulting from applying α to each component of X in order. Observe that this transformation is invertible. This allows us to succinctly encode such injective functions as tuples over U and, further, to write relational analogs of the sets of injective functions we considered before, e.g., E
V
g
:={α | α∈EV
g
}, and A
h
={α | α∈A
h
}. Using Lemma 11 it is easy to recursively define E
V
g
over C
n
.
-
Let g be a constant input gate, then sp(g) is empty. If Σ(g)=0, then Γ(g)=∅ and E
V
g
=∅. Otherwise Σ(g)=1, then Γ(g) is all bijections and E
V
g
={〈〉}, i.e., the set containing the empty tuple.
-
Let
g be a relational gate with Σ(
g)=
R∈
τ, then sp(
g) is the set of elements in the tuple Λ
R
(
g). By definition we have
$${\mathbf{EV}}_{g} = {\{{{\alpha} \in {U}^{\underline{{{\mathbf{sp}}(g)}}}\;|\;{\alpha (\Lambda_{R}(g)) \in R^{{\mathcal{A}}}}\}}}. $$
-
Let Σ(g)=AND and consider \({\alpha } \in {U}^{\underline {{{\mathbf {sp}}(g)}}}\). By Lemma 11, α∈E
V
g
iff \({\mathbf {A}_{h}} \subseteq {\mathbf {EV}}_{h}\) for every child h of g, i.e., for every child h and every
\(\beta \in {U}^{\underline {{\text {sp}(h)}}}\) with α∼β, we have β∈E
V
h
.
-
Let Σ(g)=OR and consider \({\alpha } \in {U}^{\underline {{{\mathbf {sp}}(g)}}}\). By Lemma 11, α∈E
V
g
iff there is a child h of g where \({\mathbf {A}_{h}} \cap {\mathbf {EV}}_{h}\) is non-empty, i.e., for some child h of g and some
\(\beta \in {U}^{\underline {{\mathbf {sp}(h)}}}\) with α∼β, we have β∈E
V
h
.
-
Let Σ(g)=NAND and consider \({\alpha } \in {U}^{\underline {{{\text {sp}}(g)}}}\). By Lemma 11, α∈E
V
g
iff there is a child h of g where \({\mathbf {A}_{h}} \not \subseteq {\mathbf {EV}}_{h}\), i.e., for some child h and some
\(\beta \in {U}^{\underline {{\mathbf {sp}(h)}}}\) with α∼β, we have β∉E
V
h
.
-
Let Σ(
g)=MAJ and consider
\({\alpha } \in {U}^{\underline {{{\mathbf {sp}}(g)}}}\). Let
H be the set of children of
g. Then Lemma 11 implies that
α∈
E
V
g
if, and only if,
$$ \hfill \sum\limits_{h \in H} \frac{| \mathbf{A}_{h} \cap {\mathbf{EV}}_{h}|}{|\mathbf{A}_{h}|} \ge \frac{|H|}{2}. \hfill $$
(11)
From EV we can recover the
q-ary query
Q computed by
C
n
=〈
G,
W,Ω,Σ,Λ〉 on the input structure
\({\mathcal {A}}\) because the support of an output gate
g∈
G is exactly the set of elements in the marking of
g by Λ
Ω. In particular:
$$Q = {\{{\bar a \in U^{q}}\;|\;{\exists g \in G, \alpha \in {\mathbf{EV}}_{g}\text{ such that} \Lambda_{\Omega}(\alpha^{-1}(\bar a)) = g}\}}. $$
For Boolean properties q=0, and Q={〈〉} indicates that \({\mathcal {A}}\) has the property and Q=∅ indicates that it does not.
Let \({\mathcal {C}} = (C_{n})_{n \in {\mathbb {N}}}\) be a P-uniform family of polynomial-size symmetric \((\mathbb {B},\tau )\) circuits, where \(\mathbb {B}\) is either \(\mathbb {B}_{\text {std}}\) or \(\mathbb {B}_{\text {maj}}\). Our aim is to show that there is a formula Q of FP, or FPC in the case of \(\mathbb {B}_{\text {maj}}\), in the vocabulary τ⊎{≤} such that for any n and τ-structure \({\mathcal {A}}\) over a universe U with |U|=n, the q-ary query defined by C
n
on input \({\mathcal {A}}\) is defined by the formula Q when interpreted in the structure \({\mathcal {A}}^{\le } := {\mathcal {A}} \uplus {\langle {[n],\le }\rangle }\).
Since
\({\mathcal {C}}\) is P-uniform, by the Immerman-Vardi theorem and Lemma 7, we have an FP interpretation defining a rigid symmetric circuit equivalent to
C
n
—that we also call
C
n
—over the number sort of
\({\mathcal {A}}^{\le }\), i.e., a sequence
\(\Phi := (\phi _{G}, \phi _{W}, \phi _{\Omega },(\phi _{s})_{s \in \mathbb {B} \uplus \tau \uplus {\{{0,1}\}}}, (\phi _{\Lambda _{R}})_{R\in \tau })\) of formulas of FP(≤) that define the circuit when interpreted in 〈[
n],≤〉. Note that
C
n
is defined over the universe [
n]. Let
t be the arity of the interpretation, i.e.,
ϕ
G
defines a
t-ary relation
\(G \subseteq [n]^{t}\). If
n is less than
n
0, the length threshold for applying the support theorem,
C
n
can trivially be evaluated by a FP formula which quantifies over all (constantly-many) bijections from the point sort of
\({\mathcal {A}}^{\le }\) to the number sort of
\({\mathcal {A}}^{\le }\) and then directly evaluates the circuit with respect to the bijection. Thus we only need to consider the case when
n≥
n
0, and are able to use the recursive construction of
\(\vec {\text {EV}}_{}\) from the Section
4.3 along with a constant bound
k on the size of the gate supports in
C
n
.
A small technical difficulty arises from the fact that we want to define the relation
\(\vec {\text {EV}}_{g}\) inductively, but these are actually relations of varying arities, depending on the size of sp(
g). For the sake of a uniform definition, we extend
\(\vec {\text {EV}}_{g}\) to a
k-ary relation for all
g by padding it with all possible values to obtain tuples of length
k. If |sp(
g)|=
ℓ≤
k, define
$$\overline{\text{EV}}_{g} = {\{{(a_{1}\cdots a_{k})}\;|\;{(a_{1}\cdots a_{\ell}) \in {\mathbf{EV}}_{g} \text{ and} a_{i} \neq a_{j} \text{ for} i \neq j}\}}. $$
Define the relation \(V \subseteq [n]^{t} \times U^{k}\) by \(V(g,\bar a)\) if, and only if, \(\bar a \in \overline {\text {EV}}_{g}\). Our aim is to show that the relation V is definable by a formula of FP. Throughout this subsection we use μ and ν to indicate t-tuples of number variables which denote gate indexes in [n]
t
, and use the k-tuples of point variables \(\bar x = (x_{1},\ldots ,x_{k})\) and \(\bar y = (y_{1},\ldots , y_{k})\) to denote injective functions that have been turned into tuples and then padded.
By Lemma 9 and invoking the Immerman-Vardi theorem again, we have a formula SUPP such that 〈[
n],≤〉⊧SUPP[
g,
u] if, and only if, 〈[
n],≤〉⊧
ϕ
G
[
g] (i.e.,
g is a gate of
C
n
as defined by the interpretation Φ) and
u is in sp(
g). We use SUPP to define some additional auxiliary formulas. First we define, for each
i with 1≤
i≤
k a formula SUPP
i
such that 〈[
n],≤〉⊧SUPP
i
[
g,
u] if, and only if,
u is the
i
t
h
element of sp(
g). These formulas can be defined inductively as follows, where
η is a number variable
$$\begin{array}{rcl} \textsc{supp}_{1}(\mu,\eta) & := & \textsc{supp}(\mu,\eta) \land \forall \chi (\chi < \eta) \implies \neg\textsc{supp}(\mu,\chi) \\ \textsc{supp}_{i+1}(\mu,\eta) & := & \textsc{supp}(\mu,\eta) \land \exists \chi_{1} (\chi_{1} < \eta \land \textsc{supp}_{i}(\mu,\chi_{1}) \\ & & \land \forall \chi_{2} [(\chi_{1} < \chi_{2} < \eta) \implies \neg\textsc{supp}(\mu,\chi_{2})]) . \end{array} $$
We now define a formula
\(\textsc {agree}(\mu ,\nu ,\bar {x},\bar {y})\) so that for a structure
\({\mathcal {A}}\),
\({\mathcal {A}}^{\leq } \models \textsc {agree}[g,h,\bar {a},\bar {b}]\) if, and only if,
α∼
β for
\(\vec \alpha \in {U}^{\underline {{{\text {sp}}(g)}}}\),
\(\vec \beta \in {U}^{\underline {{{\text {sp}}(h)}}}\) that are the restrictions of the
k-tuples
\(\bar {a}\) and
\(\bar {b}\) to the length of sp(
g) and sp(
h) respectively.
$$\begin{array}{lr} \textsc{agree}(\mu,\nu,\bar{x},\bar{y}) := & \end{array} $$
$$\begin{array}{ll} \displaystyle \bigwedge_{1\leq i,j, \leq k} & (\forall \eta (\textsc{supp}_{i}(\mu,\eta) \land \textsc{supp}_{j}(\nu,\eta)) \implies x_{i} = y_{j}) \land \\ & (\forall \eta_{1} \eta_{2} (\textsc{supp}_{i}(\mu,\eta_{1}) \land \textsc{supp}_{j}(\nu,\eta_{2}) \land x_{i} = y_{j}) \implies \eta_{1} = \eta_{2}) \end{array} $$
With these, we now define a series of formulas
\((\theta _{s})_{s \in \mathbb {B} \uplus \tau \uplus {\{{0,1}\}}}(\mu ,x)\) corresponding to the various cases of the construction of the relation
E
V
g
from Section
4.3. In these,
V is a relational variable for the relation being inductively defined.
$$\begin{array}{rcll} \theta_{0}(\mu,\bar{x}) & := & \text{false} \\ \theta_{1}(\mu,\bar{x}) & := & \displaystyle \bigwedge_{1\leq i<j \leq k} x_{i} \neq x_{j} \\ \theta_{R}(\mu,\bar{x}) & := & \displaystyle \bigwedge_{1\leq i<j \leq k} x_{i} \neq x_{j} \land \exists z_{1}\cdots z_{r} \exists \eta_{1}\cdots \eta_{r} R(z_{1},\ldots,z_{r}) \land \phi_{\Lambda_{R}}(\mu,\eta) \land \\ & & \hspace{23ex} \displaystyle \bigwedge_{1\leq i \leq r} \bigwedge_{1\leq j \leq k} (\textsc{supp}_{j}(\mu,\eta_{i}) \implies z_{i} = x_{j}) \\ \theta_{\text{OR}}(\mu,\bar{x}) & := & \displaystyle \bigwedge_{1\leq i<j \leq k} x_{i} \neq x_{j} \land \exists \nu \exists \bar{y} (W(\nu,\mu) \land \textsc{agree}(\mu,\nu,\bar{x},\bar{y}) \land V(\nu,\bar{y})) \\ \theta_{\text{AND}}(\mu,\bar{x}) & := & \displaystyle \bigwedge_{1\leq i<j \leq k} x_{i} \neq x_{j} \land \forall \nu \forall \bar{y} ((W(\nu,\mu) \land \textsc{agree}(\mu,\nu,\bar{x},\bar{y})) \implies V(\nu,\bar{y})) \\ \theta_{\text{NAND}}(\mu,\bar{x}) & := & \displaystyle \bigwedge_{1\leq i<j \leq k} x_{i} \neq x_{j} \land \exists \nu \exists \bar{y} (W(\nu,\mu) \land \textsc{agree}(\mu,\nu,\bar{x},\bar{y}) \land \neg V(\nu,\bar{y})) \end{array} $$
To define
𝜃
MAJ we start with some observations. We wish to formalise (
11), but there are a few complications. The k-
a
r
y relation
\(\overline {\text {EV}}_{h}\) we are defining inductively is the result of padding
E
V
h
with all tuples of
k−|sp(
h)| distinct elements. Thus the number of elements in
\(\overline {\text {EV}}_{h}\) is
\(|{\mathbf {EV}}_{h}|\cdot \frac {(n-|{\text {sp}(h)}|)!}{(n-k)!}\). Similarly, for any fixed
g,
h and
\(\bar a\), if we write
\(\bar {A}_{h}\) for the set of tuples
\(\bar b\) satisfying
\(\textsc {agree}(g,h,\bar a,\bar b)\), then
\(|\bar {A}_{h}| = |\mathbf {A}_{h}|\cdot \frac {(n-|{\text {sp}(h)}|)!}{(n-k)!}\). Finally, the tuples in
\(\bar {A}_{h} \cap \overline {\text {EV}}_{h}\) are exactly those obtained by padding tuples in
\(\mathbf {A}_{h} \cap {\mathbf {EV}}_{h}\) to length
k and there are therefore
\(|\mathbf {A}_{h} \cap {\mathbf {EV}}_{h}|\cdot \frac {(n-|{\text {sp}(h)}|)!}{(n-k)!}\) many of these. Thus,
\(\frac {|\vec A_{h} \cap \vec {\text {EV}}_{h}|}{|\vec A_{h}|} = \frac {| \bar {A}_{h} \cap \overline {\text {EV}}_{h}|}{|\bar {A}_{h}|}\) and it suffices to compute the latter. Observe that
\(|\vec A_{h}|\) and
\(|\bar {A}_{h}|\) are completely determined by |sp(
g)|, |sp(
h)| and
\(|{\text {sp}(g)} \cap {\text {sp}(h)}|\). We avoid dealing explicitly with fractions by noting that for any gate
h, the sum
\(\sum _{h^{\prime } \in \text {Orb}(h)} \frac {| \vec {A}_{h^{\prime }} \cap \vec {\text {EV}}_{h^{\prime }} |}{|\vec {A}_{h^{\prime }}|}\) is an integer (by an argument analogous to Lemma 11). Since
\(|\bar {A}_{h^{\prime }}|\) is the same for all
\(h^{\prime } \in \text {Orb}(h)\), it suffices to compute the sum of
\(| \bar {A}_{h^{\prime }} \cap \overline {\text {EV}}_{h^{\prime }} |\) for all
\(h^{\prime }\) with a fixed size of
\(|\bar {A}_{h}|\) and then divide the sum by
\(|\bar {A}_{h}|\). This is what we use to compute the sum on the l.h.s. of (
11).
For any fixed i and j with 0≤i≤j≤k, define the formula OVERLAP
i
j
(μ,ν) so that \({\mathcal {A}}^{\leq } \models \textsc {overlap}_{ij}[g,h]\) iff |sp(h)|=j and \(|{\text {sp}(g)}\cap {\text {sp}(h)}| = i\). This formula can be defined in FO.
Using k-tuples of number variables in FPC we can represent natural numbers less than n
k
. We assume, without giving a detailed construction of the formulas involved, that we can define arithmetic operations on these numbers. In particular, we assume we have for each i,j as above a formula ASIZE
i
j
(μ,ξ), with ξ a k-tuple of number variables, such that \({\mathcal {A}}^{\leq } \models \textsc {asize}_{ij}[g,e]\) iff \(e = |\bar {A}_{h}|\) for any gate h with |sp(h)|=j and \(|{\text {sp}(g)}\cap {\text {sp}(h)}| = i\).
Using this, we define the formula
\(\textsc {num}_{ij}(\mu ,\bar {x},\xi )\), with
ξ a
k-tuple of number variables, so that
\({\mathcal {A}}^{\leq } \models \textsc {num}_{ij}[g,\bar a,e]\) iff
e is the number of gates
h with
\({\mathcal {A}}^{\leq } \models \textsc {overlap}_{ij}[g,h]\) which are made true by some bijection that assigns the tuple
\(\bar a\) to sp(
g). This formula is given by
$$\begin{array}{lr} \textsc{num}_{ij}(\mu,\bar{x},\xi) := & \end{array} $$
$$\begin{array}{ll} \exists \xi_{1} \xi_{2} & \textsc{asize}_{ij}(\mu,\xi_{1}) \land \\ & \xi_{2} = \#_{\nu \bar y}(W(\nu,\mu) \land \textsc{overlap}_{ij}(\mu,\nu) \land V(\nu,\bar{y}) \land \textsc{agree}(\mu,\nu,\bar{x},\bar{y}) ) \land \\ & \xi \cdot \xi_{1} = \xi_{2}. \end{array} $$
Now we can define the required formula
𝜃
MAJ by
$$\theta_{\text{MAJ}}(\mu,\bar{x}) := $$
$$\displaystyle \bigwedge_{1\leq i<j \leq k} x_{i} \neq x_{j} \land \exists \xi (2\cdot \xi \geq \#_{\nu} W(\nu,\mu)) \land \xi = \sum\limits_{0\leq i \leq j \leq k} {\{{\xi^{\prime}}\;|\;{\textsc{num}_{ij}(\mu,\bar{x},\xi^{\prime})}\}}, $$
where the sum inside the formula is to be understood as shorthand for taking the sum over the bounded number of possible values of
i and
j.
Now, we can define the relation
\(V \subseteq [n]^{t} \times U^{k}\) given by
\(V(g,\bar a)\) if, and only if,
\(\bar a \in \overline {\text {EV}}_{g}\) by the following formula
$$\theta(\mu,\bar x) := [{\text{ifp}}_{V,\nu \bar y} \displaystyle \bigvee_{s \in \mathbb{B} \uplus \tau \uplus {\{{0,1}\}}} (\phi_{s}(\mu) \land \theta_{s}(\nu,\bar y))](\mu,\bar x). $$
The overall
q-ary output query computed by the circuit is given by the following formula derived from the final construction in the last subsection
$$Q(z_{1},\ldots,z_{q}) := $$
$$\begin{array}{l} \exists \mu\bar x \nu_{1} \cdots \nu_{q} \eta_{1} \cdots \eta_{k} [ \theta(\mu, \bar x) \wedge \phi_{\Omega}(\nu_{1},\ldots,\nu_{q}, \mu) \wedge \\ \hspace{22ex} \bigwedge_{1 \le i \le k} (\textsc{supp}_{i}(\mu,\eta_{i}) \vee \forall \eta [\neg \textsc{supp}_{i}(\mu,\eta)]) \wedge \\ \hspace{22ex} \bigwedge_{1 \le i \le k} \bigwedge_{1 \le j \le q} ([\textsc{supp}_{i}(\mu,\eta_{i}) \wedge x_{i} = z_{j}] \!\implies\! \nu_{j} \!= \eta_{i}) \wedge \\ \hspace{22ex}\bigwedge_{1 \le j \le q} \bigvee_{1 \le i \le k} (x_{i} = z_{j} \wedge \textsc{supp}_{i}(\mu,\eta_{i}))] \end{array} $$
where the purpose of the last three lines is to invert the injective function encoded in
\(\bar {x}\) and then apply it to
z
i
to produce
ν
i
; in particular: the second line puts the ordered support of
μ into
η
1,…,
η
k
, the third line defines the map from
z
i
to
ν
i
, and the fourth line ensures that this map covered all coordinates of
z
i
.
Note that this is a formula of FP+≤ if \(\mathbb {B}\) is the standard basis and a formula of FPC if \(\mathbb {B}\) is the majority basis. Moreover, if the family \({\mathcal {C}} = (C_{n})_{n \in {\mathbb {N}}}\) of polynomial-size symmetric circuits is not uniform, but given by an advice function Υ, the construction gives us an equivalent formula of FP+Υ (for the standard basis) or FPC+Υ (for the majority basis). This may be formalised as follows.