The Hairy Ball Problem is PPAD-Complete

The Hairy Ball Theorem states that every continuous tangent vector field on an even-dimensional sphere must have a zero. We prove that the associated computational problem of (a) computing an approximate zero is PPAD-complete, and (b) computing an exact zero is FIXP-hard. We also consider the Hairy Ball Theorem on toroidal instead of spherical domains and show that the approximate problem remains PPAD-complete. On a conceptual level, our PPAD-membership results are particularly interesting, because they heavily rely on the investigation of multiple-source variants of END-OF-LINE, the canonical PPAD-complete problem. Our results on these new END-OF-LINE variants are of independent interest and provide new tools for showing membership in PPAD. In particular, we use them to provide the first full proof of PPAD-completeness for the IMBALANCE problem defined by Beame et al. in 1998.


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 k-sphere.It has various informal statements such as "you can't comb a hairy ball flat without creating a cowlick"1 , 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é [30] for the case k = 2.The theorem as stated for all even k was proved in 1912 by Brouwer [5].Accordingly, this result is sometimes also called the Poincaré-Brouwer theorem.In fact, the result proved by Poincaré [30] is stronger than stated above.It follows from it that for any (sufficiently well-behaved) 2-dimensional manifold with genus g = 1, any continuous tangent vector field must have a zero.In particular, this means that the HBT also holds for the torus of genus g for g ≥ 2, i.e. the 2-dimensional torus with g 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 [22,26,4,14,24,9].
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 [1].The complexitytheoretic 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 [26], but not the other way around.

Background on NP total search and PPAD
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 [25] 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 [29].
• 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.

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 PPADcompleteness 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 PPADcomplete (membership of PPAD being the tricky aspect).Our results make progress on the general question (studied in [19]) 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.3, we note that a proof of PPAD-completeness for the Imbalance problem by Beame et al. [3] 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.[20]).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 0, then any continuous tangent vector field on the surface must have a zero.The Euler characteristic of even-dimensional spheres is 2, while it is 2(1 − g) for 2-dimensional toruses of genus g ≥ 2. For odd-dimensional spheres it is 0.
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 2 sources (Section 4).On the other hand, if we consider the HBT problem on the 2-dimensional torus of genus g ≥ 2, then we obtain 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 [22].
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).

Other related work
Banach's Fixed Point Theorem [2] 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 subclass of PPAD [11,12,16].The search for Brouwer fixpoints (including discretised versions of Brouwer functions) is PPAD-complete for most variants of the problem [29,7], which is why we say the HBT is "Brouwer-like".Finally -in contrastthe computational problem of searching for a Borsuk-Ulam solution is PPA-complete [1].Other topological existence results that have PPA-complete search problems include the Hobby-Rice theorem [18] and the Ham Sandwich Theorem [17].

Preliminaries
Let k be a positive integer.For x ∈ R k , x 2 , x 1 and x ∞ denote the standard 2 -norm, 1 -norm and ∞ -norm respectively.For x, y ∈ R k , x, y := m i=1 x i y i denotes the inner product.
The k-dimensional unit sphere in R k+1 (or k-sphere) is denoted S k = {x ∈ R k+1 : x 2 = 1}.A continuous tangent vector field on S k is a continuous function f : S k → R k+1 such that for all x ∈ S k we have f (x), x = 0.The Hairy Ball Theorem can be stated as follows: Theorem 1 (Poincaré [30]-Brouwer [5]).If k ≥ 2 is even, then for any continuous tangent vector field f : S k → R k+1 , there exists x ∈ S k such that f (x) = 0.

Model of Computation
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 x, size(x) denotes the size of the representation of x, i.e. the sum of the representation length of its numerator and denominator in binary.For an arithmetic circuit F , size(F ) denotes the number of gates in the circuit added to the representation length of any rational constants used by the circuit.

Formal definition of TFNP
A computational search problem is given by a binary relation R ⊆ {0, 1} * × {0, 1} * , interpreted as follows: y ∈ {0, 1} * is a solution to instance x ∈ {0, 1} * , if and only if (x, y) ∈ R. The search problem R is in FNP (Functions in NP ), if R is polynomial-time computable (i.e.(x, y) ∈ R can be decided in polynomial time in |x| + |y|) and there exists some polynomial p such that (x, y) ∈ R =⇒ |y| ≤ p(|x|).Here {0, 1} * denotes all finite length bit-strings and |x| is the length of bit-string x.
The class TFNP (Total Functions in NP [25]) contains all search problems R 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} * there exists y ∈ {0, 1} * such that (x, y) ∈ R.
Let R and S be total search problems in TFNP.We say that R (many-one) reduces to S, if there exist polynomial-time computable functions f, g such that (f (x), y) ∈ S =⇒ (x, g(x, y)) ∈ R.
Note that if S is polynomial-time solvable, then so is R. We say that two problems R and S are (polynomial-time) equivalent, if R reduces to S and S reduces to R.
To be PPAD-complete, a problem must be equivalent to End-of-Line (Definition 8); in Section 8 we show that the multiple-source version MS-EoL (Definition 9) is equivalent.
3 The Hairy-Ball Problem

The kD-Hairy-Ball problem
The Hairy Ball Theorem naturally yields a corresponding computational problem.We are given a continuous tangent vector field f 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 x ∈ S 2 the vector field is simply the vector (1, 1, 1) projected onto the tangent space of S 2 at x.In this case, the only solutions are ±(1/ √ 3, 1/ √ 3, 1/ √ 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 x ∈ S 2 such that f (x) ∞ ≤ ε for some ε > 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 S 2 , the circuit will have three input gates and three output gates.The arithmetic circuit will be allowed to use gates {+, −, ×ζ, max, min} and rational constants.All the gates have fan-in 2, except ×ζ which has fan-in 1 and corresponds to multiplication by a rational constant ζ.Note that such a circuit is polynomially equivalent to a circuit only using gates {+, ×ζ, 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 [15].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 F , and any rational x, we can compute F (x) exactly in polynomial time in size(F ) and size(x).One potential issue is that F might not be tangent to the sphere, but this is easy to fix by simply considering the vector field given by the projection of F onto the corresponding tangent space to the sphere.Thus, we define the computational problem as follows: Definition 1 (kD-Hairy-Ball).Let k ≥ 2 be even.The kD-Hairy-Ball problem is defined as: given ε > 0 and an arithmetic circuit F with k + 1 inputs and outputs, using gates {+, ×ζ, max} and rational constants, find x ∈ S k such that P x [F (x)] ∞ ≤ ε.
Here P x [•] denotes the projection onto the tangent space to the sphere S k at x ∈ S k .Note that for any v ∈ R k+1 , we have P x [v] = v − v, x x, because x 2 = 1.Thus, the projection of any rational vector v onto the tangent space at rational x ∈ S k can be computed exactly in polynomial time in size(v) and size(x).Note that we are looking for a solution with respect to the ∞ -norm, but we could also have used the 2 -or 1 -norm, since all these versions are computationally equivalent.
kD-Hairy-Ball lies in TFNP.Clearly, any solution can be checked in polynomial time.Totality of kD-Hairy-Ball will immediately follow when we prove that it lies in PPAD (Corollary 5).
Lemma 2. Let k ≥ 2 be even.Let F be an arithmetic circuit with k + 1 inputs and outputs, using gates {+, ×ζ, max} and rational constants.Then, the function Proof.It is easy to see that if functions f 1 and f 2 are L 1 -and L 2 -Lipschitz respectively, then Since any rational constant used in F has absolute value bounded by 2 size(F ) , it follows that f 1 × ζ is L 1 2 size(F ) -Lipschitz.Using the fact that each input gate corresponds to a 1-Lipschitz function, it follows that F must be 2 size(F ) 2 -Lipschitz.
Using the same kind of argument it is easy to show that for x ∈ S k we always have 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.

About the power of the arithmetic circuit
The main disadvantage of defining kD-Hairy-Ball as in Definition 1 is that the type of circuit used seems quite restrictive.Clearly, it would be natural to also allow ×-gates that compute the product of two intermediate outputs (as opposed to just multiplication by a fixed constant).Unfortunately, allowing the ×-gate leads to technical complications in the definition of the problem because of repeated squaring (see below).These technicalities would make Definition 1 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} 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 2).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 ×-gates would also yield a problem that lies in PPAD.Furthermore, in Section 5 we prove that kD-Hairy-Ball is PPAD-hard.It immediately follows that formulations with more powerful circuits are also PPAD-hard.Thus, it turns out that allowing ×-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 ×-gates and how this can be circumvented in order to define a TFNPproblem.The main issue is that if the circuit is allowed to use ×-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 n ×-gates that multiply the output of the previous gate by itself.On input 2, this circuit outputs 2 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 M on all computations of the circuit.This means that every gate would have an output in [−M, M ].M would have representation size polynomial in the size of the circuit.Without loss of generality we can take M = 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/2, would output 2 −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.
As a result, we would have to settle for approximate computation of the circuit's output.Let F be a circuit with computation bounded in [−1 , 1].For any m ∈ N and any x ∈ S k , we can compute F m (x), which is F (x) up to error 2 −m , in time polynomial in the size of the circuit, m and size(x).This can be achieved by computing the output of every gate up to some error.Thus, when defining the Hairy-Ball problem, a solution would be required to satisfy One nice property of this kind of circuit is that the condition that F be tangential to S k can be enforced syntactically.Indeed, we can extend the circuit to output F (x)− F (x), x x, instead of F (x).Some care is required here, because the computations of the circuit are bounded in [−1, 1], but this can be solved by multiplying F (x) by 1/k before projecting and using ε/k instead of ε.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.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 kD-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 [29] that End-of-Line reduces to Brouwer (in fact, even 2D-Brouwer [7]).Thus, given a Hairy Ball function f , using our reduction and Brouwer's fixed point theorem, one can prove the existence of a point x k such that f (x k ) ≤ 1/2 k for any k (using the fact that f 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 x such that f (x) = 0. Finding a more direct way to deduce the Hairy Ball theorem from Brouwer's fixed point theorem is an interesting open question.

A general version of the Hairy-Ball problem
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.
We now define these assumptions formally, following the analogous definitions by Etessami and Yannakakis [15] for Brouwer fixed point problems.Let F be a class of Hairy Ball functions f : S k → R k+1 (i.e.continuous tangent vector fields) with k ≥ 2 even.Note that here k is not fixed for all f ∈ F, but we assume that k ≤ size(f ).For any f ∈ F, size(f ) denotes the length of the representation of f in F. In the case of kD-Hairy-Ball, k is fixed and F is the class of all such functions represented using arithmetic circuits with gates {+, ×ζ, max} (with the projection onto the tangent space at the end).In that case, size(f ) is the size of the circuit representing f .Recall that for rational vector x, size(x) is the length of the representation of x.

Definition 2 ([15]
).Let F be a class of Hairy Ball functions.
• F is polynomially computable, if there exists some polynomial p such that for any f ∈ F and any rational input x ∈ S k , f (x) can be computed in time p(size(f ) + size(x)).
• F is polynomially continuous, if there exists some polynomial q such that for any f ∈ F and any rational ε > 0, there exists a rational δ > 0 with size(δ) ≤ q(size(f ) + size(ε)) such that for all x, y ∈ S k we have Note that kD-Hairy-Ball yields a class F that is both polynomially computable and polynomially continuous (by Lemma 2).Definition 3. Let F be a class of Hairy Ball functions.The problem Hairy-Ball(F) is defined as: given f ∈ F and ε > 0, find x ∈ S k such that f (x) ∞ ≤ ε.
For simplicity we assume that we can recognise whether some string in {0, 1} * represents an element f ∈ F in polynomial time.If this does not hold, then Hairy-Ball(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.

The general problem lies in PPAD
Theorem 4. Let F be a class of Hairy Ball functions that is polynomially computable and polynomially continuous.Then, Hairy-Ball(F) lies in PPAD.
Proof Overview for Theorem 4. The proof can be subdivided into two parts.In the first part, we reduce kD-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 kD-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 version of Sperner's Lemma, given by Jarvis and Tanton [22].Our contribution here is two-fold: we extend their proof to any higher (even) dimension and we turn it into a polynomial-time reduction.
In order to obtain a polynomial-time reduction, instead of working directly on the sphere, we use a stereographic projection to "unfold" the sphere S k (⊂ R k+1 ) into the space R k , along with the vector field.Then, we consider a sufficiently large cross-polytope C of R k and prove that the "unfolded" vector field satisfies certain boundary conditions.In the case k = 2, this corresponds to the vector field making two full rotations when we move along the boundary of C (see Fig. 1a).Next, we pick an efficient triangulation of C and a suitable colouring of its nodes.The last step then requires us to prove that this colouring yields exactly two starting points (on the boundary) for Sperner paths (see Fig. 1b) that lead to panchromatic simplices.Using standard Sperner-arguments this yields a 2-source End-of-Line instance.The full proof for any even k can be found below.Note that, as expected, the proof does not work if k is odd.Indeed, the construction then yields a starting point and an ending point on the boundary, instead of two starting points.
(a) Boundary conditions after "unfolding" ...  Proof of Theorem 4. Let (f, ε) be an instance of Hairy-Ball(F) with f : S k → R k+1 .Stereographic projection.Consider the unit sphere S k in R k+1 .For convenience, we let the coordinate index start at 0 in R k+1 , i.e. x = (x 0 , x 1 , . . ., x k ).Let p = (1, 0, . . ., 0) ∈ S k .The stereographic projection with respect to the the pole p is defined as and its inverse is Note that the stereographic projection and its inverse can be computed exactly in polynomial time in the representation size of the rational input point.In particular, rational points are always mapped to rational points.Furthermore, it is easy to check that the inverse stereographic projection Unfolding: changing the domain and range of f .We want to "transform" the function f : S k → R k+1 into a function g : R k → R k , which is more convenient.Changing the domain of f is easy: the stereographic projection "unfolds" S k \ {p} into R k .To change the range of f we would like to also "unfold" the tangent vector field so that it now outputs a vector in R k instead of R k+1 .One way to achieve this is to find continuous vector fields b i : is a basis of the tangent space of S k at x. Expressing f (x) in this local basis then yields an element in R k , as desired.We can explicitly construct such vector fields by using SP and SP −1 to map the standard basis of R k into the tangent space at each x ∈ S k \ {p}.We obtain where [•] j indicates the jth coordinate for j ∈ {0, 1, . . ., k}.It is straightforward to check that b 1 , . . ., b k are continuous tangent vector fields that yield an orthonormal basis of the tangent space of S k at every x ∈ S k \ {p}.
"Unfolding" f yields g : R k → R k which is defined as follows for i = 1, . . ., k where we define x(z) := SP −1 (z) for convenience.Intuitively, g corresponds to the function that first maps z ∈ R k to a point x on the sphere using the inverse stereographic projection, computes f (x) and then expresses f (x) in the local basis (b 1 (x), . . ., b k (x)).Note that g(z) can be computed in polynomial time in size(f ) and size(z).
Since the b i always form an orthonormal basis, it follows that we always have g(z) 2 = f (SP −1 (z)) 2 .Thus, in order to find some Continuity of g.Clearly, g is continuous.Moreover, since F is polynomially continuous, we can extend this to g in the following sense.
Claim 1.There exists a polynomial r (that only depends on F) such that for any ε > 0, there exists δ with size( δ) ≤ r(size(f Recall that size( δ) is polynomially bounded in size(f ).Since f is continuous on the sphere S k , there exists some x * ∈ S k such that f (x * ) = 0.The arc distance between x and x * is at most π and we pick points y (0) , y (1) , . . ., y (m) ∈ S k along the arc such that y For any z, z ∈ R k we have for all i Note that for all i, z → b i (x(z)) is Lipschitz-continuous with a Lipschitz constant of the form m √ k for some constant m (m = 20 is enough).This can be checked by direct computation.Recalling that x(z) is short for SP −1 (z), the fact that SP −1 is 4 √ k-Lipschitz and f is polynomially continuous, the claim then follows.
The colouring.The function g induces a colouring on R k .Every z ∈ R k is assigned a colour as follows.First, compute u := g(z) ∈ R k .If u i ≥ 0 for all i, then assign colour 0. Otherwise assign colour j = argmin i u i (break ties by picking the smallest such index). Pick By Claim 1, it is possible to pick such δ with size(δ Proof.Let the δ-fine k-simplex z (0) , . . ., z (k) be panchromatic.Since [g(z (0) )] j ≥ 0 for all j, there exists i such that [g(z Sperner.The next step is to show that we can locate a panchromatic k-simplex by using a Sperner-like argument.We explain the intuition in the case k = 2.If f (p) ∞ ≤ ε, then we have found a solution.If this is not the case, then we consider a sufficiently large region C in R k centred at 0. We can show that on the boundary of C, g (approximately) behaves as in Fig. 1a, which yields a colouring similar to Fig. 1b.Note that on the boundary, the depicted colouring is antipodally symmetric, and the colours 1 and 2 meet exactly twice.Furthermore, note that the two colours meet in the "same order", i.e. if we turn in the anti-clockwise direction, then 1 precedes 2 at the two meeting points.Intuitively, we want to pick a δ-fine triangulation of the ball and construct a directed graph on the triangles.There is an edge between two triangles if they share a facet coloured 1, 2 and the edge is directed such that it crosses the facet with the colour 1 is on its left-hand side and the colour 2 is on its right-hand side.Then, 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.
Lemma 6.The problem of finding a δ-fine panchromatic k-simplex in R k reduces to 2-source End-of-Line.
By Theorem 14 in Section 8 it then follows that the problem lies in PPAD.
Proof of Lemma 6.If f (p) ∞ ≤ ε, then we have found a solution.Thus, assume that this is not the case.To simplify the analysis we assume that the standard coordinate system is such that If this is not the case then we perform a rotation such that this holds (at least approximately; a small error can be tolerated).Let e (i) be the ith unit vector in R k .
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 ideal colouring. The ideal colouring is a function
. The ideal colour of z is the colour corresponding to w(z) (using the same procedure as for the actual colouring), instead of g(z).
Claim 3. The following properties of w are easy to check by direct computation.

For any subset of the indices
for i ∈ I and z i = 0 otherwise, then w j (z) = 0 for all j / ∈ I and there exists The ideal colouring is "close" to the actual colouring.We now show that if z 2 is sufficiently large, then the ideal colouring is very close to the actual colouring.Namely, we will show that w(z) is almost equal to g(z), a "normalisation" of g defined by . Note that g and g yield the exact same colour for any z = 0.
The cross-polytope C m .Instead of working on a ball in R k , we define our Sperner instance on a different region that is easier to triangulate efficiently while still behaving nicely with respect to the colouring.Let m = t √ k .The cross-polytope of radius m is defined as The unit cross-polytope can be triangulated efficiently by using a standard efficient triangulation of the k-simplex 0, e (1) , . . ., e (k) (see e.g.[31]) and then extending it to the rest of the cross-polytope by mirroring along each axis.Thus, using a δ/m-fine efficient triangulation of the simplex, extending it to the cross-polytope and then scaling to C m , yields an efficient δ-fine triangulation of C m .We call this triangulation T .In particular, given a simplex of T and one of its facets, we can compute the other simplex of T that shares this facet in polynomial time (or decide that it does not exist, if the facet lies on the boundary of C m ).Note that size(δ/m) is polynomial in the size of the input.
Note that for any z ∈ ∂C m we have z 2 ≥ t.Let ∂C + m := {z ≥ 0 : z 1 = m} and ∂C − m := {z ≤ 0 : z 1 = m} denote the intersection of ∂C m with the all-positive and all-negative orthant respectively.Note that ∂C + m and ∂C − m are the (k − 1)-simplices m • e (1) , . . ., m • e (k) and −m • e (1) , . . ., −m • e (k) .Furthermore, by construction, T induces a triangulation on ∂C + m and ∂C − m .We now prove two key properties of the actual colouring on ∂C m .Claim 5. ∂C + m satisfies the standard Sperner boundary conditions.Namely, any face m only contains colours in {i 1 , . . ., i } in the actual colouring.The same also holds for ∂C − m .
Proof.Let y (1) , . . ., y (k) be a δ-fine (k − 1)-simplex on ∂C m such that y (i) has colour i.By Claim 3 (Item 3) it suffices to show that w(y (i) ) ≤ 0 for all i.Note that since y (i) − y (j) ∞ ≤ δ, it follows by (1) since v > ε and z 2 ≥ t ≥ 1.Now assume that there exists such that w (y (i) ) > 0. (3) and Claim 4 imply that g (y ( ) ) > −1/2 √ k and thus also g j (y ( ) ) > −1/2 √ k for all j, since y ( ) has colour in the actual colouring.On the other hand, since g j (y (j) ) < 0 it follows that g j (y ( ) ) < 1/4 √ k using (3).Thus, we get g(y Orientation of ∂C + m and ∂C − m .The following simple observation is crucial.Claim 7. The (k − 1)-simplices ∂C + m and ∂C − m have the same orientation with respect to the Sperner boundary conditions.
Proof.Consider the linear function T : R k → R k , T (y) = −y and note that T maps ∂C + m to ∂C − m while preserving the Sperner boundary conditions (Claim 5).Furthermore, the determinant of T is (−1) k = 1, since k is even.It follows that ∂C + m and ∂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 k 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 k 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 k-simplex in the triangulation T of C m reduces to a 2-source End-of-Line problem.Let us briefly recall how a standard k-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 k-dimensional Sperner problem, we have a big k-simplex triangulated into ksimplices and a colouring that satisfies the Sperner boundary conditions.The End-of-Line graph is constructed as follows.Every k-simplex of the triangulation is a node in the graph.There is an edge between two nodes if the corresponding k-simplices have a common facet coloured 1, . . ., k (called a door-facet).The edge is directed by considering the orientation of the k-simplices with respect to the common facet.This yields an End-of-Line graph where every degree-1 node is either a panchromatic k-simplex or a k-simplex that has a door-facet lying on the boundary of the instance, i.e. on the boundary of the big k-simplex.Note that all the door-facets lying on the boundary of the instance lie on the 1, . . ., k-facet of the big k-simplex.In order to obtain a single source, there are various standard tricks, see e.g.[31,Chapter 4].If we use the so-called "artificial start" trick, then as shown in [31,15], 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 ∂C m .By Claim 6, all door-facets on the boundary are contained in ∂C + m or ∂C − m .By applying the trick described above on ∂C + m (interpreted as a facet of a k-dimensional Sperner instance) we obtain a single door-facet that is "exposed" in this whole region.Applying the exact same trick on ∂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.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 ∂C + m and ∂C − m have the same orientation (Claim 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
It is possible to prove Brouwer's fixed point theorem using the Hairy Ball Theorem as follows (see [26] for the full details).Let B k ⊂ R k be the unit ball.If we assume that a function f : B k → B k does not have any fixed point, then we can construct a Hairy Ball function g : S k → R k that does not have a zero.Brouwer's theorem follows by contradiction.The main idea for the construction of g is the following.Consider f (x) = f (x) − x and assume that it points directly inward on the boundary of B k .Take one copy of B k with the vector field f and one copy with the vector field −f , and glue their boundaries together.The resulting object can be deformed to yield the sphere S k and the vector fields will perfectly match on the glued region.Thus, assuming that f has no zero, g will have no zero either.
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 kD-Hairy-Ball to End-of-Line (Section 4) is not an artefact of our reduction, but intrinsic to the problem.
Note that this result is particularly strong, because the type of circuit allowed in the definition of kD-Hairy-Ball (Definition 1) is particularly weak.Furthermore, the hardness is proved for inversely exponential ε/L (where L is the Lipschitz constant of the function), which is the best we can hope for in the fixed dimension case.Indeed, if ε/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.In the case where the dimension is not fixed, it seems likely that the problem should be hard even for constant ε/L, but we do not investigate this in this paper.
Proof Overview.One way to prove this result is to take an instance F of a 2D-Brouwer problem, which is known to be PPAD-complete [7], and embed a copy F and a copy −F on the south and north hemisphere of S 2 respectively.However, since our 2D-Hairy-Ball circuit can only use gates in {+, ×ζ, max}, we first shrink the domain of F 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 in the north pole and then define G 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 2D-Hairy-Ball: the 2D-Hairy-Cube problem.Intuitively, this problem is obtained from 2D-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 S 2 is to replace it by a cube with a grid on each face.The advantage of 2D-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 2D-Hairy-Cube to 2D-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 [10,8]).The details are in Appendix A.
This yields PPAD-hardness for 2D-Hairy-Ball.The final step is to extend this to kD-Hairy-Ball, by showing that kD-Hairy-Ball reduces to (k + 2)D-Hairy-Ball.The proof can be found in Appendix B.

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 n bits of an exact solution.
The corresponding problems for Brouwer fixed points have been studied by Etessami and Yannakakis [15].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 n 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.
Definition 4. The Exact-Hairy-Ball problem is defined as: given an arithmetic circuit F (with gates {+, −, ×, /, max, min}, rational constants and that never divides by 0) that computes a tangent vector field S k → R k+1 , k even, find x ∈ S k such that F (x) = 0.
Note that the vector field will be continuous since we never divide by 0. 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.Theorem 8. 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 [15]).
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 ⊆ 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].
Proof of Theorem 8.The proof is based on an idea used by Milnor [26] 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 × and / gates and cannot be used to prove PPAD-hardness of kD-Hairy-Ball.
Let G be an arithmetic circuit with gates {+, −, ×, /, max, min} (and rational constants) that maps the unit cube C k = {x ∈ R k : x ∞ = 1} into itself and does not divide by 0. We will construct a so-called SL-reduction [15] to Exact-Hairy-Ball.First of all, note that we can assume that k is even.Indeed, we can always consider Ḡ : C k+1 → C k+1 , Ḡ(x 0 , x) = (0, G(x)).Note that fixed points are mapped one-to-one by dropping the first coordinate.
Let be large enough such that 2 ≥ 2k.For any integer m let mB k = {x ∈ R k : x 2 ≤ m}.We construct the circuit G that on input x ∈ 2 B k does: It is easy to check that the fixed points of G are exactly the zeros of G .Furthermore, if The zeros of G are exactly the zeros of G scaled by 2 .Note that if x 2 ≥ 1/2, we have G(x) = −x.
We construct the circuit F : S k → R k+1 that does the following on input x = (x 0 , x 1 , . . ., x k ) is the non-normalised version of the tangent basis used in the proof of Theorem 4. In particular, the b i (x) form an orthogonal basis of the tangent space at x (as long as x 0 < 1) and we have b i (x) 2 = 1 − x 0 .Note that the output u of the circuit is always tangent to the sphere at x.
This means that any zero of F yields a zero of G by dropping the first coordinate. If which implies that F 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 2. It follows (see [15]) 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 [7] on a 2-dimensional Brouwer fixpoint problem.

Definition
The 2D-Hairy-Cube problem is defined on the surface of the unit cube.Every face of the cube is subdivided into 2 n × 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. 2 shows a 2D-Hairy-Cube instance with various solutions.For any integer m ≥ 1, we let [m] := {1, 2, . . ., m}.Note that we can interpret elements in {0, 1} n as elements in [2 n ].
For the definition of the computational problem we assume that we are given a Boolean circuit The input in {0, 1} 3 is interpreted as an element in {1, 2, . . ., 6} that determines a face of the cube.The input in {0, 1} n × {0, 1} n determines a squarelet on that face.The output in {0, 1} 2 is interpreted as an element in {1, 2, 3, 4}, which yields one of the four arrows allowed on this face.We say that C computes a discrete field on the cube surface.
Definition 5 (2D-Hairy-Cube).The 2D-Hairy-Cube problem is defined as: given a Boolean circuit C : {0, 1} n × {0, 1} n × {0, 1} 3 → {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: Theorem 9. 2D-Hairy-Cube is PPAD-complete.

PPAD-hardness
In this section we prove that 2D-Hairy-Cube is PPAD-hard.The proof uses the PPADhardness of the discrete 2D-Brouwer problem [7] 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 2 n × 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 : [2 n ] × [2 n ] → {(1, 0), (−1, 0), (0, 1), (0, −1)} that computes the cardinal arrow in a given input squarelet.We say that C satisfies the Brouwer boundary conditions, if . 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 C 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 main difference to the standard discrete 2D-Brouwer problem [7] is that we have 4 possible arrows instead of the three (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 [1].Indeed, if we interpret (1, 0), (−1, 0), (0, 1), (0, −1) as +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 [1].
Proof.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 [29].
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 [7], 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 [7], the result follows.A similar idea is also used to show that 2D-Tucker is PPAD-hard [27].
We only give a high level description of how the embedding works.Consider any 2-dimensional End-of-Line instance on the [2 n ] × [2 n ] grid.We will construct a 2D-Variant-Brouwer instance on the [2 n+3 ] × [2 n+3 ] grid.Every grid node in the original End-of-Line instance corresponds to a region of 8 × 8 squarelets.In this region, the End-of-Line path is represented by squarelets containing the "upward" arrow (0, 1).Thus, if the path comes into the grid node from the left neighbour and leaves towards the bottom neighbour, then the 8 × 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-2 path get the arrow (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).Any squarelets that are adjacent to the path from the right side get the arrow (−1, 0).All other squarelets get the arrow (0, −1).
If a grid node is isolated, then we just assign the arrow (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) arrows will touch the environment of (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) and we don't want them to touch the environment of (0, −1) arrows.To avoid this we also require that the stripe of width 1 just above the bottom boundary be filled with (−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 C computing the arrow in each squarelet can be constructed efficiently.
Proof.We reduce from 2D-Variant-Brouwer.By Lemma 10 the result then follows.Consider an instance C 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 C. The bottom face is identical to the negation of the instance represented by C, 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 C.

The Hairy-Ball Problem on the Torus of Genus g
In this section we consider the 2-dimensional torus of genus g (also called g-holed torus, or g-torus) instead of the sphere.The Hairy Ball theorem does not hold on the torus of genus 1, i.e. the standard torus.It is straightforward to define a continuous tangent field that never vanishes.However, as proved by Poincaré [30], the theorem does hold for the 2-dimensional torus of genus g for all g ≥ 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(g − 1) sources instead of 2. 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(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 g has Euler characteristic 2 − 2g [20].

The g-torus and the Hairy-g-Torus problem
We use the term "g-torus" to refer to the torus of genus g, i.e. the 2-dimensional torus with g holes, embedded in 3-dimensional space.This should not be confused with the 1-holed torus embedded in g-dimensional space.We mainly work with the 2-torus, since all the arguments generalise to the g-torus is a straightforward way.We define the 2-torus as follows: (x 1 , x 2 , x 3 ) lies on the 2-torus if it satisfies the equation where d 1 is the distance of (x 1 , x 2 , 0) to (0, 0, 0), d 2 is the distance to (5, 0, 0), and d 3 is the distance to the segment (0, 0, 0)-(5, 0, 0).Fig. 3 provides an illustration of this 2-torus.Using the expression above, one can always efficiently check whether a given (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 g-hole torus, for any g ≥ 2. We call the corresponding object the g-torus and denote it by T g .
Both of our reductions will use a base field F B , which is defined everywhere except on the two flat regions of the 2-torus.If and 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 x 3 and is always contained in the (x 1 , x 2 )-plane.
Figure 3: The 2-torus and the tangent continuous field F B , observed from above.Note that the base field is not defined on the flat region at the centre, which corresponds to the area delimited by the dotted line in this figure.
The computational problem is defined as follows: Definition 7 (Hairy-g-Torus).Let g ≥ 2. The Hairy-g-Torus problem is defined as: given ε > 0 and an arithmetic circuit G with 3 inputs and outputs, using gates {+, ×ζ, max} and rational constants, find x ∈ T g such that P ε x [G(x)] ∞ ≤ ε.
Here P ε x denotes the projection onto the tangent space to T g at x ∈ T g with error at most ε/2, i.e.
, where P x is the exact projection.
Proof.In Proposition 13 below, we show that Hairy-g-Torus reduces to 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(g − 1) modified copies of a 2D-Variant-Brouwer instance.
Proof.We will prove the result for g = 2.The proof immediately generalises to any other larger value of g.
For this proof we need a sufficiently fine triangulation of the 2-torus that is also locally efficiently computable.For any point on the 2-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, we should have a triangulation such that all corners of a triangle are within distance δ of each other.We call this a δ-fine triangulation.
We can construct such a triangulation as follows.We start with a fixed triangulation of the 2-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 2-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 δ-fine.Note that when we take the approximate projection, we compute a point that exactly lies on the 2-torus and is close to the true projection.Thus, all the points of the triangulation lie exactly on T 2 .
Let (ε, G) be an instance of Hairy-2-Torus.Using similar arguments to the proof of Lemma 2, it is straightforward to show that x → P x [G(x)] is L-Lipschitz continuous on the 2-torus, for a similar value of L. Pick a δ-fine triangulation of the 2-torus as described above with δ = ε 2(1 − cos 1 • )/(2L).We will now colour every node of the triangulation with one of three colours {A, B, C} and use a Sperner argument on this colouring.To construct the colouring we will use the base field F B , defined earlier.We just need to decide how to extend the base field to also be defined on the two flat regions (at x 3 = 1 and x 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. 4).Then, the base field is defined for any point on T 2 (if the point lies on a boundary, resolve ties arbitrarily), even though it is no longer continuous.Figure 4: One of the two flat regions of the 2-torus.This figure illustrates how the base field is extended to be defined on the flat regions, using only the four cardinal directions.
For any node x of the triangulation, its colour depends on θ ∈ [0 • , 360 • ) : the angle between P x [G(x)] and the base field at x.The angle is measured from P x [G(x)] to the base field vector in counter-clockwise direction when looking from outside the 2-torus.If 0 Unfortunately, we cannot exactly compute P x [G(x)], nor the angle between two vectors.Thus, we compute a sufficiently good approximation of 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 P x [G(x)] ∞ ≥ ε/2, then the angle has error at most 1 • .
We can assume that at the centre of the cross in the top flat region (x 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) be those four points.Note that the pairwise distance between any of those four points is at most 2δ.Thus, by the choice of δ, we must have that P ), for any i, j.Note that since we are in the flat region, we can project exactly, i.e.P ε x [G(x)] = P x [G(x)].If there exists i such that P x (i) [G(x (i) )] ∞ ≤ ε, then we are done.If this is not the case, then the angle of P x (i) [G(x (i) )] varies by at most one degree for i ∈ {1, 2, 3, 4}.It follows that the angle θ 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 1 • .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, C in clockwise order (and one of the colours is repeated, i.e.A, A, B, C or A, B, B, C or A, B, C, C).The AB segment is our first Sperner-source.Applying the same arguments to the bottom flat region (x 3 = −1) yields four points that again get the colours A, B, C in clockwise order.Thus, we get a second AB 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 2-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-2-Torus instance.Consider any trichromatic triangle with three vertices x (1) , x (2) , x (3) .Assuming we have picked δ smaller than some constant, the base field can vary at most by an angle of 90 • on these three vertices.
] ∞ ≤ ε for some i, then we are done.Assume that this is not the case.For all i, j we also have that P and thus the angle between those two vectors is at most 1 Thus, the θ i can vary by at most 93 • for i = 1, 2, 3 (because every θ i is computed with error at most 1 • in this case).It follows that it is impossible to get all three colours.
For larger g, 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(g − 1) sources.
8 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 Endof-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 [21].In [21] we use these results to show that a computational problem related to the Mutilated Chessboard puzzle is PPAD-complete.

The End-of-Line problem
The End-of-Line problem is informally defined as follows: given a directed graph where each vertex has in-and out-degree at most 1 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 , as the numbers {0, 1, . . ., 2 n − 1}.
Definition 8 (End-of-Line [10]).The End-of-Line problem is defined as: given Boolean circuits S, P with n input bits and n output bits and such that P (0) = 0 = S(0), find x such that P (S(x)) = x or S(P (x)) = x = 0.
The circuits define a graph as follows.There is a directed edge from vertex x to y (x = y), if and only if S(x) = y and P (y) = x.Note that any badly defined edge, i.e.S(x) = y and P (y) = x, or P (y) = x and S(x) = y, qualifies as a solution of End-of-Line as defined above (because P (S(x)) = x or S(P (x)) = x respectively).Note that 0 is a source of the graph, unless P (S(0)) = 0, in which case 0 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 PPADcomplete [29].Furthermore, reduction from End-of-Line is a very common technique to show PPAD-hardness (e.g.[10,7]).

Multiple-Source End-of-Line
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 Endof-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.Definition 9 (MS-EoL).The Multiple-Source End-of-Line problem, abbreviated MS-EoL, is defined as: given circuits S, P with n inputs and n outputs and s 1 , . . ., s k ∈ {0, 1} n such that P (s i ) = s i = S(s i ) for all i, find x ∈ {0, 1} n such that P (S(x)) = x or x / ∈ {s 1 , . . ., s k } such that S(P (x)) = 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 2 and given a vertex of degree 1, find another vertex of degree 1, i.e. another leaf.Assume that we know k leaves instead of just one.If k is even, then the problem is not even in TFNP.If k 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 obtain2 : Theorem 14. Multiple-Source End-of-Line is equivalent to End-of-Line.

Remark (Multiple Known Sources and Sinks
).A natural generalisation of Multiple-Source End-of-Line is the following problem: given an End-of-Line graph and a list of k known sources and m known sinks, find another source or sink.Note that for this problem to be in TFNP, we must require k = m.Using Theorem 14, it is easy to see that this problem is equivalent to End-of-Line.If k > m, then we add an edge from each of the m known sinks to some corresponding known source and obtain an instance with k − m known sources and no known sinks.Similarly, if k < 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.
Proof of Theorem 14.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 ) be an instance of MS-EoL with a list of k known sources, where the vertex set is {0, 1} n , also interpreted as {0, . . ., 2 n − 1}.Without loss of generality, we assume that the known sources are 0, 1, 2, . . ., 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)) = z for all z < k.We also assume that for all x we have P (S(x)) = x unless S(x) = x, and S(P (x)) = x unless P (x) = x.The first assumption corresponds to requiring that the first k vertices indeed be sources.Note that we can check this using O(k) evaluations of the circuits, i.e. in polynomial time in |S| + |P | + kn, and any "false" source is a solution to the MS-EoL instance.Here, |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.Any solution of the modified instance is a solution of the original instance.
Let V s , V t , V p be the following subsets of {0, . . ., 2 n − 1}: • V s = {x : P (x) = x, S(x) = x}.This corresponds to all the sources of the graph.
• V t = {x : S(x) = x, P (x) = x}.This corresponds to all the sinks of the graph.
• V p = {x : P (x) = x, S(x) = 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.Let V = V P ∪ V S ∪ V I .Note that isolated vertices are not contained in V .Let G = (V, E) be the graph represented by circuits S, P (without isolated vertices).Below we will give an inductive construction of the graph G k = (V k , E k ) that will have the following properties: • The sources of G k are all the sets of the form {s 1 , . . ., s k }, where s 1 , . . ., s k ∈ V s are distinct sources of the original graph.
• The sinks of G k are all the sets of the form {t 1 , . . ., t k }, where t 1 , . . ., t k ∈ V t are distinct sinks of the original graph.
• Every vertex of G k can be represented using at most kn + k 2 bits.There exists a polynomial algorithm that for each such bit-string decides whether it represents a vertex of G k or not.
• The successor and predecessor circuits S k , P k have polynomial size with respect to |S| + |P | + kn and can be constructed in polynomial time.
Note that the only known source of G k is {0, 1, . . ., k − 1}.Any other source or any sink of G 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) circuits P k , S k that represent this graph, then we have a polynomial reduction from MS-EoL to End-of-Line.
We now give a formal inductive construction of G .For = 1, G itself already satisfies these properties (if we interpret any vertex x as {x}).Let ≥ 2. Assume that we know how to construct G i for all 1 ≤ i ≤ − 1.We then construct G as follows.For any set X and any j ∈ N, let Subsets(X, j) := {A ⊆ X : |A| = j}, i.e. the set of all subsets of X with cardinality exactly j.The set of vertices of G is defined as Let us investigate the number of bits needed to represent an element in V .We need n • i bits to represent an element in Subsets(V p , i).By induction hypothesis, ( − i)n + ( − i) 2 bits suffice to represent an element in V −i .Thus, for any i ∈ {1, . . ., − 1}, at most n + ( − 1)n + ( − 1) 2 bits suffice to represent an element in V −i .We add another log 2 ( − 1) ≤ − 1 bits to explicitly store the value of i.Thus, we can represent any element in −1 i=1 (Subsets(V p , i) × V −i ) using at most n + ( − 1) 2 + − 1 bits.We add one more bit to decide whether the element is in Subsets(V, ) or not.We only need n bits to represent an element in Subsets(V, ).Putting everything together, we get an upper bound on the number of bits needed to represent an element in V Furthermore, given a bit-string, it is easy to "decode" it and decide whether it is a vertex of G or not (and if it is not, then treat it as an isolated vertex).
We now give the construction of the predecessor and successor circuits.First, consider the case {x 1 , . . ., x } ∈ Subsets(V, ).Assume that we have reordered the elements in the set such that for some i, j ∈ {0, . . ., } we have x 1 , . . ., x i ∈ V p , x i+1 , . . ., x j ∈ V s and x j+1 , . . ., x ∈ V t .
• We define S (({x 1 , . . ., x i }, z)) = ({x 1 , . . ., x i }, P −i (z)), except if P −i (z) = z and S −i (z) = z, in which case z ∈ Subsets(V s , − i) (by induction hypothesis) and we then define S (({x 1 , . . ., It is straightforward to check that in the graph represented by S , P every vertex has in-and out-degree at most 1.Furthermore, by construction we also get that the sources of G are exactly the vertices in Subsets(V s , ) and the sinks of G are exactly the vertices in Subsets(V t , ).By induction it follows that we can construct (in polynomial time in

The Imbalance problem
Up to this point, we have only considered graphs where every vertex has in-and out-degree at most 1.However, the principle that guarantees the existence of a solution in an Endof-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 = out-degree, then there must exist another unbalanced vertex.
Beame et al. [3] 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 1.Instead, in-and out-degree are bounded by some polynomial of the input length3 .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: Definition 10 (Imbalance [3], informal).The Imbalance problem is defined as: given a directed graph (represented concisely by predecessor and successor functions) and a vertex z that has in-degree = out-degree, find a vertex x = z that also has in-degree = out-degree.
Beame et al. [3] 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} dn computing successors and predecessors respectively.For x ∈ {0, 1} n , S(x) = (y 1 , y 2 , . . ., y d ) ∈ ({0, 1} n ) d encodes the successors of x as follows: if y i = x, then it is a potential successor of x.Thus, if S(x) = (x, y, y, x, . . ., x), then y is the only potential successor of x.We abuse notation and let S(x) denote the set of all potential successors of x (i.e.turn S(x) = (y 1 , y 2 , . . ., y d ) into the set {y 1 , y 2 , . . ., y d } \ {x}).We use the same interpretation and notation for the predecessor circuit P .Thus, a directed edge (x, y) exists, if and only if y ∈ S(x) and x ∈ P (y).
Using this notation we can formally define the problem as follows.
Definition 11 (Imbalance).The Imbalance problem is defined as: given circuits S, P : {0, 1} n → {0, 1} dn and a vertex z ∈ {0, Note that the number of incoming and outgoing edges at a vertex is bounded by a polynomial in the size of the input, because d is bounded by the size of the circuits.Beame et al. [3] 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.
Proof of Theorem 15.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. [3].
The undirected analogue of End-of-Line is Leaf: given an undirected graph where every vertex has degree at most 2 and given a vertex of degree 1, find another vertex of degree 1, 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 [28,29] and Beame et al. [3] 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 [28] and Beame et al. [3], the chessplayer algorithm can also be applied to the directed case.Let (S, P, z) be an instance of Imbalance, where S, P : {0, 1} n → {0, 1} dn .First of all, note that we can assume wlog that all edges are well-defined, i.e. we have y ∈ S(x) ⇔ x ∈ P (y).This can be achieved by a simple modification of the circuits: the modified circuit S outputs {y ∈ S(x) : x ∈ P (y)} instead of S(x).Along with the analogous modification for P , 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} n , the successor and predecessor lists can be ordered lexicographically.For any x ∈ {0, 1} n and i ≥ 1, let S i (x) ∈ {0, 1} n denote the ith successor of x, if S(x) is ordered lexicographically.If x has less than i successors, then let S i (x) = x.Finally, let # S x (y) correspond to the index of y ∈ {0, 1} n in the successor list of x ∈ {0, 1} n , i.e. S # S x (y) (x) = y.Define P i (x) and # P x (y) analogously.Let = log 2 d .We construct an End-of-Line instance on the vertex set {0, 1} n+ .For convenience, we use the notation (x, i) ∈ {0, 1} n × [2 ] to denote elements in {0, 1} n+ .The End-of-Line circuits S, P : {0, 1} n+ → {0, 1} n+ are constructed as follows.On Remark.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. k does not have to be fixed.Furthermore, the same proof also yields PPAD-completeness for the following problem.Fix some polynomial p.The problem is: given k sources, find k sinks or 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 [28,3].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.
Definition 13 (Sink [28,3]).The Sink problem is defined as: given circuits S, P with n inputs and n outputs and such that P (0) = 0 = S(0), find x such that P (S(x)) = 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 k copies of the original Sink instance graph.The reduction in the other direction is even more trivial.Indeed, we can just ignore the extra k − 1 sources we know, because we are only interested in sinks.
We can define the analogous problem to k-EOL, where we look for multiple sinks.
Definition 14 (k-Sinks).Let k ∈ N. The k-Sinks problem is defined as: given circuits S, P with n inputs and n outputs and such that P (z) = z = S(z) for all z < k, find distinct x 1 , . . ., x k such that P (S(x i )) = x i for all i.
Proof.Sink easily reduces to k-Sinks by taking k copies of the graph.The other direction can again be proved by using the result by Buss and Johnson [6].A Turing reduction from k-Sinks to Sink is obtained by doing the following: given an instance of k-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 k times yields k distinct sinks of the original instance.
Remark.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.

Conclusion and Further Work
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.Indeed, our reduction from Hairy Ball to Brouwer only works for approximate solutions.A first step would be to try to reduce Hairy Ball to Borsuk-Ulam, even though no such (fully constructive) mathematical proof seems to be known.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).
Proof of Proposition 18.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 N most significant bits in its binary representation.However, this is impossible to do exactly using an arithmetic circuit with gates {+, ×ζ, 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 [10,8].
Let C : {0, 1} n × {0, 1} n × {0, 1} 3 → {0, 1} 2 be an instance of 2D-Hairy-Cube.We interpret the cube as being the unit cube {y ∈ R 3 : y ∞ = 1}.In particular, every squarelet has side-length 2 −n+1 .The first step of the reduction is to perform a series of transformations on the input circuit C. First of all, we modify the instance by subdividing every squarelet on the surface of the cube into four small squarelets (of side-length 2 −n ).Any small squarelet that is not adjacent to an edge of the cube is assigned the same arrow as the original squarelet containing it.Any small squarelet that is adjacent to an edge of the cube is assigned the average of the arrow in its original squarelet and the original squarelet on the other side of the edge.If a small squarelet is adjacent to two edges of the cube (i.e. it lies in the corner of a face), then it is assigned the average of the arrows in the three original squarelets adjacent to this corner.From now on, when we talk about squarelets we mean the small squarelets, which have now replaced the original grid.
Next, we move from squarelets to cubelets.We place cubelets of side-length 2 −n around the surface of the unit cube, both outside and inside.Namely, every squarelet on the surface of the cube yields two cubelets: one on each side of the face containing the squarelet.Thus, the squarelet is a common face of its two cubelets.The two cubelets corresponding to a squarelet are assigned the same arrow as the squarelet.Note that this is well-defined, since for any cubelet that has multiple faces that lie on the unit cube, all the corresponding squarelets contain the same arrow by construction.We also add cubelets on the outside of the unit cube along its edges, i.e. such that one edge of the cubelet is part of an edge of the unit cube.Such a cubelet is assigned the arrow of the squarelets it has a common edge with.Finally, for every corner of the unit cube, we add a cubelet outside the unit cube, such that the cubelet has a corner in common with the unit cube.This cubelet is assigned the same arrow as the three corresponding corner squarelets.Note that again all the cubelets are assigned an arrow in a unique and well-defined way.Furthermore, any point y ∈ R 3 with y ∞ ∈ [1 − 2 −n , 1 + 2 −n ] lies in a cubelet (it might lie on the boundary between multiple cubelets).
Following the description above we can construct the circuit C : [ describes a cubelet in the subdivision of the cube {y ∈ R 3 : y ∞ ≤ 1 + 2 −n } into cubelets of side-length 2 −n .Note that the input is actually of the type {0, 1} n+2 , but we interpret it as an integer in [2 n+2 ] (and we are only interested in inputs in [2 n+1 + 2]).For cubelets that do not correspond to the ones described above, the circuit can have an arbitrary output.For the cubelets we described above, the circuit outputs the corresponding arrow.Note that there are 6 cardinal arrows overall.The circuit has = 6 + 6 2 + 6 3 output bits and for every valid cubelet input, exactly one of those output bits will be set to 1.Note that is large enough to ensure that we can also output the average of two or three cardinal arrows.This circuit can be constructed in polynomial time from C. Now consider a point y on the surface of the unit cube and let e = (1, 1, 1).Let S y = {y + (i − 50)2 −n−8 • e : i = 1, . . ., 100} Note that since y lies on the surface of the cube, all the points in S y lie in at least one of the cubelets we defined above.Furthermore, note that any two cubelets that each contain a point in S y , have to be adjacent, i.e. they have a non-empty intersection.
It is easy to see that the kind of arithmetic circuit we consider here can simulate any single gate of a Boolean circuit and thus the whole circuit C .However, it needs to somehow obtain the input bits.Since any output (and intermediate output) of the arithmetic circuit depends continuously on the inputs, it is impossible to construct a circuit that extracts bits correctly for all inputs.Thus, we will have to take into account the fact that on some inputs, the bit extraction will not output 0 or 1.In this case, the simulated Boolean circuit will have some "bogus" output.In particular, there might not be exactly one bit in the output that is set to 1.However, we can ensure that the output gates of the simulated circuit always output some number in [0, 1] by adding adequate max and min gates at the end.Furthermore, we can also ensure that those numbers add up to something that it at most 1, which ensures that even the bogus outputs will yield a vector that has 1 -norm at most 1.This is done by computing the sum S of all "fake" output bits and then subtracting S − 1 from all fake output bits (and then taking the max with 0).It is easy to see that this ensures that the sum of outputs is at most 1, while also not changing the output if it is valid (i.e.exactly one bit set to 1).
The simulated Boolean circuit will output values, corresponding to the output bits of C .As mentioned above, we can ensure that these values lie in [0, 1] and sum up to at most 1.The output vector is then computed by taking the weighted average of the possible arrows, where the weights are given by the output values.This is achieved by hard-coding every coordinate of every arrow as a constant in the arithmetic circuit.The cardinal arrows are taken to be the unit vectors in the corresponding direction.The other arrows are taken to be all the averages of two or three of the cardinal vectors.Note that if exactly one output value is 1 (which will be the case whenever C is simulated with correct input bits), then the output will be the correct vector that C outputs.Also note that, in any case, the output vector will have 1 -norm at most 1.
We now describe how to perform bit extraction using an arithmetic circuit.Let t ∈ [0, 1].The arithmetic circuit can compute b = min(1, 2 −n−10 • max(0, t − 1/2)) using a number of gates that is polynomial in n.If t ≤ 1/2, we obtain b = 0.If t ≥ 1/2 + 2 n+10 , then we obtain b = 1.For intermediate values of t, we obtain a number b that is not a bit.Performing the same operation on t = 2t − b will extract the second bit, etc.Consider any z ∈ R 3 with z ∞ ≤ 1 + 2 −n .If we extract the first n + 2 bits of for i = 1, 2, 3 then we will obtain the input bits we need for C .In particular, if z lies in one of our cubelets and is at ( ∞ -norm) distance at least 2 −n−10 from the boundary of the cubelet, then this extraction correctly recovers the cubelet in which it lies.From the construction of S y above, it follows that at most 3 points in S y can suffer from incorrect extraction.Thus, for at least 97 points we will correctly determine the cubelet in which Note that in this case, all the corresponding original squarelets lie on the same face.As a result, the average v will lie in the plane given by this face.Furthermore, note that y cannot lie too close to any edge of the cube, otherwise we would get edge cubelets.Assume wlog that y lies on the face {z 3 = 1}.It follows that x must be such that x 1 ∈ (−1/2, 1/2), x 2 ∈ (−1/2, 1/2), x 3 > 1/ √ 2. As stated above we have v 1 = 1.One can check that in this case a (very crude) bound is • Case 2: x is such that at least one point in S y lies in an edge cubelet and no point lies in a corner cubelet Note that there is a special case where S 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 E. Assume wlog that E is the edge given by {z 1 = 1, is the weighted average of the cardinal vectors contained in all the corresponding original squarelets.All those squarelets must be adjacent to E on either side (and they are all adjacent to each other as noted earlier).Observe that (v 1 , v 2 ) cannot lie in the interior of the two quadrants given by {v 1 < 0, v 2 > 0} and {v 1 > 0, v 2 < 0}.Otherwise, we would have two cardinal vectors forming an edge solution.
Since y is at distance at most 2 −n+1 from E, it follows that x satisfies x 1 ≥ 1/2 − 2 −n , x 2 ≤ −1/2 + 2 −n , x 3 ∈ (−1/2, 1/2).One can check that for n ≥ 4, we get that the angle α between x and v must satisfy cos α ≤ √ 207/16.It follows that ≥ (1 − √ 207/16)/3 > 0.033 • Case 3: x is such that at least one point in S y lies in a corner cubelet Assume wlog that the corner is the one given by {z 1 = 1, z 2 = −1, z 3 = 1}.v 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 v cannot lie in the two orthants given by {v 1 ≤ 0, v 2 ≥ 0, v 3 ≤ 0} and {v 1 ≥ 0, v 2 ≤ 0, v 3 ≥ 0}.
Unfortunately, all output vectors for points in S y might not be computed correctly.Fortunately, at most 3 of them might yield bogus outputs.Thus we can write v = Thus picking ε = 0.002 yields the result.
... yielding a Sperner instance with two sources

Figure 1 :
Figure 1: An example for the proof of Theorem 4 in the case k = 2.The region C is represented in grey.

Claim 4 .
There exists t > 0 with size

Figure 2 :
Figure 2: Partial view of a 2D-Hairy-Cube instance with 3 × 3 squarelets per face (instead of 2 n × 2 n ).Three solutions are visible from this point of view: one at the central corner, one on the left face and one where the right and top face meet.

97 100 v g + 3
100 v b , where v g and v 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 P x [v g ] ∞ ≥ 0.033.By construction of the arithmetic circuit F , we havev b 1 ≤ 1, which implies P x [v b ] 2 ≤ 1, and thus P x [v b ] ∞ ≤ 1.Putting everything together we getP x [F (x)] ∞ = P x