The Hairy Ball Problem is PPAD-Complete

Paul W. Goldberg, Alexandros Hollender

Introduction

The Hairy Ball Theorem (HBT) is a well-known topological theorem stating that there is no non-vanishing continuous tangent vector field on an even-dimensional kk-sphere. It has various informal statements such as “you can’t comb a hairy ball flat without creating a cowlick”https://en.wikipedia.org/wiki/Hairy_ball_theorem, or “there is a point on the surface of the earth with zero horizontal wind velocity”. The HBT is superficially reminiscent of the Borsuk-Ulam Theorem, stating that given any continuous mapping from the 2-sphere to the plane, there are two antipodal points that map to the same value. (Informally, “there are two antipodal points on the surface of the earth where the temperature and pressure are the same”). As we shall see, the present paper highlights a fundamental difference between the two, in terms of the complexity class naturally associated with each of them.

The HBT was first proved in 1885 by Poincaré for the case k=2k=2. The theorem as stated for all even kk was proved in 1912 by Brouwer . Accordingly, this result is sometimes also called the Poincaré-Brouwer theorem. In fact, the result proved by Poincaré is stronger than stated above. It follows from it that for any (sufficiently well-behaved) 2-dimensional manifold with genus g1g\neq 1, any continuous tangent vector field must have a zero. In particular, this means that the HBT also holds for the torus of genus gg for g2g\geq 2, i.e. the 2-dimensional torus with gg holes. It is easy to see that it does not hold for the standard single-hole torus.

Over the years, various papers in the American Mathematical Monthly have presented alternative proofs of the Hairy Ball Theorem and variants, for example .

Topological existence results (such as the HBT, Borsuk-Ulam, and the Brouwer and Banach fixpoint theorems) have a very interesting relationship with complexity classes of search problems in which any instance has a guaranteed solution. Any such theorem has a corresponding computational challenge, of searching for such a solution, given a circuit that computes an appropriate function. The assumption that these complexity classes are distinct from each other (the ones of main interest here being PPAD and PPA, discussed below in more detail) provides a taxonomy of these theorems. Our results highlight a fundamental distinction between the HBT and Borsuk-Ulam, by showing that the corresponding search problem for the HBT is characterised by the complexity class PPAD, in contrast to Borsuk-Ulam, which is characterised by PPA . The complexity-theoretic analysis of topological search problems provides a well-defined sense in which the HBT is “Brouwer-like” rather than “Borsuk-Ulam-like”. It has previously been noted that the HBT may be used to prove Brouwer’s fixed point theorem , but not the other way around. Indeed, the existing proof of HBT using Sperner’s Lemma actually uses a generalisation of Sperner’s Lemma, which was not known to be equivalent to Brouwer’s fixed point theorem prior to our work.

The complexity class TFNP is the set of all total function computation problems in NP: functions where every input has an efficiently-checkable solution (in Section 2.2 we give a precise definition). Many problems in TFNP appear to be computationally difficult, notably Factoring, the problem of computing a prime factorisation of a given number, also Nash, the problem of computing a Nash equilibrium of a game. However, such problems are unlikely to be NP-hard, due to the 1991 result of Megiddo and Papadimitriou showing that TFNP problems cannot be NP-hard unless NP is equal to co-NP. This basic fact, that hard TFNP problems are in a very strong sense “NP-intermediate”, provides TFNP’s strong theoretical appeal. This has led to the classification of these problems in terms of certain syntactic subclasses of TFNP, whose problems are shown to be total due to some basic combinatorial principle. The best-known of these classes are PLS, PPP, PPAD, and PPA, identified by Papadimitriou in 1994 .

PPAD consists of problems whose totality is based on the principle that given a source in a directed graph whose vertices have in-degree and out-degree at most 1, there exists another degree-1 vertex. Its canonical problem End-of-Line consists of an exponentially-large graph of this kind, presented concisely via a circuit.

PPA differs from PPAD in that the graph need not be directed; being a more general principle, PPA is thus a superset of PPAD. Its canonical problem Leaf is similar, only the graph is undirected.

Subsequently, many TFNP problems of interest were shown PPAD-complete , while more recently others were shown PPA-complete . Despite their similar definitions, PPAD and PPA are usually conjectured to be different, and (along with other syntactic TFNP subclasses) are separated by oracles .

2 Our results and their significance

Given the long-standing interest in the Hairy Ball Theorem, it is natural to study the corresponding computational search problem. In this paper, we prove that computing an approximate zero of a Hairy Ball vector field is PPAD-complete. While many PPAD-completeness results already exist, a noteworthy novelty of our results is that we find that computing HBT solutions corresponds with multiple-source variants of the End-of-Line problem: given a large directed graph implicitly represented by a circuit, suppose you are shown several sources and told to find another degree-1 vertex. This is in contrast with previous PPAD-complete problems that naturally reduce to standard single-source End-of-Line.

In Section 8 we prove that these multiple-source End-of-Line variants are PPAD-complete (membership of PPAD being the tricky aspect). Our results make progress on the general question (studied in ) of whether there exist combinatorial principles indicating totality of search problems, that are fundamentally different from the known ones that give rise to complexity classes such as PPAD. In particular, in Section 8.2, we note that a proof of PPAD-completeness for the Imbalance problem by Beame et al. is incomplete and provide a full proof using our results.

The generalisation of Poincaré’s result to higher dimensions is called the Poincaré-Hopf theorem (see e.g. ). This theorem relates the number and types of zeros of a vector field on a manifold with its Euler characteristic, a topological invariant. In particular, if the Euler characteristic of a manifold is not , then any continuous tangent vector field on the surface must have a zero. The Euler characteristic of even-dimensional spheres is 22, while it is 2(1g)2(1-g) for 2-dimensional toruses of genus g2g\geq 2. For odd-dimensional spheres it is .

We believe that the reduction to multiple-source End-of-Line is not an artefact of our techniques, but instead intrinsically related to the Euler characteristic of the domain. Indeed, the reduction from the HBT problem on even-dimensional spheres to End-of-Line yields 22 sources (Section 4). On the other hand, if we consider the HBT problem on the 2-dimensional torus of genus g2g\geq 2, then we obtain 2(g1)2(g-1) sources (Section 7). The connection between HBT and directed graph problems has previously only appeared in a proof for the 2-dimensional sphere case .

Finally, we note that PPAD-hardness is obtained by constructing a HBT vector field from multiple copies of a discrete Brouwer fixpoint problem. The usage of multiple copies is a new conceptual feature, closely related to the multi-source aspect. Using the same high-level idea, we also provide a FIXP-hardness result for the problem of computing an exact solution (Section 5.2).

3 Other related work

Banach’s Fixed Point Theorem says that a contraction map has a unique fixpoint. Its corresponding computational problem Contraction, is to find a fixed point of a given contraction map. Some versions of Contraction have been shown complete for CLS, a subclassA very recent result shows that, in fact, CLS = PPAD \cap PLS. of PPAD . The search for Brouwer fixpoints (including discretised versions of Brouwer functions) is PPAD-complete for most variants of the problem , which is why we say the HBT is “Brouwer-like”. Finally — in contrast — the computational problem of searching for a Borsuk-Ulam solution is PPA-complete . Other topological existence results that have PPA-complete search problems include the Hobby-Rice theorem and the Ham Sandwich Theorem .

4 Future research directions

We have obtained a satisfying answer to the question of the computational complexity of the Hairy Ball Theorem, if we are looking for an approximate solution. For other solution concepts related to exact solutions, we have provided a FIXP-hardness result. This leaves open the question of whether the problem is FIXP-complete in this case. A first step in that direction would be to try to reduce Hairy Ball to Borsuk-Ulam, even though no such (fully constructive) mathematical proof seems to be known.

Our reduction from approximate Hairy Ball to approximate Brouwer cannot be used on the exact versions of these problems, because the step where we reduce from multi-source End-of-Line to standard End-of-Line corresponds to a discontinuous mapping between the corresponding topological structures. This raises the question of whether continuous mappings are an important subclass of reductions and motivates further study on this topic.

Our results on multiple-source variants of the End-of-Line problem open the way for two new research directions. First, they provide a new tool for showing membership of PPAD, which can be used to put further problems in this class. It seems very unlikely that the Hairy Ball Theorem should be the only “natural” application of these results. Furthermore, a second interesting research direction is investigating the complexity of End-of-Line with a super-polynomial number of known sources (implicitly given in the input).

Preliminaries

We work in the standard Turing machine model. All numbers appearing in computations are rational numbers where the numerator and denominator are integers represented in binary. For a rational number xx, size(x)\text{size}(x) denotes the size of the representation of xx, i.e. the sum of the representation length of its numerator and denominator in binary. For an arithmetic circuit FF, size(F)\text{size}(F) denotes the number of gates in the circuit added to the representation length of any rational constants used by the circuit.

2 Formal definition of TFNP

A computational search problem is given by a binary relation R{0,1}×{0,1}R\subseteq\{0,1\}^{*}\times\{0,1\}^{*}, interpreted as follows: y{0,1}y\in\{0,1\}^{*} is a solution to instance x{0,1}x\in\{0,1\}^{*}, if and only if (x,y)R(x,y)\in R. The search problem RR is in FNP (Functions in NP), if RR is polynomial-time computable (i.e. (x,y)R(x,y)\in R can be decided in polynomial time in x+y|x|+|y|) and there exists some polynomial pp such that (x,y)R    yp(x)(x,y)\in R\implies|y|\leq p(|x|). Here {0,1}\{0,1\}^{*} denotes all finite length bit-strings and x|x| is the length of bit-string xx.

The class TFNP (Total Functions in NP ) contains all search problems RR that are in FNP and are total, i.e. every instance has at least one solution. Formally, this corresponds to requiring that for every x{0,1}x\in\{0,1\}^{*} there exists y{0,1}y\in\{0,1\}^{*} such that (x,y)R(x,y)\in R.

Let RR and SS be total search problems in TFNP. We say that RR (many-one) reduces to SS, if there exist polynomial-time computable functions f,gf,g such that

Note that if SS is polynomial-time solvable, then so is RR. We say that two problems RR and SS are (polynomial-time) equivalent, if RR reduces to SS and SS reduces to RR.

3 The End-of-Line problem

To be PPAD-complete, a problem must be equivalent to End-of-Line. The End-of-Line problem is informally defined as follows: given a directed graph where each vertex has in- and out-degree at most 11 and given a known source of this graph, find a sink or another source. The problem is computationally challenging, because the graph is not given explicitly in the input. Instead, we are given an implicit concise representation of the graph through circuits that compute the predecessor and successor of a vertex in the graph. In what follows, we sometimes interpret the input and output of the circuits, which are elements in {0,1}n\{0,1\}^{n}, as the numbers {0,1,,2n1}\{0,1,\dots,2^{n}-1\}.

The End-of-Line problem is defined as: given Boolean circuits S,PS,P with nn input bits and nn output bits and such that P(0)=0S(0)P(0)=0\neq S(0), find xx such that P(S(x))xP(S(x))\neq x or S(P(x))x0S(P(x))\neq x\neq 0.

The circuits define a graph as follows. There is a directed edge from vertex xx to yy (xyx\neq y), if and only if S(x)=yS(x)=y and P(y)=xP(y)=x. Note that any badly defined edge, i.e. S(x)=yS(x)=y and P(y)xP(y)\neq x, or P(y)=xP(y)=x and S(x)yS(x)\neq y, qualifies as a solution of End-of-Line as defined above (because P(S(x))xP(S(x))\neq x or S(P(x))xS(P(x))\neq x respectively). Note that is a source of the graph, unless P(S(0))0P(S(0))\neq 0, in which case is a valid solution to the problem as stated above.

It is easy to check that this formal definition of the problem is computationally equivalent to the informal description given above. By definition, End-of-Line is PPAD-complete . Furthermore, reduction from End-of-Line is a very common technique to show PPAD-hardness (e.g. ). In Section 8 we show that the multiple-source version MS-EoL (Definition 9) is equivalent to End-of-Line.

The Hairy-Ball Problem

The Hairy Ball Theorem naturally yields a corresponding computational problem. We are given a continuous tangent vector field ff on the unit sphere and have to find a point where it is zero. In trying to formalise this, some issues need to be addressed. First, one has to decide how the vector field should be represented in the input. Here we take the usual approach of assuming that it is represented as an arithmetic circuit.

Before we discuss the types of gates that we want to allow in the circuit, let us briefly handle the second issue: the vector field might not have a rational zero. Indeed, consider the following example: at xS2x\in S^{2} the vector field is simply the vector (1,1,1)(1,1,1) projected onto the tangent space of S2S^{2} at xx. In this case, the only solutions are ±(1/3,1/3,1/3)\pm(1/\sqrt{3},1/\sqrt{3},1/\sqrt{3}). Thus, we cannot hope to always output an exact solution. We bypass this problem by asking for an approximate solution instead, i.e. a point xS2x\in S^{2} such that f(x)ε\|f(x)\|_{\infty}\leq\varepsilon for some ε>0\varepsilon>0 provided in the input. This notion of approximate solution is the standard one used when studying topological existence theorems in the context of TFNP (e.g. Brouwer’s fixed point theorem or the Borsuk-Ulam theorem).

As mentioned above, the vector field will be represented as an arithmetic circuit. In the case of S2S^{2}, the circuit will have three input gates and three output gates. The arithmetic circuit will be allowed to use gates {+,,×ζ,max,min}\{+,-,\times\zeta,\max,\min\} and rational constants. All the gates have fan-in 2, except ×ζ\times\zeta which has fan-in 1 and corresponds to multiplication by a rational constant ζ\zeta. Note that such a circuit is polynomially equivalent to a circuit only using gates {+,×ζ,max}\{+,\times\zeta,\max\} and rational constants, since the other gates can be efficiently simulated using these. These circuits correspond to LINEAR-FIXP-type circuits that are known to be sufficient to obtain PPAD-hardness of Brouwer . A discussion about why we don’t use more powerful gates in our definition can be found in the next section.

This type of circuit yields piece-wise affine functions that are continuous. Furthermore, it has the following nice property: for any such arithmetic circuit FF, and any rational xx, we can compute F(x)F(x) exactly in polynomial time in size(F)\text{size}(F) and size(x)\text{size}(x). One potential issue is that FF might not be tangent to the sphere, but this is easy to fix by simply considering the vector field given by the projection of FF onto the corresponding tangent space to the sphere. Thus, we define the computational problem as follows:

Let k2k\geq 2 be even. The kkD-Hairy-Ball problem is defined as: given ε>0\varepsilon>0 and an arithmetic circuit FF with k+1k+1 inputs and outputs, using gates {+,×ζ,max}\{+,\times\zeta,\max\} and rational constants, find xSkx\in S^{k} such that Px[F(x)]ε\left\|P_{x}[F(x)]\right\|_{\infty}\leq\varepsilon.

kkD-Hairy-Ball lies in TFNP. Clearly, any solution can be checked in polynomial time. Totality of kkD-Hairy-Ball will immediately follow when we prove that it lies in PPAD (Corollary 5).

It is easy to see that if functions f1f_{1} and f2f_{2} are L1L_{1}- and L2L_{2}-Lipschitz respectively, then f1+f2f_{1}+f_{2} is (L1+L2)(L_{1}+L_{2})-Lipschitz and max{f1,f2}\max\{f_{1},f_{2}\} is max{L1,L2}\max\{L_{1},L_{2}\}-Lipschitz. Since any rational constant used in FF has absolute value bounded by 2size(F)2^{\text{size}(F)}, it follows that f1×ζf_{1}\times\zeta is L12size(F)L_{1}2^{\text{size}(F)}-Lipschitz. Using the fact that each input gate corresponds to a 11-Lipschitz function, it follows that FF must be 2size(F)22^{\text{size}(F)^{2}}-Lipschitz.

Using the same kind of argument it is easy to show that for xSkx\in S^{k} we always have F(x)2size(F)2\|F(x)\|_{\infty}\leq 2^{\text{size}(F)^{2}}. Using the fact that f1×f2f_{1}\times f_{2} is (f1L2+L1f2)(\|f_{1}\|_{\infty}L_{2}+L_{1}\|f_{2}\|_{\infty})-Lipschitz and the definition Px[v]=vv,xxP_{x}[v]=v-\langle v,x\rangle x, we obtain that xPx[F(x)]x\mapsto P_{x}[F(x)] is Lipschitz-continuous on SkS^{k} with constant L(3k+4)2size(F)2k2size(F)2+3L\leq(3k+4)2^{\text{size}(F)^{2}}\leq k\cdot 2^{\text{size}(F)^{2}+3}. ∎

Our main result is Theorem 3. Containment in PPAD, which turns out to be the most challenging part of this result, is presented in Section 4 (using the multiple-source End-of-Line results of Section 8). PPAD-hardness is presented in Section 5.

For all even k2k\geq 2, kkD-Hairy-Ball is PPAD-complete.

2 About the power of the arithmetic circuit

The main disadvantage of defining kkD-Hairy-Ball as in Definition 2 is that the type of circuit used seems quite restrictive. Clearly, it would be natural to also allow ×\times-gates that compute the product of two intermediate outputs (as opposed to just multiplication by a fixed constant). Unfortunately, allowing the ×\times-gate leads to technical complications in the definition of the problem because of repeated squaring (see below). These technicalities would make Definition 2 more cumbersome and less intuitive overall. In the interest of simplicity and clarity of exposition we have thus decided to use the simpler definition that only allows {+,×ζ,max}\{+,\times\zeta,\max\} gates.

From the standpoint of computational complexity, this restriction turns out to be irrelevant. Indeed, in Section 4 we prove that a very abstract formulation of the Hairy-Ball problem lies in PPAD. Namely, we only require that the tangent vector field be polynomially computable and polynomially continuous (Definition 3). These two assumptions are very natural and desirable in any TFNP-style definition of the problem. In particular, properly defining the problem with the additional ×\times-gates would also yield a problem that lies in PPAD. Furthermore, in Section 5 we prove that kkD-Hairy-Ball is PPAD-hard. It immediately follows that formulations with more powerful circuits are also PPAD-hard. Thus, it turns out that allowing ×\times-gates yields a problem that is polynomially equivalent to this more restricted version that we use.

Before we close this section, we give some details about the complication that arises when allowing the ×\times-gates and how this can be circumvented in order to define a TFNP-problem. The main issue is that if the circuit is allowed to use ×\times-gates, then we might not be able to evaluate the function it represents efficiently. For example, consider the arithmetic circuit that does repeated squaring, i.e. it has a sequence of nn ×\times-gates that multiply the output of the previous gate by itself. On input 22, this circuit outputs 22n2^{2^{n}}, which is doubly exponential in the size of the circuit and input to the circuit. Even putting aside the fact that we cannot efficiently represent this number in our model, this also causes the Lipschitz-constant to be doubly exponential. In order to solve this we can enforce an upper bound MM on all computations of the circuit. This means that every gate would have an output in [M,M][-M,M]. MM would have representation size polynomial in the size of the circuit. Without loss of generality we can take M=1M=1. However, we still might not be able to compute the output of the (bounded) circuit exactly. Indeed, the same circuit as earlier, on input 1/21/2, would output 22n2^{-2^{n}}. We would need an exponential (w.r.t. the number of bits of the input and the size of the circuit) number of bits to represent this.

One nice property of this kind of circuit is that the condition that FF be tangential to SkS^{k} can be enforced syntactically. Indeed, we can extend the circuit to output F(x)F(x),xxF(x)-\langle F(x),x\rangle x, instead of F(x)F(x). Some care is required here, because the computations of the circuit are bounded in $,butthiscanbesolvedbymultiplying, but this can be solved by multiplyingF(x)byby1/kbeforeprojectingandusingbefore projecting and using\varepsilon/kinsteadofinstead of\varepsilon$. Thus, we could always assume that the circuit given in the input describes a tangential vector field on the sphere.

As mentioned above, we do not use this kind of circuit because it introduces unnecessary complications and clutter.Another more elegant option would be to consider well-behaved circuits, as defined in . However, a closer inspection of the proof of Theorem 4 yields that this problem also lies in PPAD and thus turns out to be equivalent to kkD-Hairy-Ball.

The Hairy-Ball Problem is in PPAD

In this section we present our main result: the problem of computing an approximate Hairy Ball solution reduces to End-of-Line, the canonical PPAD-complete problem.

From a purely mathematical standpoint, our proof can be used to provide a (fairly cumbersome) proof of the Hairy Ball theorem by using Brouwer’s fixed point theorem. Indeed, it is known that End-of-Line reduces to Brouwer (in fact, even 2D-Brouwer ). Thus, given a Hairy Ball function ff, using our reduction and Brouwer’s fixed point theorem, one can prove the existence of a point xkx_{k} such that f(xk)1/2k\|f(x_{k})\|\leq 1/2^{k} for any kk (using the fact that ff must be uniformly continuous since the sphere is compact). Then, since any sequence in a compact set must have a converging subsequence it follows that there must exist xx such that f(x)=0f(x)=0. Finding a more direct way to deduce the Hairy Ball theorem from Brouwer’s fixed point theorem is an interesting open question.

Our goal is to prove that the Hairy Ball problem lies in PPAD in a setting that is as general and encompassing as possible. The way the function is represented, as a circuit or otherwise, should not play a role. Thus, we are only going to make two assumptions about the tangent vector field: that it can be evaluated in polynomial time and that it is polynomially continuous in some well-defined sense. The first assumption is very natural: if we are given a Hairy Ball function, we expect to be able to evaluate it efficiently. The motivation for the second assumption is that if we omit it, then there is no guarantee that there will exist an approximate solution with representation size that is polynomial in the input size.

Let F\mathcal{F} be a class of Hairy Ball functions.

F\mathcal{F} is polynomially computable, if there exists some polynomial pp such that for any fFf\in\mathcal{F} and any rational input xSkx\in S^{k}, f(x)f(x) can be computed in time p(size(f)+size(x))p(\text{size}(f)+\text{size}(x)).

F\mathcal{F} is polynomially continuous, if there exists some polynomial qq such that for any fFf\in\mathcal{F} and any rational ε>0\varepsilon>0, there exists a rational δ>0\delta>0 with size(δ)q(size(f)+size(ε))\text{size}(\delta)\leq q(\text{size}(f)+\text{size}(\varepsilon)) such that for all x,ySkx,y\in S^{k} we have xyδ    f(x)f(y)ε\|x-y\|_{\infty}\leq\delta\implies\|f(x)-f(y)\|_{\infty}\leq\varepsilon.

Note that kkD-Hairy-Ball yields a class F\mathcal{F} that is both polynomially computable and polynomially continuous (by Lemma 2).

Let F\mathcal{F} be a class of Hairy Ball functions. The problem Hairy-Ball(F\mathcal{F}) is defined as: given fFf\in\mathcal{F} and ε>0\varepsilon>0, find xSkx\in S^{k} such that f(x)ε\|f(x)\|_{\infty}\leq\varepsilon.

For simplicity we assume that we can recognise whether some string in {0,1}\{0,1\}^{*} represents an element fFf\in\mathcal{F} in polynomial time. If this does not hold, then Hairy-Ball(F\mathcal{F}) has to be studied as a promise problem. The reduction to End-of-Line given in the proof below still holds. However, this does not imply that the problem lies in PPAD, because TFNP requires the problem to be total without any promise.

2 The general problem lies in PPAD

Let F\mathcal{F} be a class of Hairy Ball functions that is polynomially computable and polynomially continuous. Then, Hairy-Ball(F\mathcal{F}) lies in PPAD.

For all even k2k\geq 2, kkD-Hairy-Ball lies in PPAD.

The proof can be subdivided into two parts. In the first part, we reduce kkD-Hairy-Ball to a 2-source End-of-Line problem. In the second part, we show that the 2-source version reduces to the standard version of End-of-Line, where a single source is known. Surprisingly, the reduction from 2 sources to 1 is non-trivial. The proof for this is presented separately in Section 8. In fact, we prove the more general result: as long as the number of known sources in an End-of-Line instance is polynomial, we can reduce to standard End-of-Line. Various implications of this result are also presented in Section 8.

We now give some details about the first part of the proof, in which we reduce kkD-Hairy-Ball to 2-source End-of-Line through a Sperner argument. The inspiration for this comes from a proof of the 2-dimensional Hairy Ball Theorem via a generalisation of Sperner’s Lemma, given by Jarvis and Tanton . Our contribution here is two-fold: we extend their proof to any higher (even) dimension and we turn it into a polynomial-time reduction. Even though Sperner’s Lemma is known to be PPAD-complete , this result does not apply to the general version of Sperner’s Lemma that is used here. Indeed, by using standard techniques, this general version can only be reduced to a 2-source instance of End-of-Line. This is why we then require our technical results about multiple-source End-of-Line from Section 8.

where []j[\cdot]_{j} indicates the jjth coordinate for j{0,1,,k}j\in\{0,1,\dots,k\}. It is straightforward to check that b1,,bkb_{1},\dots,b_{k} are continuous tangent vector fields that yield an orthonormal basis of the tangent space of SkS^{k} at every xSk{p}x\in S^{k}\setminus\{p\}.

Continuity of g\boldsymbol{g}. Clearly, gg is continuous. Moreover, since F\mathcal{F} is polynomially continuous, we can extend this to gg in the following sense.

First, let us prove a bound on f(x)\|f(x)\|_{\infty} for all xSkx\in S^{k}. Let δˉ>0\bar{\delta}>0 be such that f(x)f(y)1\|f(x)-f(y)\|_{\infty}\leq 1 if xyδˉ\|x-y\|_{\infty}\leq\bar{\delta}. Recall that size(δˉ)\text{size}(\bar{\delta}) is polynomially bounded in size(f)\text{size}(f). Since ff is continuous on the sphere SkS^{k}, there exists some xSkx^{*}\in S^{k} such that f(x)=0f(x^{*})=0. The arc distance between xx and xx^{*} is at most π\pi and we pick points y(0),y(1),,y(m)Sky^{(0)},y^{(1)},\dots,y^{(m)}\in S^{k} along the arc such that y(0)=x,y(m)=xy^{(0)}=x,y^{(m)}=x^{*} and y(i)y(i+1)y(i)y(i+1)2δˉ\|y^{(i)}-y^{(i+1)}\|_{\infty}\leq\|y^{(i)}-y^{(i+1)}\|_{2}\leq\bar{\delta}. We can take mπ/δˉ4/δˉm\leq\lceil\pi/\bar{\delta}\rceil\leq 4/\bar{\delta} (assuming δˉ1/2\bar{\delta}\leq 1/2). Then, we have

Note that for all ii, zbi(x(z))z\mapsto b_{i}(x(z)) is Lipschitz-continuous with a Lipschitz constant of the form mkm\sqrt{k} for some constant mm (m=20m=20 is enough). This can be checked by direct computation. Recalling that x(z)x(z) is short for SP1(z)SP^{-1}(z), the fact that SP1SP^{-1} is 4k4\sqrt{k}-Lipschitz and ff is polynomially continuous, the claim then follows. ∎

Pick δ>0\delta>0 so that zzδ\|z-z^{\prime}\|_{\infty}\leq\delta implies

By 1, it is possible to pick such δ\delta with size(δ)poly(size(f),size(ε))\text{size}(\delta)\leq\text{poly}(\text{size}(f),\text{size}(\varepsilon)).

Let the δ\delta-fine kk-simplex z(0),,z(k)z^{(0)},\dots,z^{(k)} be panchromatic. Since [g(z(0))]j0[g(z^{(0)})]_{j}\geq 0 for all jj, there exists ii such that [g(z(0))]i=g(z(0))[g(z^{(0)})]_{i}=\|g(z^{(0)})\|_{\infty}. However, it must hold that [g(z(i))]i<0[g(z^{(i)})]_{i}<0 and thus g(z(0))[g(z(0))]i[g(z(i))]i\|g(z^{(0)})\|_{\infty}\leq|[g(z^{(0)})]_{i}-[g(z^{(i)})]_{i}|. Since z(0)z(i)δ\|z^{(0)}-z^{(i)}\|_{\infty}\leq\delta, it follows by (2) that g(z(0))ε/8kε/k\|g(z^{(0)})\|_{\infty}\leq\varepsilon/8\sqrt{k}\leq\varepsilon/\sqrt{k}, i.e. z(0)z^{(0)} yields a solution. ∎

Intuitively, we want to pick a δ\delta-fine triangulation of the ball and construct a directed graph on the triangles. There is a directed edge between two triangles if they share a facet coloured 1,21,2 and the edge is directed such that it crosses the facet with the colour 11 on its left-hand side and the colour 22 is on its right-hand side. Then, because of the structure of the colouring on the boundary, we obtain two known sources and any sink or other source of this directed graph corresponds to a panchromatic simplex, i.e. a solution.

This intuition is formalised in the following lemma, which is proved below.

By Theorem 14 in Section 8 it then follows that the problem lies in PPAD, which concludes the proof of Theorem 4. ∎

In order to investigate the colouring, we first prove some properties of an ideal colouring that we define below and then show that the actual colouring is “close” enough to the ideal colouring and also satisfies these properties.

The following properties of ww are easy to check by direct computation.

If w(z)0w(z)\leq 0, then z0z\geq 0 or z0z\leq 0.

The ideal colouring is “close” to the actual colouring. We now show that if z2\|z\|_{2} is sufficiently large, then the ideal colouring is very close to the actual colouring. Namely, we will show that w(z)w(z) is almost equal to g^(z)\widehat{g}(z), a “normalisation” of gg defined by g^(z)=c(z)g(z)\widehat{g}(z)=c(z)\cdot g(z), where c(z)=1+z22vz22c(z)=\frac{1+\|z\|_{2}^{2}}{v\|z\|_{2}^{2}}. Note that g^\widehat{g} and gg yield the exact same colour for any z0z\neq 0.

Since ff is polynomially continuous, there exists δ^\widehat{\delta} such that f(x)f(p)ε/16k(k+1)\|f(x)-f(p)\|_{\infty}\leq\varepsilon/16\sqrt{k(k+1)} with size(δ^)=poly(size(f),size(ε))\textup{size}(\widehat{\delta})=\textup{poly}(\textup{size}(f),\textup{size}(\varepsilon)). Using the definition of SP1SP^{-1} it is easy to check that x(z)p22/1+z22\|x(z)-p\|_{2}\leq 2/\sqrt{1+\|z\|_{2}^{2}}. Thus, we can construct t4t\geq 4 with size(t)=poly(size(f),size(ε))\textup{size}(t)=\textup{poly}(\textup{size}(f),\textup{size}(\varepsilon)) such that f(x(z))f(p)ε/16k(k+1)\|f(x(z))-f(p)\|_{\infty}\leq\varepsilon/16\sqrt{k(k+1)} for all zz with z2t\|z\|_{2}\geq t.

Let gˉ(z)\bar{g}(z) denote the colour-direction obtained at zz if we use f(p)f(p), instead of f(x(z))f(x(z)), i.e. gˉi(z)=f(p),bi(x(z))\bar{g}_{i}(z)=\langle f(p),b_{i}(x(z))\rangle. Then, for all zz with z2t\|z\|_{2}\geq t, we have

Recalling that f(p)=(0,v,v,,v)/kf(p)=(0,v,v,\dots,v)/\sqrt{k} and using equation (1) and the definition of SP1SP^{-1}, we can write for all ii

We obtain that for any zz with z2t\|z\|_{2}\geq t

where we used (3), v>εv>\varepsilon and t4t\geq 4. ∎

The unit cross-polytope can be triangulated efficiently by using a standard efficient triangulation of the kk-simplex 0,e(1),,e(k)0,e^{(1)},\dots,e^{(k)} (see e.g. ) and then extending it to the rest of the cross-polytope by mirroring along each axis. Thus, using a δ/m\delta/m-fine efficient triangulation of the simplex, extending it to the cross-polytope and then scaling to CmC_{m}, yields an efficient δ\delta-fine triangulation of CmC_{m}. We call this triangulation TT. In particular, given a simplex of TT and one of its facets, we can compute the other simplex of TT that shares this facet in polynomial time (or decide that it does not exist, if the facet lies on the boundary of CmC_{m}). Note that size(δ/m)\text{size}(\delta/m) is polynomial in the size of the input.

The restriction of the triangulation TT to Cm(Cm+Cm)\partial C_{m}\setminus(\partial C_{m}^{+}\cup\partial C_{m}^{-}) does not contain any (k1)(k-1)-simplex coloured 1,2,,k1,2,\dots,k (in the actual colouring).

Let y(1),,y(k)y^{(1)},\dots,y^{(k)} be a δ\delta-fine (k1)(k-1)-simplex on Cm\partial C_{m} such that y(i)y^{(i)} has colour ii. By 3 (Item 3) it suffices to show that w(y(i))0w(y^{(i)})\leq 0 for all ii. Note that since y(i)y(j)δ\|y^{(i)}-y^{(j)}\|_{\infty}\leq\delta, it follows by (2)

since v>εv>\varepsilon and z2t1\|z\|_{2}\geq t\geq 1.

Orientation of Cm+\boldsymbol{\partial C_{m}^{+}} and Cm\boldsymbol{\partial C_{m}^{-}}. The following simple observation is crucial.

The (k1)(k-1)-simplices Cm+\partial C_{m}^{+} and Cm\partial C_{m}^{-} have the same orientation with respect to the Sperner boundary conditions.

This is the only point in the proof where we use the fact that kk is even. However, it is indeed crucial, since this ensures that the two ends of line that we know are both sources (or both sinks), as we will see below. If kk is odd, our reduction yields an instance with a known source and sink. In this case, there is no guarantee that a solution – another end of line – even exists.

2-source End-of-Line. We now explain how the problem of finding a panchromatic kk-simplex in the triangulation TT of CmC_{m} reduces to a 2-source End-of-Line problem. Let us briefly recall how a standard kk-dimensional Sperner instance reduces to End-of-Line. A fully detailed and formal presentation of this is given in [15, Proposition 2.2]. In the standard kk-dimensional Sperner problem, we have a big kk-simplex triangulated into kk-simplices and a colouring that satisfies the Sperner boundary conditions. The End-of-Line graph is constructed as follows. Every kk-simplex of the triangulation is a node in the graph. There is an edge between two nodes if the corresponding kk-simplices have a common facet coloured 1,,k1,\dots,k (called a door-facet). The edge is directed by considering the orientation of the kk-simplices with respect to the common facet. This yields an End-of-Line graph where every degree-1 node is either a panchromatic kk-simplex or a kk-simplex that has a door-facet lying on the boundary of the instance, i.e. on the boundary of the big kk-simplex. Note that all the door-facets lying on the boundary of the instance lie on the 1,,k1,\dots,k-facet of the big kk-simplex. In order to obtain a single source, there are various standard tricks, see e.g. [33, Chapter 4]. If we use the so-called “artificial start” trick, then as shown in , we obtain a slightly larger Sperner instance that has a single door-facet “exposed” to the outside, i.e. lying on the boundary of the instance.

We can use these standard techniques on our problem. The boundary of our instance is Cm\partial C_{m}. By 6, all door-facets on the boundary are contained in Cm+\partial C_{m}^{+} or Cm\partial C_{m}^{-}. By applying the trick mentioned above on Cm+\partial C_{m}^{+} (interpreted as a facet of a kk-dimensional Sperner instance) we obtain a single door-facet that is “exposed” in this whole region. Applying the exact same trick on Cm\partial C_{m}^{-} also yields a single door-facet that is “exposed” in this whole region. Thus, overall we only have two door-facets that lie on the boundary of our instance. Fig. 2 shows how the “artificial start” trick is used on a 2-dimensional example.

Finally, the important observation here is that the orientation of the “exposed” door-facet obtained by using the trick only depends on the orientation of the big facet on which it is used. Since Cm+\partial C_{m}^{+} and Cm\partial C_{m}^{-} have the same orientation (7), the two “exposed” door-facets have the same orientation. This means that we have two “entrances” for the standard Sperner path-following algorithm. By applying the formal arguments in the reduction from Sperner to End-of-Line this yields a two-source End-of-Line instance. ∎

Computational Hardness for Hairy Ball Problems

By making this idea fully constructive and efficient, we obtain reductions from Brouwer problems to Hairy Ball problems. Thus, existing PPAD- and FIXP-hardness results for Brouwer also hold for the corresponding Hairy Ball problems. We note that these reductions always involve using two copies of a Brouwer instance to obtain a single Hairy Ball instance. This further supports our claim that the fact that we obtain two sources when reducing kkD-Hairy-Ball to End-of-Line (Section 4) is not an artefact of our reduction, but intrinsic to the problem.

For all even k2k\geq 2, kkD-Hairy-Ball is PPAD-hard.

Note that this result is particularly strong, because the type of circuit allowed in the definition of kkD-Hairy-Ball (Definition 2) is particularly weak. Furthermore, the hardness is proved for inversely exponential ε/L\varepsilon/L (where LL is the Lipschitz constant of the function), which is the best we can hope for in the fixed dimension case. Indeed, if ε/L\varepsilon/L is inversely polynomial, then the following is a polynomial time algorithm that solves the problem: divide the domain into a sufficiently small (but polynomial) number of regions and check an arbitrary point in each region.

Our reduction essentially shows that some hardness results known for the Brouwer problem also hold for the Hairy Ball problem. One direction that we do not explore here is the hardness of approximation when the dimension is not fixed. It seems quite likely that the problem should be hard even for constant ε/L\varepsilon/L in that case, since this is known to hold for the Brouwer problem .

One way to prove this result is to take an instance FF of a 2D-Brouwer problem, which is known to be PPAD-complete , and embed a copy FF and a copy F-F on the south and north hemisphere of S2S^{2} respectively. However, since our 22D-Hairy-Ball circuit can only use gates in {+,×ζ,max}\{+,\times\zeta,\max\}, we first shrink the domain of FF so that we embed it in a small region around the south pole. This ensures that even after projection onto the tangent space, no bogus solutions will appear. We do the same for F-F in the north pole and then define GG on the rest of the sphere in such a way that no solution appears there.

In spirit, we follow this general proof idea, but take a slight detour, because it gives us the chance to define and study a discrete analog to 22D-Hairy-Ball: the 22D-Hairy-Cube problem. Intuitively, this problem is obtained from 22D-Hairy-Ball the same way that discrete 2D-Brouwer is obtained from continuous 2D-Brouwer. The domain is discretised by a grid and a circuit computes the local direction of the function in every grid-square. The natural way to discretise the sphere S2S^{2} is to replace it by a cube with a grid on each face. The advantage of 22D-Hairy-Cube is that PPAD-hardness is easy to prove: just put a (slightly modified) discrete 2D-Brouwer instance on one face, and the inverse instance on the opposite face. Defining the instance on the remaining faces is trivial in this case. Section 6 defines the problem and proves PPAD-hardness.

The next step is reducing 22D-Hairy-Cube to 22D-Hairy-Ball. Even though it seems natural that this should hold, the reduction is technically tedious. In particular, we have to simulate a Boolean circuit using an arithmetic circuit, but the input bits cannot always be computed exactly. Thus, we need to use an averaging trick (see ). The details are in Appendix A.

This yields PPAD-hardness for 22D-Hairy-Ball. The final step is to extend this to kkD-Hairy-Ball, by showing that kkD-Hairy-Ball reduces to (k+2)(k+2)D-Hairy-Ball. The proof can be found in Appendix B. ∎

2 FIXP-hardness

Up to this point we have only considered the problem of computing an approximate Hairy Ball solution. However, there are other computational problems one could consider, e.g. computing a point that is close to an exact solution, or computing the first nn bits of an exact solution.

The corresponding problems for Brouwer fixed points have been studied by Etessami and Yannakakis . In particular, they define the class FIXP that captures the complexity of computing an exact fixed point of a function given by an arithmetic circuit and mapping the unit cube into itself. They prove that computing an exact Nash equilibrium of a 3-player game is FIXP-complete. In doing so, they use a special type of reduction, called an SL-reduction, that ensures that the reduction also holds for three problems that can be studied in the standard Turing machine model: the “strong approximation problem” (i.e. find a point close to an exact solution), the “partial computation” problem (i.e. compute the first nn bits of an exact solution) and various decision problems. This means that computing a strong approximation for 3-player Nash is as hard as computing a strong approximation of a Brouwer function given by an arithmetic circuit. We prove that the corresponding problems for the Hairy Ball Theorem are at least as hard as their Brouwer counterparts. For the formal definition of the class FIXP, see [15, p. 2570, Lemma 4.1, Theorem 4.7], and for the formal definition of SL-reductions, see [15, p. 2540]. We define our exact computation problem for the Hairy Ball Theorem as follows:

Note that the vector field will be continuous since we never divide by . The vector field can be syntactically forced to be tangent to the sphere because we can compute the projection exactly using this kind of circuit.

Exact-Hairy-Ball is FIXP-hard. Furthermore, the corresponding strong approximation, partial computation and decision problems are also hard for the corresponding versions of FIXP (as defined in ).

Following Etessami and Yannakakis, we could define a class HB that captures the complexity of computing an exact Hairy Ball solution (and corresponding versions of the class for the related problems) by taking the set of all problems that reduce to Exact-Hairy-Ball. Then, Theorem 8 is saying that FIXP \subseteq HB. Note that the three discrete problems that can be studied in the Turing machine model lie in PSPACE, by using the same technique as in [15, Proposition 4.2].

The proof is based on an idea used by Milnor to show that the Hairy Ball theorem implies Brouwer’s fixed point theorem. Note, however, that Milnor’s proof proceeds by contradiction, whereas our proof is fully constructive.

We embed two copies of a Brouwer instance (after some preprocessing) on the sphere such that any exact Hairy Ball solution yields an exact Brouwer fixed point. Note that this reduction makes use of the ×\times and // gates and cannot be used to prove PPAD-hardness of kkD-Hairy-Ball.

Compute y=xmax{1,x}y=\frac{x}{\max\{1,\|x\|_{\infty}\}}

Output xmin{1,xy}+(G(y)x)max{0,1xy}-x\cdot\min\{1,\|x-y\|_{\infty}\}+(G(y)-x)\cdot\max\{0,1-\|x-y\|_{\infty}\}

Step 2: From Brouwer to Hairy Ball. The high-level idea in order to construct a Hairy Ball vector field is to use the output of G^(x)\widehat{G}(x) as coordinates in some continuous tangent basis on SkS^{k}. However, as noted before, it is impossible to define a continuous tangent basis on all of SkS^{k}. As a result, we use two different bases (namely b^i(x)\widehat{b}_{i}(x) and b^i(x)-\widehat{b}_{i}(-x)) and obtain two tangent vectors at xx: ww^{-} and w+w^{+}. The final output uu is then obtained by taking a convex combination of ww^{-} and w+w^{+}, according to a parameter α\alpha. This parameter α\alpha ensures that we do not use a tangent basis when we are close to the pole where it is not a basis. Furthermore, it also ensures that the case where uu is obtained as a strict convex combination (namely α(0,1)\alpha\in(0,1)) can only occur at points where G^(x)=x\widehat{G}(x)=-x, which makes this case easier to analyse.

Compute v=G^(x1,,xk)v=\widehat{G}(x_{1},\dots,x_{k})

Compute w=i=1kvib^i(x)w^{-}=\sum_{i=1}^{k}v_{i}\widehat{b}_{i}(x) and w+=i=1k(vi)b^i(x)w^{+}=\sum_{i=1}^{k}(-v_{i})\widehat{b}_{i}(-x)

Compute α=max{0,min{1,1/2x0}}\alpha=\max\{0,\min\{1,1/2-x_{0}\}\}

is the non-normalised version of the tangent basis used in the proof of Theorem 4. In particular, the b^i(x)\widehat{b}_{i}(x) form an orthogonal basis of the tangent space at xx (as long as x0<1x_{0}<1) and we have b^i(x)2=1x0\|\widehat{b}_{i}(x)\|_{2}=1-x_{0}. Note that the output uu of the circuit is always tangent to the sphere at xx.

If x01/2x_{0}\leq-1/2, then u=wu=w^{-}, and thus, using the fact that the b^i(x)\widehat{b}_{i}(x) form an orthogonal basis, we obtain

Since 1x011-x_{0}\geq 1, this implies that u2v2\|u\|_{2}\geq\|v\|_{2}, i.e. F(x0,x1,,xk)2G^(x1,,xk)2\|F(x_{0},x_{1},\dots,x_{k})\|_{2}\geq\|\widehat{G}(x_{1},\dots,x_{k})\|_{2}. This means that any zero of FF yields a zero of G^\widehat{G} by dropping the first coordinate.

If x01/2x_{0}\geq 1/2, then u=w+u=w^{+}, and the analogous computation yields that u22=i=1kvi2b^i(x)22=v22(1+x0)2\|u\|_{2}^{2}=\sum_{i=1}^{k}v_{i}^{2}\|\widehat{b}_{i}(-x)\|_{2}^{2}=\|v\|_{2}^{2}(1+x_{0})^{2}. Since 1+x011+x_{0}\geq 1, we again obtain that u2v2\|u\|_{2}\geq\|v\|_{2}, and the same conclusion follows.

The last remaining case is when x0<1/2|x_{0}|<1/2. If we let x=(x1,,xk)x^{\prime}=(x_{1},\dots,x_{k}), then, since x2=1\|x\|_{2}=1, it must be that x21/2\|x^{\prime}\|_{2}\geq 1/2, which implies that v=G^(x)=xv=\widehat{G}(x^{\prime})=-x^{\prime}. It follows that

which implies that FF has no zero in this region.

The reduction we have provided is an SL-reduction, since a solution of the original instance can be obtained by applying a separable linear transformation (with rational coefficients that are computable in polynomial time from the original instance) to any solution of the final instance. Furthermore, the coefficients of the separable linear transformation are always powers of 22. It follows (see ) that the corresponding strong approximation, partial computation and decision problems are also hard for the corresponding FIXP classes. ∎

The 2D-Hairy-Cube Problem

In this section we define the 2D-Hairy-Cube problem: a discretised version of 2D-Hairy-Ball. As the name suggests, one of the main differences is that 2D-Hairy-Cube is defined on the surface of a cube instead of the surface of a ball. It will follow from our results that this discretised problem is indeed computationally equivalent to the continuous formulation.

We consider this problem mainly for two reasons. First of all, we believe it is nice to have a corresponding discrete version of 2D-Hairy-Ball that might easier to work with in some cases. This is similar to Brouwer, where the discrete version is often very useful. Another more technical point is that 2D-Hairy-Cube also serves as an intermediate step to prove PPAD-hardness of 2D-Hairy-Ball. Indeed, as we will see below, proving PPAD-hardness for 2D-Hairy-Cube is pretty straightforward using a result by Chen and Deng on a 2-dimensional Brouwer fixpoint problem.

The 2D-Hairy-Cube problem is defined on the surface of the unit cube. Every face of the cube is subdivided into 2n×2n2^{n}\times 2^{n} identical small squares, that we call squarelets. Every squarelet contains one of four possible axis-aligned arrows tangential to its face. A solution is given by two adjacent squarelets that contain arrows going into opposite directions. Here adjacent is taken to mean that the squarelets touch, even in a single point. However, we need one additional type of solution, namely at corners. Three squarelets adjacent at a corner form a solution, if the three arrows all point towards the corner or all three point away from the corner. An arrow points towards the corner if it points towards an edge that contains the corner. Thus, for any corner squarelet, out of the four possible arrows that it can contain, two point towards the corner and two point away from it.

Note that any two adjacent faces of the cube can be thought of as being one big plane, because we can rotate one of the faces so that this is the case. This is the interpretation that is used when deciding whether two adjacent squarelets, lying on two different but adjacent faces, form a solution: we rotate one of the two faces until it is on the same plane as the other one, and then proceed as if the two squarelets were on the same face. Fig. 3 shows a 2D-Hairy-Cube instance with various solutions.

For any integer m1m\geq 1, we let [m]:={1,2,,m}[m]:=\{1,2,\dots,m\}. Note that we can interpret elements in {0,1}n\{0,1\}^{n} as elements in [2n][2^{n}].

For the definition of the computational problem we assume that we are given a Boolean circuit C:{0,1}n×{0,1}n×{0,1}3{0,1}2C:\{0,1\}^{n}\times\{0,1\}^{n}\times\{0,1\}^{3}\to\{0,1\}^{2} that represents a function [2n]×[2n]×[2^{n}]\times[2^{n}]\times\to. The input in {0,1}3\{0,1\}^{3} is interpreted as an element in {1,2,,6}\{1,2,\dots,6\} that determines a face of the cube. The input in {0,1}n×{0,1}n\{0,1\}^{n}\times\{0,1\}^{n} determines a squarelet on that face. The output in {0,1}2\{0,1\}^{2} is interpreted as an element in {1,2,3,4}\{1,2,3,4\}, which yields one of the four arrows allowed on this face. We say that CC computes a discrete field on the cube surface.

The 2D-Hairy-Cube problem is defined as: given a Boolean circuit C:{0,1}n×{0,1}n×{0,1}3{0,1}2C:\{0,1\}^{n}\times\{0,1\}^{n}\times\{0,1\}^{3}\to\{0,1\}^{2} that computes a discrete field on the cube surface, find:

two adjacent squarelets that contain arrows going in opposite directions, or

three adjacent corner squarelets, such that all three arrows point towards the corner, or all three point away from the corner.

In Appendix A we prove that this problem reduces to 2D-Hairy-Ball (Proposition 18). Thus, it also lies in PPAD by Corollary 5. Below we prove that it is also PPAD-hard (Proposition 11), which yields:

2 PPAD-hardness

In this section we prove that 2D-Hairy-Cube is PPAD-hard. The proof uses the PPAD-hardness of the discrete 2D-Brouwer problem by embedding an instance of a slightly modified discrete 2D-Brouwer problem on two opposite faces of the cube. We start by defining the modified discrete 2D-Brouwer problem and proving that it is PPAD-hard.

The 2-dimensional discrete Brouwer fixpoint problem we will consider is defined on a big square that is partitioned into 2n×2n2^{n}\times 2^{n} squarelets. Every squarelet contains one of four possible cardinal direction arrows: right, left, up, down. A solution is given by two adjacent squarelets that contain arrows pointing in opposite directions. Two squarelets are adjacent if they have at least one point in common (in particular, squarelets can also be adjacent diagonally).

The input is a Boolean circuit C:[2n]×[2n]{(1,0),(1,0),(0,1),(0,1)}C:[2^{n}]\times[2^{n}]\to\{(1,0),(-1,0),(0,1),(0,-1)\} that computes the cardinal arrow in a given input squarelet. We say that CC satisfies the Brouwer boundary conditions, if C(1,a)=(1,0)C(1,a)=(1,0), C(2n,b)=(1,0)C(2^{n},b)=(-1,0), C(b,1)=(0,1)C(b,1)=(0,1) and C(a,2n)=(0,1)C(a,2^{n})=(0,-1), for all a[2n]{1}a\in[2^{n}]\setminus\{1\} and b[2n1]b\in[2^{n}-1]. This corresponds to requiring that, in squarelets forming the boundary of the domain, the arrows point inwards. Note that this condition can be enforced syntactically on the circuit. If CC satisfies the Brouwer boundary conditions, then there must exist a solution. Otherwise, we could use the instance to define a continuous function from the square to itself which does not have a fixpoint, a contradiction to Brouwer’s Fixpoint theorem. We now give the formal definition of the problem.

The problem 2D-Variant-Brouwer is defined as: given a Boolean circuit C:[2n]×[2n]{(1,0),(1,0),(0,1),(0,1)}C:[2^{n}]\times[2^{n}]\to\{(1,0),(-1,0),(0,1),(0,-1)\} such that C(1,a)=(1,0)C(1,a)=(1,0), C(2n,b)=(1,0)C(2^{n},b)=(-1,0), C(b,1)=(0,1)C(b,1)=(0,1) and C(a,2n)=(0,1)C(a,2^{n})=(0,-1), for all a[2n]{1}a\in[2^{n}]\setminus\{1\} and b[2n1]b\in[2^{n}-1], find xx and yy such that xy1\|x-y\|_{\infty}\leq 1 and C(x)+C(y)=0C(x)+C(y)=0.

The main difference to the standard discrete 2D-Brouwer problem is that we have 44 possible arrows instead of the three (1,0),(0,1),(1,1)(1,0),(0,1),(-1,-1) and we are looking for a place where two opposite arrows meet, instead of a place where all three types of arrows meet. Any 2D-Variant-Brouwer instance can also be interpreted as a 2D-Tucker instance . Indeed, if we interpret (1,0),(1,0),(0,1),(0,1)(1,0),(-1,0),(0,1),(0,-1) as +1,1,+2,2+1,-1,+2,-2, then the boundary satisfies the Tucker conditions (i.e. two boundary squarelets that are diametrically opposite each other with respect to the centre of the domain, contain opposite numbers). Furthermore, 2D-Variant-Brouwer-solutions exactly correspond to 2D-Tucker-solutions. Thus, one might think that 2D-Variant-Brouwer could be PPA-complete instead of PPAD-complete. However, the corresponding 2D-Tucker instances have the specificity of having monochromatic sides (except for the corners) and this puts the problem in PPAD. Indeed, the proof of PPA-hardness of 2D-Tucker uses instances with non-monochromatic sides .

Membership in PPAD follows from the fact that 2D-Variant-Brouwer reduces to 2D-Hairy-Cube (Proposition 11), which reduces to 2D-Hairy-Ball (Proposition 18) which is in PPAD (Corollary 5). Alternatively, one could also reduce 2D-Variant-Brouwer to the continuous 2D-Brouwer problem (by interpolating between centres of the squarelets) which takes a continuous function as input (represented as an arithmetic circuit) and is known to lie in PPAD .

It remains to show that 2D-Variant-Brouwer is PPAD-hard. This is done by using the same idea as for the standard 2D-Brouwer problem , namely by embedding a 2-dimensional End-of-Line instance on the grid into a 2D-Variant-Brouwer instance. Since the 2-dimensional End-of-Line problem is PPAD-hard , the result follows.

The only difference with is that in our case, paths are implemented using an “upward” arrow at the centre of the path, a “right” arrow on the left side of the path, and a “left” arrow on the right side of the path. The environment, where there is no path, is filled with “downward” arrows. As a result, a solution, i.e., a point where two opposite arrows meet, can only occur when a path starts or stops in the environment. The same type of construction for the paths (if we interpret labels as arrows) was used to show that 2D-Tucker is PPAD-hard . The correctness of the reduction follows by the arguments presented in .

We provide a few more details about the construction for the interested reader. Consider any 2-dimensional End-of-Line instance on the [2n]×[2n][2^{n}]\times[2^{n}] grid. We will construct a 2D-Variant-Brouwer instance on the [2n+3]×[2n+3][2^{n+3}]\times[2^{n+3}] grid. Every grid node in the original End-of-Line instance corresponds to a region of 8×88\times 8 squarelets. In this region, the End-of-Line path is represented by squarelets containing the “upward” arrow (0,1)(0,1). Thus, if the path comes into the grid node from the left neighbour and leaves towards the bottom neighbour, then the 8×88\times 8 region will contain a width-2 path of squarelets that starts at the centre of the left side of the region, makes a right angle at the centre of the region and then goes to the centre of the bottom side of the region. All the squarelets on this width-22 path get the arrow (0,1)(0,1). Any squarelets that are adjacent to the path from the left side (with respect to the direction of the path) get the arrow (1,0)(1,0). Any squarelets that are adjacent to the path from the right side get the arrow (1,0)(-1,0). All other squarelets get the arrow (0,1)(0,-1).

If a grid node is isolated, then we just assign the arrow (0,1)(0,-1) to all of its squarelets. If a grid node is a source or a sink, then there will be a solution, since the path of (0,1)(0,1) arrows will touch the environment of (0,1)(0,-1) arrows. The 2D-Variant-Brouwer boundary conditions can be enforced without changing the solutions. We just need to be careful at the bottom side, since the boundary has arrow (0,1)(0,1) and we don’t want them to touch the environment of (0,1)(0,-1) arrows. To avoid this we also require that the stripe of width 11 just above the bottom boundary be filled with (1,0)(-1,0) arrows. It is easy to see that a careful construction of the region corresponding to the origin of the grid (the known source of the End-of-Line instance) ensures that no solution occurs there. It follows that any solution to the 2D-Variant-Brouwer instance must yield a solution to the 2-dimensional End-of-Line instance. Furthermore, the circuit CC computing the arrow in each squarelet can be constructed efficiently. ∎

We reduce from 2D-Variant-Brouwer. By Lemma 10 the result then follows. Consider an instance CC of 2D-Variant-Brouwer. We construct an instance of 2D-Hairy-Cube as follows. The top face of the cube is identical to the instance represented by CC. The bottom face is identical to the negation of the instance represented by CC, i.e. all arrows are negated (in particular, on the boundary they point outwards, instead of inwards). The other four faces of the cube are uniformly filled with an arrow pointing towards the top face. It is easy to check that a solution can only appear on the top or bottom face and corresponds to a solution to the original problem. Furthermore, the circuit computing the arrow in any squarelet of the surface of the cube can be constructed efficiently from CC. ∎

The Hairy-Ball Problem on the Torus of Genus g𝑔g

In this section we consider the 2-dimensional torus of genus gg (also called gg-holed torus, or gg-torus) instead of the sphere. The Hairy Ball theorem does not hold on the torus of genus 11, i.e. the standard torus. It is straightforward to define a continuous tangent field that never vanishes. However, as proved by Poincaré , the theorem does hold for the 2-dimensional torus of genus gg for all g2g\geq 2.

We prove that the corresponding computational problem is again PPAD-complete. Even though the general techniques are very similar to those seen in previous sections, the interesting point is that the reduction to End-of-Line yields 2(g1)2(g-1) sources instead of 22. Thus, we can make full use of the multiple-source End-of-Line results of Section 8. We believe that the reduction to a 2(g1)2(g-1)-source End-of-Line instance is a natural and necessary step in the reduction and that this multiple source aspect is intrinsic to the problem, since the torus of genus gg has Euler characteristic 22g2-2g .

We use the term “gg-torus” to refer to the torus of genus gg, i.e. the 2-dimensional torus with gg holes, embedded in 33-dimensional space. This should not be confused with the 1-holed torus embedded in gg-dimensional space. We mainly work with the 2-torus, since all the arguments generalise to the gg-torus in a straightforward way. We define the 2-torus as follows: (x1,x2,x3)(x_{1},x_{2},x_{3}) lies on the 2-torus if it satisfies the equation

where d1d_{1} is the distance of (x1,x2,0)(x_{1},x_{2},0) to (0,0,0)(0,0,0), d2d_{2} is the distance to (5,0,0)(5,0,0), and d3d_{3} is the distance to the segment (0,0,0)(0,0,0)-(5,0,0)(5,0,0). Fig. 4 provides an illustration of this 2-torus.

Using the expression above, one can always efficiently check whether a given (x1,x2,x3)(x_{1},x_{2},x_{3}) lies on the 2-torus. However, it is not always possible to exactly compute the projection of a vector onto the tangent space at some point on the 2-torus.

This construction is easy to generalise to the gg-hole torus, for any g2g\geq 2. We call the corresponding object the gg-torus and denote it by TgT_{g}.

Both of our reductions will use a base field FBF_{B}, which is defined everywhere except on the two flat regions of the 2-torus. If x12+x22x_{1}^{2}+x_{2}^{2}\in or if x12+x22x_{1}^{2}+x_{2}^{2}\in and x10x_{1}\leq 0, then FB(x1,x2,x3)=(x2,x1,0)F_{B}(x_{1},x_{2},x_{3})=(x_{2},-x_{1},0). If (x15)2+x22(x_{1}-5)^{2}+x_{2}^{2}\in or if (x15)2+x22(x_{1}-5)^{2}+x_{2}^{2}\in and x15x_{1}\geq 5, then FB(x1,x2,x3)=(x2,x1+5,0)F_{B}(x_{1},x_{2},x_{3})=(x_{2},-x_{1}+5,0). If x1x_{1}\in and x2|x_{2}|\in, then FB(x1,x2,x3)=(x2,0,0)F_{B}(x_{1},x_{2},x_{3})=(x_{2},0,0). This partial field is continuous and does not have any zeros. Note that the field does not depend on x3x_{3} and is always contained in the (x1,x2)(x_{1},x_{2})-plane.

The computational problem is defined as follows:

Let g2g\geq 2. The Hairy-gg-Torus problem is defined as: given ε>0\varepsilon>0 and an arithmetic circuit GG with 3 inputs and outputs, using gates {+,×ζ,max}\{+,\times\zeta,\max\} and rational constants, find xTgx\in T_{g} such that Pxε[G(x)]ε\|P_{x}^{\varepsilon}[G(x)]\|_{\infty}\leq\varepsilon.

Here PxεP_{x}^{\varepsilon} denotes the projection onto the tangent space to TgT_{g} at xTgx\in T_{g} with error at most ε/2\varepsilon/2, i.e. Px[G(x)]Pxε[G(x)]ε/2\|P_{x}[G(x)]-P_{x}^{\varepsilon}[G(x)]\|_{\infty}\leq\varepsilon/2, where PxP_{x} is the exact projection.

For any g2g\geq 2, Hairy-gg-Torus is PPAD-complete.

In Proposition 13 below, we show that Hairy-gg-Torus reduces to 2(g1)2(g-1)-source End-of-Line. Using the results in Section 8 (Theorem 14), it follows that the problem lies in PPAD. PPAD-hardness is proved in Appendix C by embedding 2(g1)2(g-1) modified copies of a 2D-Variant-Brouwer instance. ∎

2 Hairy-g𝑔g-Torus is in PPAD

For any g2g\geq 2, Hairy-gg-Torus reduces to 2(g1)2(g-1)-source End-of-Line.

We will prove the result for g=2g=2. The proof immediately generalises to any other larger value of gg.

For this proof we need a sufficiently fine triangulation of the 22-torus that is also locally efficiently computable. For any point on the 22-torus, we should be able to efficiently compute all nearby triangles. In particular, given a triangle we should be able to efficiently obtain all adjacent triangles. Moreover, the triangulation should be sufficiently fine, meaning that, given some δ>0\delta>0, we should have a triangulation such that all corners of a triangle are within distance δ\delta of each other. We call this a δ\delta-fine triangulation.

We can construct such a triangulation as follows. We start with a fixed triangulation of the 22-torus, such that the curved region delimited by each triangle is sufficiently flat. Then, we can easily construct a fine triangulation of every triangle. Finally, we compute the (approximate) projection of the points of this fine triangulation on the surface of the 22-torus. By taking a fine enough triangulation of the triangles and a good enough approximation of the projection, we can ensure that the triangulation is δ\delta-fine. Note that when we take the approximate projection, we compute a point that exactly lies on the 22-torus and is close to the true projection. Thus, all the points of the triangulation lie exactly on T2T_{2}.

Let (ε,G)(\varepsilon,G) be an instance of Hairy-22-Torus. Using similar arguments to the proof of Lemma 2, it is straightforward to show that xPx[G(x)]x\to P_{x}[G(x)] is LL-Lipschitz continuous on the 22-torus, for a similar value of LL. Pick a δ\delta-fine triangulation of the 22-torus as described above with δ=ε2(1cos1)/(2L)\delta=\varepsilon\sqrt{2(1-\cos 1^{\circ})}/(2L). We will now colour every node of the triangulation with one of three colours {A,B,C}\{A,B,C\} and use a Sperner argument on this colouring. To construct the colouring we will use the base field FBF_{B}, defined earlier. We just need to decide how to extend the base field to also be defined on the two flat regions (at x3=1x_{3}=1 and x3=1x_{3}=-1). Here, the simplest way to do this is to draw an X-shape on the flat region and assign one of the four cardinal flat vectors to each of the four regions (see Fig. 5). Then, the base field is defined for any point on T2T_{2} (if the point lies on a boundary, resolve ties arbitrarily), even though it is no longer continuous.

For any node xx of the triangulation, its colour depends on θ[0,360)\theta\in[0^{\circ},360^{\circ}) : the angle between Px[G(x)]P_{x}[G(x)] and the base field at xx. The angle is measured from Px[G(x)]P_{x}[G(x)] to the base field vector in counter-clockwise direction when looking from outside the 22-torus. If 0θ<1200^{\circ}\leq\theta<120^{\circ} then the colour is AA, if 120θ<240120^{\circ}\leq\theta<240^{\circ} it is BB, and if 240θ<360240^{\circ}\leq\theta<360^{\circ} it is CC. Unfortunately, we cannot exactly compute Px[G(x)]P_{x}[G(x)], nor the angle between two vectors. Thus, we compute a sufficiently good approximation of Px[G(x)]P_{x}[G(x)] and of the angle and choose the colour based on this approximation. Specifically, we compute a good enough approximation such that if Px[G(x)]ε/2\|P_{x}[G(x)]\|_{\infty}\geq\varepsilon/2, then the angle has error at most 11^{\circ}.

We can assume that at the centre of the cross in the top flat region (x3=1x_{3}=1), the triangulation is such that there are four points such that each lies in one of the four regions, and they form two triangles of the triangulation. Let x(1),x(2),x(3),x(4)x^{(1)},x^{(2)},x^{(3)},x^{(4)} be those four points. Note that the pairwise distance between any of those four points is at most 2δ2\delta. Thus, by the choice of δ\delta, we must have that Px(i)[G(x(i))]Px(j)[G(x(j))]ε2(1cos1)\|P_{x^{(i)}}[G(x^{(i)})]-P_{x^{(j)}}[G(x^{(j)})]\|_{\infty}\leq\varepsilon\sqrt{2(1-\cos 1^{\circ})}, for any i,ji,j. Note that since we are in the flat region, we can project exactly, i.e. Pxε[G(x)]=Px[G(x)]P_{x}^{\varepsilon}[G(x)]=P_{x}[G(x)]. If there exists ii such that Px(i)[G(x(i))]ε\|P_{x^{(i)}}[G(x^{(i)})]\|_{\infty}\leq\varepsilon, then we are done. If this is not the case, then the angle of Px(i)[G(x(i))]P_{x^{(i)}}[G(x^{(i)})] varies by at most one degree for i{1,2,3,4}i\in\{1,2,3,4\}. It follows that the angle θi\theta_{i} computed for each of the four points is equal to the angle between the base field and some fixed vector, with an error of at most 11^{\circ}. Since the four points’ base vectors correspond to the four cardinal flat vectors, it is easy to check that the four points get the colours A,B,CA,B,C in clockwise order (and one of the colours is repeated, i.e. A,A,B,CA,A,B,C or A,B,B,CA,B,B,C or A,B,C,CA,B,C,C). The ABAB segment is our first Sperner-source. Applying the same arguments to the bottom flat region (x3=1x_{3}=-1) yields four points that again get the colours A,B,CA,B,C in clockwise order. Thus, we get a second ABAB segment that is another Sperner-source. Each of those sources is the beginning of a Sperner path that will eventually lead to a trichromatic triangle. Since the 22-torus is orientable, the two paths cannot cancel each other out.

It remains to show that any trichromatic triangle yields a solution to the Hairy-22-Torus instance. Consider any trichromatic triangle with three vertices x(1),x(2),x(3)x^{(1)},x^{(2)},x^{(3)}. Assuming we have picked δ\delta smaller than some constant, the base field can vary at most by an angle of 9090^{\circ} on these three vertices. If Px(i)ε[G(x(i))]ε\|P_{x^{(i)}}^{\varepsilon}[G(x^{(i)})]\|_{\infty}\leq\varepsilon for some ii, then we are done. Assume that this is not the case. For all i,ji,j we also have that Px(i)[G(x(i))]Px(j)[G(x(j))]Lδε2(1cos1)/2\|P_{x^{(i)}}[G(x^{(i)})]-P_{x^{(j)}}[G(x^{(j)})]\|_{\infty}\leq L\delta\leq\varepsilon\sqrt{2(1-\cos 1^{\circ})}/2 and thus the angle between those two vectors is at most 11^{\circ} (because Px(i)[G(x(i))]>ε/2\|P_{x^{(i)}}[G(x^{(i)})]\|_{\infty}>\varepsilon/2). Thus, the θi\theta_{i} can vary by at most 9393^{\circ} for i=1,2,3i=1,2,3 (because every θi\theta_{i} is computed with error at most 11^{\circ} in this case). It follows that it is impossible to get all three colours.

For larger gg, we define the base field by just repeating the same pattern and the rest works as before. Note that we obtain two sources for every region between two adjacent holes, i.e. 2(g1)2(g-1) sources. ∎

End-of-Line: One Source to Rule Them All

End-of-Line is the canonical problem used to define PPAD. Investigating variants of the problem is of independent interest, in particular in order to gain a better understanding of PPAD and how it relates to other similar subclasses of TFNP. An additional motivation for studying these variants is given by this paper, since a multiple-source variant of End-of-Line is used to prove that finding an approximate Hairy Ball solution lies in PPAD (Section 4).

This section is an improved version of the corresponding content in the technical report . In we use these results to show that a computational problem related to the Mutilated Chessboard puzzle is PPAD-complete.

Recall that in the End-of-Line problem (Definition 1), we are given a directed graph where each vertex has in- and out-degree at most 11 and a known source of this graph, and we wish to find a sink or another source. But, what if, instead of just one, we already know two sources of an End-of-Line instance? We are still interested in finding any sink or any other source. Intuitively, the problem might seem easier, because the existence of two sources implies the existence of at least two sinks, hence more potential solutions. In fact, it is easy to see that this problem is actually at least as hard as End-of-Line: just duplicate the whole End-of-Line instance.

The other direction, however, is not trivial. Indeed, if we interpret our 2-source End-of-Line instance as a standard End-of-Line instance (and pick one of the two sources as the standard source), then the other known source is a valid solution to End-of-Line, but not a valid solution to our original problem. In other words, it is not clear how to solve this problem if we are given access to an oracle solving End-of-Line, because the oracle could just return the other known source. We consider the following more general problem, where we are given an End-of-Line graph and an explicit list of known sources.

The Multiple-Source End-of-Line problem, abbreviated MS-EoL, is defined as: given circuits S,PS,P with nn inputs and nn outputs and s1,,sk{0,1}ns_{1},\dots,s_{k}\in\{0,1\}^{n} such that P(si)=siS(si)P(s_{i})=s_{i}\neq S(s_{i}) for all ii, find x{0,1}nx\in\{0,1\}^{n} such that P(S(x))xP(S(x))\neq x or x{s1,,sk}x\notin\{s_{1},\dots,s_{k}\} such that S(P(x))xS(P(x))\neq x.

In passing, let us note that in the undirected case this kind of generalisation is trivial. The undirected analogue of End-of-Line is Leaf: given an undirected graph where every vertex has degree at most 22 and given a vertex of degree 11, find another vertex of degree 11, i.e. another leaf. Assume that we know kk leaves instead of just one. If kk is even, then the problem is not even in TFNP. If kk is odd, then we can add edges between known leaves until exactly one is left. Thus, the problem is equivalent to Leaf. This kind of reduction does not work for the directed case. Nevertheless, we obtainThis problem was discussed in an online thread (https://cstheory.stackexchange.com/q/37481). E. Jeřábek proved membership in PPADS and PPA-pp for every prime pp (but not membership in PPAD).:

Multiple-Source End-of-Line is equivalent to End-of-Line.

A natural generalisation of Multiple-Source End-of-Line is the following problem: given an End-of-Line graph and a list of kk known sources and mm known sinks, find another source or sink. Note that for this problem to be in TFNP, we must require kmk\neq m. Using Theorem 14, it is easy to see that this problem is equivalent to End-of-Line. If k>mk>m, then we add an edge from each of the mm known sinks to some corresponding known source and obtain an instance with kmk-m known sources and no known sinks. Similarly, if k<mk<m, then we first reverse all directed edges and then apply the same trick.

We now give the proof of Theorem 14. The next two sections then present additional consequences of this result.

The reduction from End-of-Line to MS-EoL is trivial. The challenging step is the reduction from MS-EoL to End-of-Line.

Let (S,P)(S,P) be an instance of MS-EoL with a list of kk known sources, where the vertex set is {0,1}n\{0,1\}^{n}, also interpreted as {0,,2n1}\{0,\dots,2^{n}-1\}. Without loss of generality, we assume that the known sources are 0,1,2,,k10,1,2,\dots,k-1. This is easy to achieve by applying an efficient bijection on the vertex set.

For simplicity, we are going to assume that P(S(z))=zP(S(z))=z for all z<kz<k. We also assume that for all xx we have P(S(x))=xP(S(x))=x unless S(x)=xS(x)=x, and S(P(x))=xS(P(x))=x unless P(x)=xP(x)=x. The first assumption corresponds to requiring that the first kk vertices indeed be sources. Note that we can check this using O(k)O(k) evaluations of the circuits, i.e. in polynomial time in S+P+kn|S|+|P|+kn, and any “false” source is a solution to the MS-EoL instance. Here, S+P+kn|S|+|P|+kn denotes the size of the input, i.e. the sum of the sizes of the two circuits and the length of the list of known sources given in the input. The second assumption corresponds to requiring that the graph is in some sense well-defined. This requirement can be enforced by a slight modification of the circuits that can be done in time polynomial in S+P+kn|S|+|P|+kn. Any solution of the modified instance is a solution of the original instance.

Let Vs,Vt,VpV^{s},V^{t},V^{p} be the following subsets of {0,,2n1}\{0,\dots,2^{n}-1\}:

Vs={x:P(x)=x,S(x)x}V^{s}=\{x:P(x)=x,S(x)\neq x\}. This corresponds to all the sources of the graph.

Vt={x:S(x)=x,P(x)x}V^{t}=\{x:S(x)=x,P(x)\neq x\}. This corresponds to all the sinks of the graph.

Vp={x:P(x)x,S(x)x}V^{p}=\{x:P(x)\neq x,S(x)\neq x\}. This corresponds to all the vertices that are not isolated, but are neither sources nor sinks. We call those path vertices.

Note that members of all those subsets are recognisable in polynomial time in S+P+kn|S|+|P|+kn. Let V=VPVSVIV=V_{P}\cup V_{S}\cup V_{I}. Note that isolated vertices are not contained in VV.

Let G=(V,E)G=(V,E) be the graph represented by circuits S,PS,P (without isolated vertices). Below we will give an inductive construction of the graph Gk=(Vk,Ek)G_{k}=(V_{k},E_{k}) that will have the following properties:

The sources of GkG_{k} are all the sets of the form {s1,,sk}\{s_{1},\dots,s_{k}\}, where s1,,skVss_{1},\dots,s_{k}\in V^{s} are distinct sources of the original graph.

The sinks of GkG_{k} are all the sets of the form {t1,,tk}\{t_{1},\dots,t_{k}\}, where t1,,tkVtt_{1},\dots,t_{k}\in V^{t} are distinct sinks of the original graph.

Every vertex of GkG_{k} can be represented using at most kn+k2kn+k^{2} bits. There exists a polynomial algorithm that for each such bit-string decides whether it represents a vertex of GkG_{k} or not.

The successor and predecessor circuits Sk,PkS_{k},P_{k} have polynomial size with respect to S+P+kn|S|+|P|+kn and can be constructed in polynomial time.

Note that the only known source of GkG_{k} is {0,1,,k1}\{0,1,\dots,k-1\}. Any other source or any sink of GkG_{k} contains at least one unknown source or sink of the original graph. Thus, if we can construct (in polynomial time in S+P+kn|S|+|P|+kn) circuits Pk,SkP_{k},S_{k} that represent this graph, then we have a polynomial reduction from MS-EoL to End-of-Line.

Furthermore, if we also have i1i\geq 1 (i.e. at least one path vertex and sink), then we define

2 The Imbalance problem

Up to this point, we have only considered graphs where every vertex has in- and out-degree at most 11. However, the principle that guarantees the existence of a solution in an End-of-Line graph can be generalised to higher degree graphs. If we are given a directed graph and an unbalanced vertex, i.e. a vertex with in-degree \neq out-degree, then there must exist another unbalanced vertex.

Beame et al. defined the corresponding problem Imbalance, which is seemingly more general than End-of-Line. In this problem, every vertex is not constrained to have in- and out-degree at most 11. Instead, in- and out-degree are bounded by some polynomial of the input lengthNote that this trivially holds, if the input consists of circuits that explicitly output the predecessor and successor list.. We are given a vertex that is unbalanced and have to find another unbalanced vertex (which is guaranteed to exist). The problem can be informally defined as follows:

The Imbalance problem is defined as: given a directed graph (represented concisely by predecessor and successor functions) and a vertex zz that has in-degree \neq out-degree, find a vertex xzx\neq z that also has in-degree \neq out-degree.

Beame et al. claim that Imbalance reduces to End-of-Line, using the same argument as for the corresponding problems on undirected graphs. However, if the graph is directed, a complication arises (that is not an issue in the undirected case). Indeed, their proof idea is incomplete, because they overlook the fact that their reduction yields an End-of-Line instance with multiple known sources. Using Theorem 14 we can provide a full proof of their claim.

Let us now define the problem formally. Similarly to End-of-Line, the graph is provided implicitly through circuits S,P:{0,1}n{0,1}dnS,P:\{0,1\}^{n}\to\{0,1\}^{dn} computing successors and predecessors respectively. For x{0,1}nx\in\{0,1\}^{n}, S(x)=(y1,y2,,yd)({0,1}n)dS(x)=(y_{1},y_{2},\dots,y_{d})\in(\{0,1\}^{n})^{d} encodes the successors of xx as follows: if yixy_{i}\neq x, then it is a potential successor of xx. Thus, if S(x)=(x,y,y,x,,x)S(x)=(x,y,y,x,\dots,x), then yy is the only potential successor of xx. We abuse notation and let S(x)S(x) denote the set of all potential successors of xx (i.e. turn S(x)=(y1,y2,,yd)S(x)=(y_{1},y_{2},\dots,y_{d}) into the set {y1,y2,,yd}{x}\{y_{1},y_{2},\dots,y_{d}\}\setminus\{x\}). We use the same interpretation and notation for the predecessor circuit PP. Thus, a directed edge (x,y)(x,y) exists, if and only if yS(x)y\in S(x) and xP(y)x\in P(y).

Using this notation we can formally define the problem as follows.

The Imbalance problem is defined as: given circuits S,P:{0,1}n{0,1}dnS,P:\{0,1\}^{n}\to\{0,1\}^{dn} and a vertex z{0,1}nz\in\{0,1\}^{n} with S(z)P(z)|S(z)|\neq|P(z)|, find

x{0,1}n{z}x\in\{0,1\}^{n}\setminus\{z\} such that S(x)P(x)|S(x)|\neq|P(x)|

or x,y{0,1}nx,y\in\{0,1\}^{n} such that yS(x)xP(y)y\in S(x)\land x\notin P(y) or yS(x)xP(y)y\notin S(x)\land x\in P(y).

Note that the number of incoming and outgoing edges at a vertex is bounded by a polynomial in the size of the input, because dd is bounded by the size of the circuits. Beame et al. defined this problem in a black box model, namely the predecessor and successor functions are oracles. Since our reductions do not make use of the white box aspect of the input circuits (they don’t look inside the circuit, but just use it as a black box), the results also hold in their model.

PPAD-hardness is trivial, since Imbalance generalises End-of-Line. To show membership in PPAD we follow the proof idea given by Beame et al. .

The undirected analogue of End-of-Line is Leaf: given an undirected graph where every vertex has degree at most 22 and given a vertex of degree 11, find another vertex of degree 11, i.e. another leaf. The generalisation of Leaf is called Odd: given an undirected graph and a vertex of odd degree, find another vertex of odd degree. It is quite straightforward to show that Odd is equivalent to Leaf. Clearly, Leaf trivially reduces to Odd. To show that Odd reduces to Leaf, Papadimitriou and Beame et al. use the chessplayer algorithm (which is based on an Euler tour argument). Intuitively, the idea is to separate vertices into multiple copies such that every copy has degree at most 2.

As claimed by Papadimitriou and Beame et al. , the chessplayer algorithm can also be applied to the directed case. Let (S,P,z)(S,P,z) be an instance of Imbalance, where S,P:{0,1}n{0,1}dnS,P:\{0,1\}^{n}\to\{0,1\}^{dn}. First of all, note that we can assume wlog that all edges are well-defined, i.e. we have yS(x)xP(y)y\in S(x)\Leftrightarrow x\in P(y). This can be achieved by a simple modification of the circuits: the modified circuit SS^{\prime} outputs {yS(x):xP(y)}\{y\in S(x):x\in P(y)\} instead of S(x)S(x). Along with the analogous modification for PP, this yields an instance where the solutions can only be of the first type, and any such solution yields a solution (of the first or second type) of the original instance.

Note that for any x{0,1}nx\in\{0,1\}^{n}, the successor and predecessor lists can be ordered lexicographically. For any x{0,1}nx\in\{0,1\}^{n} and i1i\geq 1, let Si(x){0,1}nS_{i}(x)\in\{0,1\}^{n} denote the iith successor of xx, if S(x)S(x) is ordered lexicographically. If xx has less than ii successors, then let Si(x)=xS_{i}(x)=x. Finally, let #xS(y)\#^{S}_{x}(y) correspond to the index of y{0,1}ny\in\{0,1\}^{n} in the successor list of x{0,1}nx\in\{0,1\}^{n}, i.e. S#xS(y)(x)=yS_{\#^{S}_{x}(y)}(x)=y. Define Pi(x)P_{i}(x) and #xP(y)\#^{P}_{x}(y) analogously.

It is easy to see that for any balanced vertex xx in the graph given by (S,P)(S,P), all of its versions (x,)(x,\cdot) in the graph given by (S^,P^)(\widehat{S},\widehat{P}) will either have in- and out-degree one, or be isolated. Thus, if (x,i)(x,i) is a source or sink, then xx is unbalanced in the graph given by (S,P)(S,P). Furthermore, all edges are well-defined.

Beame et al. claim that this reduction is sufficient to prove that Imbalance reduces to End-of-Line (which they call SOURCE-OR-SINK). However, consider the case where the imbalance in the known unbalanced vertex zz is strictly greater than one, i.e. S(z)P(z)2||S(z)|-|P(z)||\geq 2. Then, there exist iji\neq j such that (z,i)(z,i) and (z,j)(z,j) are both sources or both sinks. For example, if S(z)=2|S(z)|=2 and P(z)=0|P(z)|=0, then (z,1)(z,1) and (z,2)(z,2) are sources, and all the other (z,i)(z,i) are isolated vertices. If we consider this as an End-of-Line instance and pick (z,1)(z,1) as the known source, then (z,2)(z,2) is a valid solution. However, note that it does not yield a solution to the Imbalance instance.

Using our results on multiple-source End-of-Line we can complete the proof. First of all, we can make sure that zz is in deficiency and not in excess, i.e. S(z)P(z)1|S(z)|-|P(z)|\geq 1, simply by inverting the role of SS and PP. Then, the reduction described above yields an End-of-Line instance with known sources (z,i+1)(z,i+1), (z,i+2),,(z,i+2),\dots, (z,i+j)(z,i+j), where i=P(z)i=|P(z)| and j=S(z)P(z)1j=|S(z)|-|P(z)|\geq 1. Note that all other (z,)(z,\cdot) are neither sources, nor sinks. Since we can efficiently produce an explicit list of all the known sources, we obtain an instance of MS-EoL, which lies in PPAD by Theorem 14. ∎

3 Looking for multiple solutions

If we are given an End-of-Line instance with kk known sources, then we can ask for kk sinks or kk unknown sources. The problem is total, because at least kk sinks are guaranteed to exist.

Intuitively, this problem seems harder than End-of-Line or MS-Eol, because we are now looking for more than one solution. However, using Theorem 14 we can show:

The non-trivial direction is the reduction to End-of-Line. Buss and Johnson have shown that PPAD, PPADS, PPA and PLS are closed under Turing reductions, by providing a way to transform a Turing reduction (to a complete problem of each of those classes) into a many-one reduction. Thus, it suffices to provide a Turing reduction from kk-Ends-of-Line to End-of-Line. By Theorem 14 we can efficiently simulate an oracle for MS-EoL, using an oracle for End-of-Line. We can solve an instance of kk-EoL by making repeated calls to MS-EoL oracles, with a list of all the currently known sources. If the oracle call returns a new source, then we add it to our list. If the oracle returns a sink, then we add an edge from this sink to one of the known sources, and remove that source from the list. It is easy to see that after at most 2k2k oracle calls we will have obtained at least kk sinks or at least kk new sources. Note that the list of known sources will have length at most 2k2k. ∎

Note that the proof still works if we are given an explicit list of the known sources in the input (as in the definition of MS-EOL), i.e. kk does not have to be fixed. Furthermore, the same proof also yields PPAD-completeness for the following problem. Fix some polynomial pp. The problem is: given kk sources, find kk sinks or p(k)p(k) sources. This seems quite surprising, as one might have expected this problem to be closer to PPADS.

We close this section by giving some analogous results for the class PPADS and its canonical complete problem Sink . Sink is identical to End-of-Line, except that we only accept a sink as a solution and are not interested in other sources. In this case the results are easier to obtain, because there is no need for an analogue of Theorem 14.

The Sink problem is defined as: given circuits S,PS,P with nn inputs and nn outputs and such that P(0)=0S(0)P(0)=0\neq S(0), find xx such that P(S(x))xP(S(x))\neq x.

Unlike End-of-Line, it is easy to prove that multiple source Sink is equivalent to Sink. Consider the problem MS-Sink, where we are given a graph and a list of known sources and are looking to find a sink. It is easy to see that this problem is equivalent to Sink. A reduction from Sink to MS-Sink is given by simply taking kk copies of the original Sink instance graph. The reduction in the other direction is even more trivial. Indeed, we can just ignore the extra k1k-1 sources we know, because we are only interested in sinks.

We can define the analogous problem to kk-EOL, where we look for multiple sinks.

Sink easily reduces to kk-Sinks by taking kk copies of the graph. The other direction can again be proved by using the result by Buss and Johnson . A Turing reduction from kk-Sinks to Sink is obtained by doing the following: given an instance of kk-Sinks, use the oracle to solve the Sink problem on this instance, then add an edge from the sink we just obtained to one of the known sources. Doing this kk times yields kk distinct sinks of the original instance. ∎

Just like Theorem 16, this result also holds if there is a polynomial number of sources, in particular if they are given explicitly in the input.

Acknowledgements

This work was supported by an EPSRC doctoral studentship (Reference 1892947).

References

Appendix A Reduction from 2D-Hairy-Cube to 2D-Hairy-Ball

In this section we prove the following result.

The main idea of the proof is simple: first we obtain a continuous field on the surface of the cube by interpolation. Then, we transfer the field onto the sphere. Various technical difficulties arise, but they can all be overcome. One difficulty is that in order to simulate the Boolean circuit describing the discrete field, the arithmetic circuit first has to do “bit extraction”, but this cannot be done exactly. This issue can be resolved by using a standard technique called the averaging trick.

The reduction works by constructing an arithmetic circuit that will (among other things) simulate the Boolean circuit. To do this we need to do “bit extraction” on a rational input of the arithmetic circuit, i.e. compute the NN most significant bits in its binary representation. However, this is impossible to do exactly using an arithmetic circuit with gates {+\{+, ×ζ\times\zeta, max}\max\}, because this kind of circuit can only compute continuous functions. As a result, any bit extraction method will make mistakes in some small regions. To circumvent this obstacle, we will simulate the evaluation of the Boolean circuit at multiple points close to the actual input. By choosing those points wisely we can ensure that at most three of them can result in a bogus bit extraction. Thus, if we output the average value obtained from all those points, the mistakes will have a very limited impact on the final result. This averaging technique is a standard tool in the field, see .

Now consider a point yy on the surface of the unit cube and let e=(1,1,1)e=(1,1,1). Let

Note that since yy lies on the surface of the cube, all the points in SyS_{y} lie in at least one of the cubelets we defined above. Furthermore, note that any two cubelets that each contain a point in SyS_{y}, have to be adjacent, i.e. they have a non-empty intersection.

We now describe how to perform bit extraction using an arithmetic circuit. Let tt\in. The arithmetic circuit can compute

We are now ready to describe the arithmetic circuit FF with three inputs and outputs, using gates {+,×ζ,max}\{+,\times\zeta,\max\}, that will be the output of the reduction. Let x=(x1,x2,x3)x=(x_{1},x_{2},x_{3}) be the (rational) input to the circuit. The circuit FF does the following:

Project xx onto the surface of the 1/21/2-cube (i.e. the set of points uu such that u=1/2\|u\|_{\infty}=1/2) and then map it to the surface of the unit cube. Namely, compute y=(y1,y2,y3)y=(y_{1},y_{2},y_{3}) where yi=2×min(1/2,max(1/2,xi))y_{i}=2\times\min(1/2,\max(-1/2,x_{i})).

Compute the coordinates of the 100100 points in SyS_{y}.

Output the average of all 100100 output vectors.

The next step is to show that if there is no discrete solution close to the point yy corresponding to xx, then Px[v]\|P_{x}[v]\|_{\infty} is lower-bounded by a constant. Recall that PxP_{x} denotes the projection onto the tangent space to the unit sphere at xx. We consider three cases depending on the type of cubelet involved. A face cubelet is one that only has one corresponding original squarelet. An edge cubelet has two corresponding original squarelets and a corner cubelet has three corresponding original squarelets.

Consider any xS2x\in S^{2} such that there is no discrete solution close to yy (namely: no solution involving squarelets that are adjacent to a squarelet containing yy).

Case 1: xx is such that all points in SyS_{y} lie in face cubelets.

Note that in this case, all the corresponding original squarelets lie on the same face. As a result, the average vv will lie in the plane parallel to this face and going through the origin. Furthermore, note that yy cannot lie too close to any edge of the cube, otherwise we would get edge cubelets. Assume wlog that yy lies on the face {z3=1}\{z_{3}=1\}. It follows that xx must be such that x1(1/2,1/2),x2(1/2,1/2),x3>1/2x_{1}\in(-1/2,1/2),x_{2}\in(-1/2,1/2),x_{3}>1/\sqrt{2}. As stated above we have v1=1\|v\|_{1}=1. One can check that in this case a (very crude) bound is Px[v]132\|P_{x}[v]\|_{\infty}\geq\frac{1}{3\sqrt{2}}.

Case 2: xx is such that at least one point in SyS_{y} lies in an edge cubelet and no point lies in a corner cubelet

Note that there is a special case where SyS_{y} can have points contained in edge cubelets from two different edges. This special case is handled exactly as in case 3 below. Here we only consider the case where all edge cubelets come from the same edge denoted EE. Assume wlog that EE is the edge given by {z1=1,z2=1}\{z_{1}=1,z_{2}=-1\}. v=(v1,v2,v3)v=(v_{1},v_{2},v_{3}) is the weighted average of the cardinal vectors contained in all the corresponding original squarelets. All those squarelets must be adjacent to EE on either side (and they are all adjacent to each other as noted earlier). Observe that (v1,v2)(v_{1},v_{2}) cannot lie in the interior of the two quadrants given by {v1<0,v2>0}\{v_{1}<0,v_{2}>0\} and {v1>0,v2<0}\{v_{1}>0,v_{2}<0\}. Otherwise, we would have two cardinal vectors forming an edge solution.

Since yy is at distance at most 2n+12^{-n+1} from EE, it follows that xx satisfies x11/22n,x21/2+2n,x3(1/2,1/2)x_{1}\geq 1/2-2^{-n},x_{2}\leq-1/2+2^{-n},x_{3}\in(-1/2,1/2). One can check that for n4n\geq 4, we get that the angle α\alpha between xx and vv must satisfy cosα207/16\cos\alpha\leq\sqrt{207}/16. It follows that

Case 3: xx is such that at least one point in SyS_{y} lies in a corner cubelet

Assume wlog that the corner is the one given by {z1=1,z2=1,z3=1}\{z_{1}=1,z_{2}=-1,z_{3}=1\}. vv is the weighted average of the cardinal vectors contained in all the corresponding original squarelets. It is easy to see that the original squarelets concerned are exactly the original corner squarelets. By inspection one can check that vv cannot lie in the two orthants given by {v10,v20,v30}\{v_{1}\leq 0,v_{2}\geq 0,v_{3}\leq 0\} and {v10,v20,v30}\{v_{1}\geq 0,v_{2}\leq 0,v_{3}\geq 0\}. Since yy is at distance at most 2n+12^{-n+1} from the corner, it follows that xx satisfies x11/22n,x21/2+2n,x31/2+2nx_{1}\geq 1/2-2^{-n},x_{2}\leq-1/2+2^{-n},x_{3}\geq 1/2+2^{-n}. Similarly to the previous case, we again obtain that the angle α\alpha between xx and vv must satisfy cosα207/16\cos\alpha\leq\sqrt{207}/16 (for n4n\geq 4). Thus, the same bound holds for this case too.

Unfortunately, all output vectors for points in SyS_{y} might not be computed correctly. Fortunately, at most 33 of them might yield bogus outputs. Thus we can write v=97100vg+3100vbv=\frac{97}{100}v_{g}+\frac{3}{100}v_{b}, where vgv_{g} and vbv_{b} are the averages of the good and bad outputs, respectively (assume wlog that there are exactly 3 bad outputs). The arguments in the previous paragraphs yield Px[vg]0.033\|P_{x}[v_{g}]\|_{\infty}\geq 0.033. By construction of the arithmetic circuit FF, we have vb11\|v_{b}\|_{1}\leq 1, which implies Px[vb]21\|P_{x}[v_{b}]\|_{2}\leq 1, and thus Px[vb]1\|P_{x}[v_{b}]\|_{\infty}\leq 1. Putting everything together we get

Thus picking ε=0.002\varepsilon=0.002 yields the result. ∎

Appendix B Reduction from k𝑘kD-Hairy-Ball to (k+2)𝑘2(k+2)D-Hairy-Ball

𝑘2(k+2)D-Hairy-Ball Since 2D-Hairy-Cube is PPAD-hard (Proposition 11) and it reduces to 2D-Hairy-Ball (Proposition 18), it follows that 2D-Hairy-Ball is also PPAD-hard. In order to prove Theorem 7, we reduce kkD-Hairy-Ball to (k+2)(k+2)D-Hairy-Ball for all even k2k\geq 2.

For all even k2k\geq 2, kkD-Hairy-Ball reduces to (k+2)(k+2)D-Hairy-Ball.

and g(x)=(0,,0,xk+3,xk+2)g(x)=(0,\dots,0,-x_{k+3},x_{k+2}) if (x1,,xk+1)=0(x_{1},\dots,x_{k+1})=0. It is easy to check that gg is a Lipschitz-continuous tangent vector field on Sk+2S^{k+2}. Furthermore, given xSk+2x\in S^{k+2} such that g(x)ε/2\|g(x)\|_{\infty}\leq\varepsilon/\sqrt{2}, it holds that y=(x1,,xk+1)/(x1,,xk+1)2y=(x_{1},\dots,x_{k+1})/\|(x_{1},\dots,x_{k+1})\|_{2} is a well-defined point on SkS^{k} and satisfies f(y)ε\|f(y)\|_{\infty}\leq\varepsilon.

Output w:=(min{b,max{b,v}},xk+3,xk+2)w:=(\min\{b,\max\{-b,v\}\},-x_{k+3},x_{k+2})

Note that w,x=F(x),x\langle w,x\rangle=\langle F(x^{\prime}),x^{\prime}\rangle. Thus, the first k+1k+1 coordinates of Px[G(x)]P_{x}[G(x)] are u:=F(x)F(x),xxu:=F(x^{\prime})-\langle F(x^{\prime}),x^{\prime}\rangle x^{\prime}. Since xx is a solution we have uεε/4\|u\|_{\infty}\leq\varepsilon^{\prime}\leq\varepsilon/4. We also have

Thus, it follows that Pz[F(z)]ε/2\|P_{z}[F(z)]\|_{\infty}\leq\varepsilon/2. Compute zSkz^{\prime}\in S^{k} such that zzε/2L\|z-z^{\prime}\|_{\infty}\leq\varepsilon/2L (e.g. by using the stereographic projection technique). By Lemma 2 it follows that Pz[F(z)]ε\|P_{z^{\prime}}[F(z^{\prime})]\|_{\infty}\leq\varepsilon. ∎

Appendix C Hairy-g𝑔g-Torus is PPAD-hard

For any g2g\geq 2, Hairy-gg-Torus is PPAD-hard.

We reduce from the PPAD-complete problem 2D-Variant-Brouwer (Section 6.2). Let C:[2n]×[2n]{(1,0),(1,0),(0,1),(0,1)}C:[2^{n}]\times[2^{n}]\to\{(1,0),(-1,0),(0,1),(0,-1)\} be an instance of 2D-Variant-Brouwer. Note that we can slightly change the boundary conditions in the definition of the problem without changing its complexity. Specifically, as long as opposite sides of the square have opposite arrows, the problem remains the same. In this proof we use 2D-Variant-Brouwer instances where the top boundary contains right-arrows and the right boundary contains up-arrows (and the rest of the boundary is diametrically opposite). The boundary conditions are chosen this way to be compatible with the base field FBF_{B}.

We give the proof for g=2g=2. The same arguments work for g3g\geq 3. We are going to pick an ε>0\varepsilon>0 and construct an arithmetic circuit GG that computes a field on the 22-torus, such that any ε\varepsilon-approximate zero of the projection of GG yields a solution to the 2D-Variant-Brouwer instance. GG will compute a close approximation of the base field FBF_{B} (defined in Section 7) and we will embed an interpolation of the 2D-Variant-Brouwer instance in each of the two flat regions. Thus, any approximate zero will have to lie in one of the regions corresponding to the embedded Brouwer instance.

We now describe how to construct GG. In the two embedding regions, we will use the averaging trick to ensure that G(x)G(x) is small only if a 2D-Variant-Brouwer solution is nearby. Since this has been explained in detail in the proof of Proposition 18 (Appendix A), we now treat this as a subroutine that we know how to implement efficiently. If one of the sampling points lies outside of the unit square, then we naturally extend the Brouwer instance there. This can be done by adding an extra layer of squarelets around the unit square and assigning the same arrow as the closest squarelet. Here we use the averaging trick with equiangle sampling of 88 points. In this case, we get that G(x)1/4\|G(x)\|_{\infty}\geq 1/4 if no solution is nearby. Thus, as long as ε<1/4\varepsilon<1/4, any ε\varepsilon-approximate zero yields a 2D-Variant-Brouwer solution.

Given input x=(x1,x2,x3)x=(x_{1},x_{2},x_{3}) the arithmetic circuit GG does the following:

Compute vL=(x2,x1,0)v_{L}=(x_{2},-x_{1},0), vR=(x2,x1+5,0)v_{R}=(x_{2},-x_{1}+5,0) and vM=(2x2,0,0)v_{M}=(2x_{2},0,0)

Use the averaging trick on CC with input (x12,x2+1/2)(x_{1}-2,x_{2}+1/2). Obtain average vCv_{C}

Compute indicators bL,bR,bCb_{L},b_{R},b_{C} and bMb_{M} (see below)

Output G(x)=h(vL,bL)+h(vR,bR)+h(vM,bM)+h(vC,bC)G(x)=h(v_{L},b_{L})+h(v_{R},b_{R})+h(v_{M},b_{M})+h(v_{C},b_{C})

where h(v,b)h(v,b) outputs max{b,min{b,vi}}\max\{-b,\min\{b,v_{i}\}\} for each of the three coordinates of vv. The bb-variables are indicator functions for various regions of the 22-torus. Since the arithmetic circuit can only compute continuous functions, we have to use approximate indicator functions, i.e. their value goes from 0 to 1 continuously in some small region close to the boundary of the region. The indicator bits are computed as follows:

Note that by construction, for any (x1,x2,x3)T2(x_{1},x_{2},x_{3})\in T_{2} we have bL+bR+bM+bC=1b_{L}+b_{R}+b_{M}+b_{C}=1. Using h(v,b)b\|h(v,b)\|_{\infty}\leq b, it follows that G(x)1\|G(x)\|_{\infty}\leq 1. Moreover, G(x)G(x) always lies in the (x1,x2)(x_{1},x_{2})-plane (i.e. [G(x)]3=0[G(x)]_{3}=0). Note also that h(v,b)h(v,b) lies in the same quadrant as vv and h(v,b)pmin{b,vp}\|h(v,b)\|_{p}\geq\min\{b,\|v\|_{p}\} for p{1,2,}p\in\{1,2,\infty\}.