"J MASARYK UNIVERSITY < ^ Urpi ^ Faculty of Science HABILITATION THESIS Lukáš Vokřínek Algorithmic aspects of topological problems Department of Mathematics and Statistics Brno 2017 Contents Page Algorithmic aspects of topological problems 1 1 A short description of attached papers ............. 1 2 Algorithmic computations with spaces ............. 2 3 Homotopy groups......................... 3 4 Homotopy classes......................... 4 5 Relative homotopy classes and undecidability ......... 5 6 Embedding problem ....................... 7 7 Equivariant maps and lifts.................... 7 8 Undecidability........................... 9 9 Methods of the computations .................. 11 10 Existence of homotopy...................... 14 11 Equivariant maps and maps of diagrams............ 15 12 Contributions to algorithmic topology and abstract homotopy theory............................... 15 13 A note on implementation.................... 16 References 16 Computing all maps into a sphere 18 Polynomial-time computation of homotopy groups and Post- nikov systems in fixed dimension 60 Extendability of continuous maps is undecidable 116 Algorithmic solvability of the lifting-extension problem 154 Decidability of the extension problem for maps into odd-dimensional spheres 203 Are two given maps homotopic? An algorithmic viewpoint 211 Constructing homotopy equivalences of chain complexes of free ZG-modules 223 Algorithmic aspects of topological problems 1 A short description of attached papers This habilitation thesis consists of reprints of seven papers coauthored by Lukáš Vokřínek preceeded by a commentary. The papers fall into what might be called algorithmic topology, since it studies (usually quite classical) problems of topology from the point of view of decidability, designing algorithms and studying their computational complexity. This project originated in computational geometry, namely in a paper by Matoušek, Tancer and Wagner about embeddability of simiplicial complexes into the Euclidean space. For a certain range of dimensions (the so-called meta-stable range), the embeddability problem is of a completely homotopical nature or, more precisely, of a stable Z/2-homotopical nature. It is also believed that this homotopical nature may be extended to a broader range of dimensions at the cost of involving more complicated symmetry groups, and possibly after organizing the relevant spaces into diagrams. The author is involved in a project, currently in the process of writing up and therefore not included in this thesis, that deals with this setting; it is briefly mentioned in Section 11. The papers are to be found at the end of this thesis, after a more detailed commentary contained in the following sections. The paper [1] deals with computing the abelian group of stable homotopy classes of maps [X, Y] for Y simply connected and relies in an essential way on the paper [2] that constructs algorithmically the Postnikov tower of Y. In addition, [2] also deals with computational complexity of this construction and of the results of [1] - the algorithm computing [X, Y] is polynomial-time if the dimension of X is bounded by a fixed integer. The paper [3] then goes in the opposite direction and shows that unstably the above problem (or, more precisely, its generalization) is unsolvable; [3] also deals with the complexity of computing [X, Y] when the dimension of X is not bounded. The paper [4] then concludes the original project, since it proves decidability of the embeddability problem in the meta-stable range. More generally, it deals with equivariant homotopy theory and shows that the equivariant (and also fibrewise) version of the main result of [1] is also true. It relies heavily on a completely algebraic paper [7] by the author. The papers [5] and [6] then deal with two special cases that are not stable and thus do not fit into the previous setup, but are also solvable. The result of [5] covers the case of Y being an odd-dimensional sphere and has applications e.g. to solvability of systems of (an even number of) equations and the result of [6] proves decidability of an absolutely basic problem of topology: are two given maps homotopic? 1 The subsequent commentary follows roughly the same line of ideas as the above short overview and gives more details about each topic. The level of details varies greatly and there is no logic behind the selection of less and more detailed parts, only a hope to create an interesting and readable text. 2 Algorithmic computations with spaces This thesis is concerned with algorithmic questions in algebraic topology. In order to make such algorithmic questions well posed, we have to explain why and how it is possible to specify topological spaces and continuous maps as inputs and outputs of algorithms, i.e. show how to describe such objects by a finite amount of data. Some of the included papers do concern computational complexity, in which case one has to be more precise, since the answer may depend on a specific way of encoding, but discussing complexity issues is not the intent of this commentary. In combinatorial geometry, the role of spaces is typically taken by simpli-cial complexes. However, simplicial complexes are not closed under a number of important constructions (colimits, in particular) and, for this reason, we prefer to work with simplicial sets. We assume that the reader is familiar with this concept, but we believe that, in order to get a rough idea of our results, simplicial complexes are sufficient enough. On the other hand, upon replacing simplicial complexes by simplicial sets, it may not be clear how to represent them by a finite amount of data, since any non-empty simplicial set has an infinite number of simplices. First of all, we restrict ourselves to the so-called finite simplicial sets - those that have only a finite number of non-degenerate simplices. The first part of a possible representation is then a list of non-degenerate simplices (one chooses a representing string of bits for each such simplex); then every simplex x is a degeneracy1 of a non-degenerate simplex in a unique way, x = Sjy, and we use this expression to represent the simplex x by the pair (J,y). The second part of the description is another list: for each face of each non-degenerate simplex, we express this face as a degeneracy of a non-degenerate simplex, i.e. we specify a table listing for each pair (i,x) another pair (J,y) such that diX = Sjy, as above. This determines the simplicial set uniquely (up to isomorphism). ^y a degeneracy, we mean a composition of degeneracy operators, i.e. sj = Sjk ■ ■ ■ Sj1; when we insist on > ■ ■ ■ > ji, the sequence J is unique. 2 3 Homotopy groups Since its birth, algebraic topology has revolved around defining and computing algebraic invariants of spaces. There exists a vast amount of tools for computing these invariants, some of which miraculously work in some examples but do not give an answer in general. We are interested in a different way of computing, namely, in algorithmic computations. In this thesis, we will use the word computation in this algorithmic sense, i.e. we are interested in constructing algorithms. Mainly to set up the notation, we denote by [X, Y] the set of homotopy classes of continuous maps X —> Y, i.e. homotopy classes of maps |X| —y \Y\ between geometric realizations, to be more precise. In the pointed version, where all spaces, maps and homotopies are required to be pointed, we obtain [X, Y]* - the set of pointed homotopy classes. The n-th homotopy group of a pointed space Y is thus 7rn(Y) = [Sn,Y]\ This set has a natural structure of a group, abelian for n > 2, and it has been one of the big goals of topology, possibly unachievable, to compute the homotopy groups of spheres or, less ambitiously, the stable homotopy groups of spheres. Problem A (homotopy group). Given a space Y and n > 0, compute 7rn(Y). Even though we have already clarified how Y may be presented on the input, it is not clear how the homotopy group irn(Y) should be presented on the output. The most problematic case is the non-abelian fundamental group 7Vi(Y). It is very simple to compute a presentation of tti(Y), but that is generally not considered to be sufficient, since, for example, it is not possible to decide algorithmically whether a group, given by a presentation, is trivial and also whether an element of the presented group, written as a product of generators and their inverses, is trivial, i.e. the unit of the group. In the opposite direction, it is easy to turn an arbitrary presentation of a group into a space whose fundamental group is the presented group and, therefore, these results give the (well-known) undecidability of the following two problems in topology: Problem B (simple connectedness). Decide whether a given space Y is simply connected. Problem C (nullhomotopy). Decide whether a given map Sn Y is null-homotopic. 3 There is a somewhat different problem with the higher homotopy groups. The group 7rn(Y), although abelian, may be infinitely generated, e.g. ^(S*2 V S1) is countably generated, and we do not see a reasonable way of presenting such groups as outputs of an algorithm. The infinite generation is caused again by Y not being simply connected. We will therefore restrict ourselves by the following convention. Convention. All target spaces are assumed to be simply connected. To settle down the exact statement of Problem A, we note that, under the above assumption, irn(Y) is indeed a finitely generated abelian group and thus isomorphic to a group of the form Z/gx © • • • © Z/gr for some qi,... ,qr G Z+U{0}, where g« = 0 gives an infinite cyclic summand Z/0 = Z. Thus, in a precise formulation, Problem A is required to compute and output such an expression, i.e. essentially the list of the q^s. Of course, we may require gx | • • • | qr and then such a representation is unique; therefore, we may then say that the algorithm outputs the isomorphism type of the homotopy group. With the convention in place, the following theorem says that the above problems are decidable; this result appeared already in [8], but without the claim on the running time (and the algorithm therein is almost definitely not polynomial-time). Theorem 1 (Theorem 1.1 of [2], Theorem 1.2 of [3]). The homotopy group problem and the nullhomotopy problem are solvable. When n is fixed, the running times are polynomial. When n is part of the input (in unary), the problem is j^P-hard. The algorithm for the nullhomotopy problem, as described above, is quite simple when using the methods of [2] and [4]. Later, we will explain a more general problem of deciding homotopy between two maps (with arbitrary domain). 4 Homotopy classes Problem D (homotopy classes). Given X and Y, with Y simply connected, compute [X, Y]. In contrast with the situation of homotopy groups, [X, Y] is not a group, but just a set. A possible interpretation of the above problem is then to output the number of elements of this set (a finite number or infinity). We will discuss this version of the problem in some detail later, but, for now, we concentrate on the stable version described below that ensures that [X, Y] 4 is again an abelian group and the algorithm is again required to output this abelian group. We denote by connF the connectivity of Y, i.e. the largest integer d such that Y is 1 and this implies [X, Y] = [X,Y]*. When dimX < 2 conn Y, the so-called stable situation, the Freudenthal suspension theorem gives [X,Y] ^ [X,Y]* ^ [EX,EF]* ^ [E2X,E2F]* and the right hand side is known to be an abelian group. The interpretation of Problem D in the stable situation is then similar to Problem A. Problem E (stable homotopy classes). Given X and Y, with Y simply connected and with dimX < 2connF; compute the abelian group \X,Y\. We remark that, in the stable situation, [X, Y] is isomorphic to the abelian group {X, Y} of stable homotopy classes. In addition, if X and Y are arbitrary and n sufficiently large, [EnX, EnF] falls into the stable situation so that the above problem applies to it; this means that Problem E is equivalent to computing {X, Y} for any given spaces X and Y. Theorem 2 (Theorem 1.1 of [1], Corollary 1.3 of [2]). The stable homotopy classes problem is solvable. For fixed dimension of X, the algorithm runs in polynomial time. For dimX = 2 conn Y + 1, it is still possible to compute the number of elements of the set [X, Y]. We do not know of the exact status of Problem D in general. We will now present a generalization of this problem that we have proved to be undecidable (stable version will be decidable, again). 5 Relative homotopy classes and undecidability Let A be a fixed space. A space under A is a space X equipped with a map A —> X, typically an inclusion of a subspace. An important example is A = *, the one point space, for which spaces under A are exactly pointed spaces. A map under A is a map I: X —> Y for which the obvious triangle A-\ Y X commutes. Finally, a homotopy under A (more commonly known as homotopy relative to A) is one that is constant when restricted to A. If A —> X is 5 injective, we define [X, Y]A to be the set of homotopy classes of continuous maps X —> Y in the category of spaces, maps and homotopies under A. In the general case, one has to first replace A —>• X up to homotopy by an injective map A —> Xcoi (more precisely, this replacement should fit into a factorization A —> Xcoi —> X with the first map injective and the second a homotopy equivalence), and then [X, Y]A is defined to be [X^F]"4. Clearly, we may take Xcoi to be the mapping cylinder of the original map and [X, Y]A is then interpreted as the set of homotopy classes of extensions up to homotopy in the above diagram. We get a generalization of the homotopy classes problem for spaces under A: Problem F (relative homotopy classes). Let A be a fixed space. Given spaces X and Y under A, with Y simply connected, compute [X, Y]A. The above discussion about stability easily generalizes and, in the stable situation dimX < 2 conn Y, we get [X, Y]A = [T,2X, T,2Y]^2A with the latter either an empty set or an abelian group (more precisely, it is an abelian heap). In the unstable situation, [X, Y]A is merely a set and we may again ask to compute the number of its elements. An even simpler version is to decide whether this set is non-empty and this version reads: Problem G (extension). Let A be a fixed space. Given spaces X and Y under A, with Y simply connected, decide whether [X, Y]A is non-empty, i.e. whether an extension I: X —>• Y of the given map A —> Y exists. We remark that, if the simple connectedness assumption is dropped, the extension problem is undecidable, since it contains Problem C. But, even in the simply connected case, we have: Theorem 3 (Theorem 1.1 of [3]). The extension problem is undecidable. We will explain the main idea of the proof in Section 8. There is, however, a significant special case that is decidable, namely the existence of a homotopy, rewritten as an extension problem in the following way: (dl x X) U (J x A)-^ Y I x x' Problem H (homotopy). Given spaces X and Y with Y simply connected, a subspace A C X, two maps f, g: X —> Y and a homotopy f\^ ~ (?U of the restrictions, decide if there exists an extension of this homotopy to a homotopy f ~ g. 6 Theorem 4 (Theorem A of [6]). The homotopy problem is decidable. We will give a brief idea of the proof in Section 10. Now we turn to one final generalization, which originated from our main motivation for the project, explained in the following section. 6 Embedding problem Problem I. Given a simplicial complex K of dimension k and n G Z+; decide whether K embeds in W1. This problem was treated in [14] and proved to be NP-hard or undecid-able for certain pairs of dimensions (n,k). Except for low dimensions, the only left out pairs of dimensions were those from the so-called metastable range k < |n — 1. In the metastable range, by a theorem of Weber, the embeddability problem is equivalent to the problem of existence of a Z/2-equivariant map K\ —> S^1, where K\ is a certain simplicial complex constructed out of K and homotopy equivalent to K x K \ Ak- Thus, the embedding problem in the metastable range is equivalent to deciding if the set \K\, S"1^1] of equivariant homotopy classes of maps is non-empty and, since dimA^ = 2k < 2connSn~1 = 2{n — 2), this falls into the stable situation of Problem D, or rather its equivariant version. This leads us to a generalization of Problem D to the equivariant setup. 7 Equivariant maps and lifts The algorithmic aspects of computing equivariant homotopy classes of maps has been studied in [4] in the case of free actions, which turned out to be much simpler than the general case. Throughout this section, we fix a finite group G. Since the relative setup is not more difficult than the absolute one, we will treat the relative case. Then the extension problem is exactly A-> Y A / / X-->* Since we deal with free actions of G, the one point space * does not fit into this picture and has to be replaced by a contractible G-space EG with a free action of G.2 Of course, the exact reason why we had to deal with 2We remark that EG is infinite, but locally finite, which is sufficient for our purposes, since it only appears as a target. There are also other ways of introducing a base that is a free G-space, e.g. one may replace 7 ^ * by I x 7 ^ I. 7 the fibrewise situation stems from our algorithm - it is based on Postnikov towers which represent Y as being built gradually from a point and the point is not allowed; the extension of the Postnikov tower to fibrations, the so-called Moore-Postnikov tower, starts from the base of the fibration; in our case, this is the allowed space EG. We will now explain the fibrewise setup in some detail. Let A and B be fixed G-spaces and A —> B a fixed G-map; we will assume that B is simply connected. All our spaces X will be G-spaces that fit into a factorization A —> X —> B of the fixed map into a composition of two G-maps. We think of this as a space X under A and over B in a compatible way. All our maps and homotopies are required to be G-maps and are required to preserve the given maps from A and to B, i.e. they are required to be relative to A and fibrewise over B. We may think of the maps as diagonals £ in the following diagram: A-> Y X-->B for which both triangles commute. The problem to find such a diagonal map £ is called the lifting-extension problem and much of the abstract homotopy theory is expressed in terms of lifting-extension problems. When A —> X is injective (a cofibration) and Y —> B is a (Kan) fibration, the set of homotopy classes of such diagonals is denoted [X, Y]^; the group G is supressed from the notation. In the general case, we replace the maps by a cofibration A —> Xcoi and a fibration Fflb —y B, both up to G-homotopy equivalence, and define [X,Y]i = [Xcoi,Y&X- Problem J (lifting-extension problem). Given two G-spaces under A and over B, compute \X,Y\^. This generalizes all the above problems. As such, it is undecidable when no dimension-connectivity restrictions are in place. The following is the main theorem of [4]; the stability is explained after its corollary. Theorem 5 (Theorem 1.1 of [4]). The stable lifting-extension problem is solvable. Since Weber's theorem gives, in the meta-stable range, a reduction of the embedding problem to the stable lifting-extension problem, we get: 8 Corollary 6 (Theorem 1.3 of [4]). The embedding problem is solvable in the meta-stable range. The notion of stability starts to get more complicated in the fibrewise setup. In order to give the definition, we assume that A —>• X is a cofibration and F->5a fibration. We denote by dimA X the dimension of the cofibre of A —>• X, i.e. the dimension of X/A or, in other words, the maximal dimension of a non-degenerate simplex of X not contained in A. We also denote by conns Y the connectivity of the fibre of Y —> B. The stable situation is then defined by the requirement d\mA X < 2 conn# Y. In the stable situation, we get the following Freudenthal suspension theorem [X, Y]A = [SBX, ^bY\IbA = [I x X, Ssy](p*WxA) (the fibrewise suspension T>bY is obtained by squashing the two copies of Y in IxY separately to B using the canonical map Y —> B). The concatenation of paths equips this set with a group structure (or, more precisely, with a heap structure) and the second application proves it to be abelian, as usual. 8 Undecidability As explained, the problem of computing [X, Y]A is solvable for dimX < 2 conn Y, when the set has a structure of an abelian group, and also for dimX = 2 conn Y + 1, when no structure is present but we are only asked to compute the number of elements. Proceeding one dimension further, we already arrive at an unsolvable problem, even if we are only asked to decide whether [X, Y]^ is non-empty: Theorem 7 (Theorem 1.1 of [3]). The extension problem A->Sd+1 x / / / / X with X of dimension 2d + 2 is undecidable, for d + 1 even. The idea of the proof. The solvability of a system of polynomial equations over Z is undecidable, according to [12], and it is easy to prove from this that solvability of systems of quadratic equations with zero linear terms is undecidable, too. Thus, it is enough to encode such systems of quadratic equations into extension problems. This is achieved by extension problems 9 of the following form, where we denote d + 1 = 2n: s^-i v • • • v s4"-1 s2n s2n v • • • v s2n (here the vertical map is not injective and thus has to be replaced by the mapping cylinder of this map that has dimension An = 2d + 2). The homotopy class of a map £ as indicated in the diagram, but without any commutativity assumption imposed yet, is an element of [S2n V • • • V S2n, S2n] 9* n2n(S2n) © • • • © 7r2n(,S2n) = z © • • • © z, i.e. a tuple (xi) of integers. Denoting i G 7r2nS2'5 the homotopy class of the identity, its Whitehead product with itself is an element G [S4n^1,S2n] of infinite order. The horizontal map / is specified, on the r-th summand S*4™-1, to be a multiple br ■ [l, l\. Similarly, the vertical map g is, on the r-th summand, the integral combination ^2iijar\i3 ' [^j'-il? where tj G ^2n(S2n V • • • V S2n) denotes the homotopy class of the inclusion of the i-th summand. It turns out that the map £ is an extension up to homotopy if and only if This is a general form of a system of quadratic equations as above. □ For d + 1 odd, we have a similar result Theorem 8 (Theorem 1.1 of [3]). The extension problem A-> Sd+1 V Sd+1 with X of dimension 2d + 2 is undecidable, for d + 1 odd. The idea of the proof. This is very similar, but [l, l] has a finite order in this case and thus has to be replaced by the Whitehead product [ti, £2] of the two inclusion Sd+1 -> Sd+1 V Sd+1. We leave out all details. □ It is thus perhaps a bit surprising that the exact analogue of Theorem 7, concerning maps into an odd-dimensional sphere, is not true, i.e. the extension problem is decidable. More generaly, the decidability holds when Sd+1 is replaced by any Sd+1 y y y ■4- y X with X of arbitrary dimension is decidable, for d + 1 odd. We give a brief idea of the proof in the next section. We conclude with two applications. The first is concerned with the problem of robust satisfiability of a system of equations. The system is given as f(x) =0 for some simplex-wise linear map /: K —> Wl. This system is said to have an a-robust zero if every a-perturbation of this system, i.e. a system g(x) = 0 given by a map g with \g — f\ < a, has a solution. Problem K (robust satisfiability). Given f and a as above, decide whether f has an a-robust zero. In [11], an equivalence is shown between the existence of robust zeros and extendability of maps to S"1^1. Thus, the robust satisfiability problem is decidable for n even and undecidable for n odd. The second application concerns the Z/2-index of a Z/2-space X, which is the smallest n, for which a Z/2-map X —> Sn exists. The Z/2-index has many applications in geometry and combinatorics, see [13]. Since the equivariant version of the above theorem is also true, it provides an algorithm that narrows the Z/2-index of X down to two possible values. 9 Methods of the computations We will now explain some of the tools used in the solvability results. The methods employed by our algorithms involve homologically effective spaces and effective abelian groups. We say that a set A is semi-locally effective if elements of this set have a representation in a computer, say by strings of bits. Generally, we do not require this representation to be unique - for example, an element of H^X is represented by a cycle, but adding a boundary to the cycle does not change the homology class. Thus, formally, a semi-locally effective representation of a set A is a surjective map A —> A, a \—> [a] where the elements of A have an agreed upon representation in a computer. If, in addition, there is an algorithm that, for given a, (3 G A decides whether [a] = [(3] (i.e. the equality is decidable), one says that the set (or the representation A —> A) is locally effective. 11 As an example, for [X, Y] to be locally effective (we will not go into details about representing its elements yet), we have to provide an algorithm testing homotopy; this is Theorem 4. We say that a mapping /: A —> B is computable if there is given an algorithm that computes some mapping ip: A —> B with [ dim A, the computation of [A, Y] is reduced to the inductive computation of [A, Pn], for n < dim A. The first non-trivial stage is the Eilenberg-MacLane space Pd+i = K(-Kd+i(Y),d + 1), for which [X,Pd+1]^Hd+1(X;nd+1(Y), is a certain cohomology group, and cohomology groups are computable using the Smith normal form. The inductive step compares [A, Pn] and [A, Pn_i] - here we use the assumption n < 2 conn Y to equip these sets with abelian group structures. They are related via a certain long exact sequence [£X,P„_i] -> Hn(X;nn(Y)) -> [A, Pn] -> [A, P„_i] -> Hn^(X;nn(Y)) with all terms, except for the middle one, effective either directly (the cohomology groups) or by induction (the terms involving Pn_i). The middle term is then effective by a "5-lemma for effective abelian groups" (a combination of computability of kernels, cokernels and extensions). □ Idea of the proof of Theorem 9. The extendability is equivalent to [A, Pn]A being non-empty, for n = dim A — 1. The proof of Theorem 5 computes [A, P2d]A, a finitely generated abelian group. The map [A, Pn]A —> [A, P2d]A, for n > 2d, happens to be periodic in some sense and, thus, if the image of this map is non-empty, some image point has to lie in a specific finite subset of the codomain (it depends only on n and Y). The algorithm goes through all elements of this finite subset and decides if they lie in the image. □ 3We remark here that the classical proof of homological effectiveness of K(ir,n), due to Eilenberg and MacLane, [9], depends on the decomposition of ir into a direct sum of cyclic groups and, for this reason, needs a completely new idea in the equivariant setup, see [7]. 13 The nature of this proof makes it rather clear that the resulting algorithm is not very efficient. The proof of computability of homotopy groups in [8] is very similar in nature and, thus, probably not very efficient either. 10 Existence of homotopy Finally, we explain briefly how to deal with the problem of the existence of a homotopy between two maps. Let Pn be the n-th Postnikov stage of Y. The projection pn: Pn —> Pn-\ is a principal twisted cartesian product with structure group the Eilenberg-MacLane space Kn = K(iTn(Y),n), i.e. there is a free right action +: Pn x Kn —> Pn and the projection pn is the projection onto the space of orbits. For points x,y lying in the same fibre (i.e. in the same orbit), we denote by y — x the unique z G Kn for which y = x + z. We are given two maps f,g:X^-Y and we want to decide if they are homotopic. Since the existence of a homotopy is known to be equivalent to the existence of a homotopy between the projections fn,9n'- X —> Pn of / and g onto the n-th Postnikov stage for n > dimX, we attempt to compute inductively a homotopy hn: fn ~ gn, for all n < dimX. Thus, suppose that hn-\: fn-\ ~ gn-i has already been computed. Lift this homotopy to a homotopy hn_ \: f'n ~ gn and it thus remains to compute a homotopy fn ~ f'n. Such a homotopy projects to Pn_i to a homotopy fn-i ~ fn-i and homotopy classes of such homotopies form a group [I x X, Pn_xf/xX with respect to concatenation. The algorithm computes this group; in fact, the knowledge of a finite generating set would be sufficient.4 Now we consider the homomorphism d: [JxX^if7** -+[X,Kn] given as follows: take a homotopy h: fn-\ ~ /n-i, lift it to a homotopy h'- fn ~ £ and set d[h] = [£ — fn]. Since we seek a homotopy fn ~ f'n, we ask whether [f'n — fn] lies in the image of d. This is decided easily using the computed generators of [I x X, Pn-i]dIxX, since [X, Kn] is again a certain cohomology group, hence effective. If [f'n — fn] does not lie in the image, / and g are not homotopic. If it does, the algorithm further computes a preimage , lifts it to a homotopy : fn ~ f'n and finally concatenates this lift with the already computed hn-\: f'n ~ gn to obtain hn: fn ~ gn. 4This is the most interesting part in my opinion, since this group is generally non-abelian and, thus, one has to prove a non-stable non-abelian version of Theorem 5. This is possible essentially because this group, although non-abelian, is still polycyclic and there exist effective means for computing with such groups. 14 11 Equivariant maps and maps of diagrams We briefly describe a joint work with Marek Filakovsky which is currently in the process of writing up. It is a generalization of the equivariant situation of Section 7 to actions that are not necessarily free. By a theorem of Elmen-dorf, the homotopy category of G-spaces and G-maps is equivalent to the homotopy category of a diagram category [0°q , Spaces], leading naturally to a generalization of the above problems to diagrams of spaces. Our approach uses yet more concepts from abstract homotopy theory, e.g. cofibrant replacement is an essential tool in our approach. Theorem 10 (to appear in [10]). The following problem is solvable: given two diagrams X, Y G [Xop, Spaces] with dimX < 2connF; compute the abelian group [X,Y] of homotopy classes of maps (i.e. natural transformations). We will not attempt to give details about the dimension and the connectivity of a diagram. This theorem leads to the possibility of algorithmic computations in equivariant stable homotopy theory, an area much more complicated and much less explored than the non-equivariant stable homotopy theory. 12 Contributions to algorithmic topology and abstract homotopy theory It may appear that the included papers form a gradual generalization of a single theorem. While this may be true, to a very limited extent, for the statements, it is certainly false with regards to the proofs. Although all proofs are based on Postnikov towers, with the increasing generality of the statement, more and more tools from abstract homotopy theory were used, starting from some simple homotopy pushouts and leading to cofibrant replacements in the projective model structure on the category of diagrams; we have also made use of bar constructions for modules over a differential graded algebra to make sense of a homotopy module and to convert it to a strict module by (an economic version of) the extension of scalars; this is the content of [7]. We view this as our biggest contribution to the field. Even for the perspective future work, it seems plausible that homotopy limits may serve as a vital tool for solving algorithmically the embedding problem (treated here in Section 6) outside of the meta-stable range. In the opposite direction, the algorithmic considerations in the fibrewise setup led to the following observation in abstract homotopy theory: In the 15 classical (pointed) stable homotopy theory, homotopy classes of maps form an abelian group. The equivariant and/or fibrewise setup is more naturally unpointed and then the homotopy classes of maps form rather an abelian heap, i.e. an abelian group without a definitive choice of zero and also possibly empty. We proved that this is true in model categories when the notion of stability is expressed appropriately. 13 A note on implementation We finally note that some parts of this rather huge project have been implemented by the author of this thesis (poorly, so far, to be honest) and the resulting program was able to compute some homotopy groups of spheres; these homotopy groups were known and it seems that the unknown homotopy groups of spheres are out of reach with the current computational power and/or our approach, which might perhaps be too general for the very special problem of computing homotopy groups of spheres. In addition, as was mentioned, homotopy groups of spheres are very well studied and much is known. We believe that the implementation may prove useful elsewhere, in particular, in the equivariant setting. References [1] M. Čadek, M. Krčál, J. Matoušek, F. Sergeraert, L. Vokřínek, U. Wagner. Computing all maps into a sphere. J. ACM, 61 (2014), 17:1-44. [2] M. Čadek, M. Krčál, J. Matoušek, L. Vokřínek, U. Wagner. Polynomial-time computation of homotopy groups and Postnikov systems in fixed dimension. SIAM J. Comput., 43 (2014), 1728-1780 [3] M. Čadek, M. Krčál, J. Matoušek, L. Vokřínek, U. Wagner. Extendability of continuous maps is undecidable. Discr. Comput. Geom., 51 (2014), 24-66 [4] M. Čadek, M. Krčál, L. Vokřínek. Algorithmic solvability of the lifting-extension problem. Discr. Comput. Geom., 57 (2017), 915-965 [5] L. Vokřínek. Decidability of the extension problem for maps into odd-dimensional spheres. Discr. Comput. Geom., 57 (2017), 1-11 [6] M. Filakovský, L. Vokřínek. Are two given maps homotopic? An algorithmic viewpoint. Preprint, arXiv: 1312.2337, 2013. Submitted to Found. Comput. Math. 16 [7] L. Vokfinek. Constructing homotopy equivalences of chain complexes of free ZG-modules. Contemp. Math., 617 (2014), 279-296. [8] E. H. Brown (jun.). Finite computability of Postnikov complexes. Ann. Math. 65 (1957), 1-20. [9] S. Eilenberg, and S. MacLane. On the groups H(Il,n), II: Methods of computation. Ann. of Math., 60 (1954), 49-139. [10] M. Filakovsky, L. Vokfinek. Computing homotopy classes of maps of diagrams. In preparation. [11] P. Franek, M. Krcal. Robust Satisfiability of Systems of Equations J. ACM, 62 (2015), Article No. 26. [12] Yu. V. Matiyasevich. Hilbert's tenth problem. Foundations of Computing Series. MIT Press, Cambridge, MA, 1993. Translated from the 1993 Russian original by the author, With a foreword by Martin Davis. [13] J. Matousek. Using the Borsuk-Ulam theorem. Springer, Berlin, 2003. [14] J. Matousek, M. Tancer, U. Wagner. Hardness of embedding simplicial complexes in Rd. J. Eur. Math. Soc, 13 (2011), 259-295. 17 Computing all maps into a sphere* Martin Čadek1 a Marek Krčálb'c Lukáš Vokřínek1 a Jiří Matoušekb'd Uli Wagnerc Francis Sergeraert6 January 17, 2014 Abstract Given topological spaces X, Y, a fundamental problem of algebraic topology is understanding the structure of all continuous maps X —> Y. We consider a computational version, where X,Y are given as finite simplicial complexes, and the goal is to compute [X, Y], i.e., all homotopy classes of such maps. We solve this problem in the stable range, where for some d > 2, we have dimW < 2d — 2 and Y is (d — 1)-connected; in particular, Y can be the rf-dimensional sphere Sd. The algorithm combines classical tools and ideas from homotopy theory (obstruction theory, Post-nikov systems, and simplicial sets) with algorithmic tools from effective algebraic topology (locally effective simplicial sets and objects with effective homology). In contrast, [X, Y] is known to be uncomputable for general X,Y, since for X = S1 it includes a well known undecidable problem: testing triviality of the fundamental group In follow-up papers, the algorithm is shown to run in polynomial time for d fixed, and extended to other problems, such as the extension problem, where we are given a subspace A C X and a map A —> Y and ask whether it extends to a map X —> Y, or computing the TL^-index—everything in the stable range. Outside the stable range, the extension problem is undecidable. 1 Introduction Among results concerning computations in topology, probably the most famous ones are negative. For example, there is no algorithm to decide whether the fundamental group tvi(Y) of a given space Y is trivial, i.e., whether every loop in Y can be continuously contracted to a point.1 Here we obtain a positive result for a closely related and fairly general problem, homotopy classification of maps;2 namely, we describe an algorithm that works in the so-called stable range. * The research by M. Č. and L. V. was supported by a Czech Ministry of Education grant (MSM 0021622409). The research by M. K. was supported by project GAUK 49209. The research by J. M. and M. K. was also supported by project 1M0545 by the Ministry of Education of the Czech Republic and by Center of Excellence - Inst, for Theor. Comput. Sci., Prague (project P202/12/G061 of CA ČR). The research by J. M. was also supported by the ERC Advanced Grant No. 267165. The research by U. W. was supported by the Swiss National Science Foundation (SNF Projects 200021-125309, 200020-138230, and PP00P2-138948). aDepartment of Mathematics and Statistics, Masaryk University, Kotlářská 2, 611 37 Brno, Czech Republic bDepartment of Applied Mathematics, Charles University, Malostranské nám. 25, 118 00 Praha 1, Czech Republic CIST Austria, Am Campus 1, 3400 Klosterneuburg, Austria, dInstitute of Theoretical Computer Science, ETH Zurich, 8092 Zurich, Switzerland eInstitut Fourier, BP 74, 38402 St Martin, d'Heres Cedex, France 1This follows by a standard reduction, see, e.g., [54], from a result of Adjan and Rabin on unsolvability of the triviality problem of a group given in terms of generators and relation; see, e.g., [51]. 2The definition of homotopy and other basic topological notions will be recalled later. of Y. 1 Computational topology. This paper falls into the broader area of computational topology, which has been a rapidly developing discipline in recent years—see, for instance, the textbooks [12, 58, 33]. Our focus is somewhat different from the main current trends in the field, where, on the one hand, computational questions are intensively studied in dimensions 2 and 3 (e.g., concerning graphs on surfaces, knots or 3-manifolds3), and, on the other hand, for arbitrary dimensions mainly homology computations are investigated. Homology has been considered an inherently computational tool since its inception and there are many software packages that contain practical implementations, e.g., polymake [19]. Thus, algorithmic solvability of homological questions is usually obvious, and the challenge may be, e.g., designing very fast algorithms to deal with large inputs. Moreover, lot of research has been devoted to developing extensions such as persistent homology [11], motivated by applications like data analysis [9]. In contrast, homotopy-theoretic problems, as those studied here, are generally considered much less tractable than homological ones and the first question to tackle is usually the existence of any algorithm at all (indeed, many of them are algorithmically unsolvable, as the example of triviality of the fundamental group illustrates). Such problems lie at the core of algebraic topology and have been thoroughly studied from a topological perspective since the 1940s. A significant effort has also been devoted to computer-assisted concrete calculations, most notably of higher homotopy groups of spheres; see, e.g., [26]. Effective algebraic topology. In the 1990s, three independent groups of researchers proposed general frameworks to make various more advanced methods of algebraic topology effective (algorithmic): Schon [45], Smith [50], and Sergeraert, Rubio, Dousson, and Romero (e.g., [48, 42, 41, 43]; also see [44] for an exposition). These frameworks yielded general computabil-ity results for homotopy-theoretic questions (including new algorithms for the computation of higher homotopy groups [40]), and in the case of Sergeraert and co-workers, a practical implementation as well. The problems considered by us were not addressed in those papers, but we rely on the work of Sergeraert et al., and in particular on their framework of objects with effective homology, for implementing certain operations in our algorithm (see Sections 2 and 4). We should also mention that our perspective is somewhat different from the previous work in effective algebraic topology, closer to the view of theoretical computer science; although in the present paper we provide only computability results, subsequent work also addresses the computational complexity of the considered problems. We consider this research area fascinating, and one of our hopes is that our work may help to bridge the cultural gap between algebraic topology and theoretical computer science. The problem: homotopy classification of maps. A central theme in algebraic topology is to understand, for given topological spaces X and Y, the set [X, Y] of homotopy classes of maps4 from X to Y. Many of the celebrated results throughout the history of topology can be cast as information about [X, Y] for particular spaces X and Y. An early example is a famous theorem of Hopf from the 1930s, asserting that the homotopy class of a map /: Sn —> Sn, where Sn is the n-dimensional sphere, is completely determined by an integer called the degree of /, thus giving a one-to-one correspondence [S,n,S'n] = 7L. Another great discovery of Hopf, with ramifications in modern physics and elsewhere, was a map S*3 —> S2, now called by his name, that is not nomotopic to a constant map. These two early results concern higher homotopy groups: for our purposes, the kth homotopy 3A seminal early result in the latter direction is Haken's famous algorithm for recognizing the unknot [23]. 4In this paper, all maps between topological spaces are assumed to be continuous. Two maps f,g:X—>Y are said to be homotopic, denoted / ~ g, if there is a map F: X x [0,1] —> Y such that F(-, 0) = / and F(-, 1) = g. The equivalence class of / of this relation is denoted [/] and called the homotopy class of /. 2 group 7Tfc(y), k > 2, of a space Y can be identified with the set [Sk, Y] equipped with a suitable group operation.5 In particular, a very important special case are the higher homotopy groups of spheres Tik(Sn), whose computation has been one of the important challenges propelling research in algebraic topology, with only partial results so far despite an enormous effort (see, e.g., [39, 27]). The extension problem. A problem closely related to computing [X, Y] is the extension problem: given a subspace A C X and a map /: A -^Y, can it be extended to a map X —> Yl For example, the famous Brouwer fixed-point theorem can be re-stated as non-extendability of the identity map Sn —> Sn to the ball Dn+1. A number of topological concepts, which may seem quite advanced and esoteric to a newcomer in algebraic topology, e.g. Steenrod squares, have a natural motivation in trying to solve the extension problem step by step. Early results. Earlier developments around the extension problems are described in Steenrod's paper [53] (based on a 1957 lecture series), which we can recommend, for readers with a moderate topological background, as an exceptionally clear and accessible, albeit somewhat outdated, introduction to this area. In particular, in that paper, Steenrod asks for an effective procedure for (some aspects of) the extension problem. There has been a tremendous amount of work in homotopy theory since the 1950s, with a wealth of new concepts and results, some of them opening completely new areas. However, as far as we could find out, the algorithmic part of the program discussed in [53] has not been explicitly carried out until now. As far as we know, the only algorithmic paper addressing the general problem of computing of [X, Y] is that by Brown [5] from 1957. Brown showed that [X, Y] is computable under the assumption that Y is 1-connected6 and all the higher homotopy groups 7Tfc(Y), 2 < k < dimX, are finite. The latter assumption is rather strong7; in particular, Brown's algorithm is not applicable for Y = Sd since ird(Sd) 2* Z. In the same paper, Brown also gave an algorithm for computing Tik(Y), k > 2, for every 1-connected Y. To do this, he overcame the restriction on finite homotopy groups mentioned above, and also discussed in Section 2 below, by a somewhat ad-hoc method, which does not seem to generalize to the [X, Y] setting. On the negative side, it is undecidable whether [S1, Y] is trivial (since this is equivalent to the triviality of tvi(Y)). By an equally classical result of Boone and of Novikov [2, 3, 4, 38] it is undecidable whether a given map S*1 —> Y can be extended to a map D2^Y, even if Y is a finite 2-dimensional simplicial complex. Thus, both the computation [X, Y] and the extension problem are algorithmically unsolvable without additional assumptions on Y. These are the only previous undecidability results in this context known to us; more recent results, obtained as a follow-up of the present paper, will be mentioned later. For a number of more loosely related undecidability results we refer to [51, 37, 36] and the references therein. New results. In this paper we prove the computability of [X, Y] under a fairly general condition on X and Y. Namely, we assume that, for some integer d > 2, we have dimX < 2d—2, while Y is [d— l)-connected. A particularly important example of a [d— l)-connected space, often 5Formally, the fcth homotopy group iik(Y) of a space Y, k > 1, is defined as the set of all homotopy classes of pointed maps /: Sk —> Y, i.e., maps / that send a distinguished point so £ Sk to a distinguished point 2/o £ Y (and the homotopies F also satisfy F(so,t) = 2/0 for all t £ [0,1]). Strictly speaking, one should write 7Tfe(Y", 2/o) but for a path-connected Y, the choice of 2/0 does not matter. Furthermore, iik(Y) is trivial (has only one element) iff [Sk, Y] is trivial, i.e., if every map Sk —> Y is homotopic to a constant map. Moreover, if tvi(Y) is trivial, then for k > 2, the pointedness of the maps does not matter and one can identify Trk(Y) with [Sk,Y]. Each 7Tfe (Y) is a group, which for k > 2 is Abelian, but the definition of the group operation is not important for us at the moment. 6A space Y is said to be k-connected if every map Sl —> Y can be extended to Dl+1, the ball bounded by the spheres S%, for i = 0,1,..., k. Equivalently, Y is path-connected and the first k homotopy groups in(Y), i < k, are trivial. 7Steenrod [53] calls this restriction "most severe," and conjectures that it "should ultimately be unnecessary." 3 encountered in applications, is the sphere Sd. We also assume that A and Y are given as finite simplicial complexes or, more generally, as finite simplicial sets (a more flexible generalization of simplicial complexes; see Section 4). An immediate problem with computing the set [X, Y] of all homotopy classes of continuous maps is that it may be infinite. However, it is known that under the just mentioned conditions on X and Y, [X,Y] can be endowed with a structure of a finitely generated Abelian group.8 Our algorithm computes the isomorphism type of this Abelian group. Theorem 1.1. Let d > 2. There is an algorithm that, given finite simplicial complexes (or finite simplicial sets) X,Y, where dim A < 2d — 2 and Y is (d — l)-connected, computes the isomorphism type of the Abelian group [A, Y], i.e., expresses it as a direct product of cyclic groups. Moreover, given a simplicial map f:X—>Y, the element of the computed direct product corresponding to [f] can also be computed. Consequently, it is possible to test homotopy of simplicial maps X —> Y. We remark that the algorithm does not need any certificate of the 1-connectedness of Y, but if Y is not 1-connected, the result may be wrong. In the remainder of the introduction, we discuss related results, applications, general motivation for our work, and directions for future research. In Section 2, we will present an outline of the methods and of the algorithm. In Sections 3-5, we will introduce and discuss the necessary preliminaries, and then we present the algorithm in detail in Section 6. Follow-up work. We briefly summarize a number of strengthenings and extensions of Theorem 1.1, as well as complementary hardness results, obtained since the original submission of this paper. They will appear in a series of follow-up papers. Running time. In the papers [6, 29] it is shown that, for every fixed d, the algorithm as in Theorem 1.1 can be implemented so that its running time is bounded by a polynomial in the size of X and Y.9 The nontrivial part of this polynomiality result is a subroutine for computing Postnikov systems, which we use as a black box here—see Section 2. For the rest of the algorithm, verifying polynomiality is straightforward, see [28]; except for some brief remarks, we will not consider this issue here, in order to avoid distraction from the main topic. The extension problem. In [6, Theorem 1.4], it is shown that the methods of the present paper also yield an algorithm for the extension problem as defined above. The extension problem can actually be solved even for dim A < 2d — 1, as opposed to 2d—2 in Theorem 1.1 (still asumming that Y is {d — l)-connected). Again, the running time is polynomial for d fixed. Hardness outside the stable range. The dimension and connectivity assumptions in Theorem 1.1 turned out to be essential and almost sharp, in the following sense: In [7], it is shown that, for every d > 2, the extension problem is undecidable for dim A = 2d and [d — l)-connected Y. Similar arguments show that for dim A = 2d and (d — l)-connected Y, deciding whether every map A —> Y is homotopic to a constant map (i.e., |[A, Y]\ =1) is NP-hard and no algorithm is known for it [28, Theorem 2.1.2]. Dependence on d. The running-time of the algorithm in Theorem 1.1 can be made polynomial for every fixed d, as was mentioned above, but it depends on d at least exponentially. We consider it unlikely that the problem can be solved by an algorithm whose running time also depends polynomially on d. One heuristic reason supporting this belief is that Theorem 1.1 includes the computation of the stable homotopy groups ird+k{Sd), k < d — 2. These are considered 8In particular, the groups [X,Sd] are known as the cohomotopy groups of X; see [25]. 9Here, for simplicity, we can define the size of a finite simplicial complex X as the number of its simplices; for a simplicial set, we count only nondegenerate simplices. It is not hard to see that if the dimension of X is bounded by a constant, then X can be encoded by a string of bits of length polynomial in the number of (nondegenerate) simplices; also see the discussion in [6]. 4 mathematically very difficult objects, and a polynomial-time algorithm for computing them would be quite surprising. Another reason is that the related problem of computing the higher homotopy groups Tik(Y) of a 1-connected simplicial complex Y was shown to be #P-hard if k, encoded in unary, is a part of input [1, 7], and it is W[l]-hard w.r.t. the parameter k [32], even for Y of dimension 4. Still, it would be interesting to have more concrete hardness results for the setting of Theorem 1.1 with variable d. Lifting-extension and the equivariant setting. In [8, 56], the ideas and methods of the present paper are further developed and generalized to more general lifting-extension problems and to the equivariant setting, where a fixed finite group G acts freely on both X and Y, and the considered continuous maps are also required to be equivariant, i.e., to commute with the actions of G. The basic and important special case with G = will be discussed in more detail below. Homotopy testing. By Theorem 1.1, it is possible to test homotopy of two simplicial maps X —> Y in the stable range. It turns out that for this task, unlike for the extension problem, the restriction to the stable range is unnecessary: it suffices to assume that Y is 1-connected [14]. Applications, motivation, and future work. We consider the fundamental nature of the algorithmic problem of computing [X, Y] a sufficient motivation of our research. However, we also hope that work in this area will bring various connections and applications, also in other fields, possibly including practically usable software, e.g., for aiding research in topology. Here we mention two applications that have already been worked out in detail Robust roots. A nice concrete application comes from the so-called ROB-SAT problem— robust satisfiability of systems of equations The problem is given by a rational value a > 0 and a piecewise linear function f:K—> Rd defined by rational values on the vertices of a simplicial complex K. The question is whether an arbitrary continuous g: K —» Rd that is at most a-far from / (i.e., ||/ — 1100 ^ a) has a root. In a slightly different and more special form, this problem was investigated by Franek et al. [16], and later Franek and Krcal [15] exhibited a computational equivalence of ROB-SAT and the extension problem for maps into the sphere gd-i^ rpne ajg0r}tnm for tne extrendabifity problem based on the present paper then yields an algorithmic solution when dim If < 2d — 3. Ti2-index and embeddability. An important motivation for the research leading to the present paper was the computation of the Wi2-index (or genus) ind(X) of a Z^-space X,10 i.e., the smallest d such that X can be equivariantfy mapped into Sd. For example, the classical Borsuk-Ulam theorem can be stated in the form ind(S'd) > d. Generalizing the results in the present paper, [8] provided an algorithm that decides whether ind(X) < d, provided that d > 2 and dim(X) < 2d — 1; for fixed d the running time is polynomial in the size of X. The computation of ind(X) arises, among others, in the problem of embeddability of topological spaces, which is a classical and much studied area; see, e.g., the survey by Skopenkov [49]. One of the basic questions here is, given a fc-dimensionaf finite simplicial complex K, can it be (topologically) embedded in Rd? The famous Haefliger-Weber theorem from the 1960s asserts that, in the metastable range of dimensions, i.e., for k < | X with v o v = idx • A primary example is a sphere Sd with the antipodal action x 1—> —x. An equivariant map between Z2-spaces is a continuous map that commutes with the Z2 actions. 5 ogy. For example, the celebrated result of Lovasz on Kneser's conjecture can be re-stated as x{G) > ind(B(G)) + 2, where x{G) is the chromatic number of a graph G, and B{G) is a certain simplicial complex constructed from G (see, e.g., [30]). We find it striking that prior to [8], nothing seems to have been known about the computability of such an interesting quantity as md(B(G)). Explicit maps? Our algorithm for Theorem 1.1 works with certain implicit representations of the elements of [X, Y]; it can output a set of generators of the group in this representation, and it contains a subroutine implementing the group operation. It would be interesting to know whether these implicit representations can be converted into actual maps X —> Y (given, say, as simplicial maps from a sufficiently fine subdivision of X into Y) in an effective way. Given an implicit representation of a homotopy class re £ [X, Y], we can compute an explicit map X —» Y in re by a brute force search: go through finer and finer subdivisions X of X and through all possible simplicial maps X —> Y until a simplicial map in re is found. Membership in re can be tested using Theorem 1.1; this may not be entirely obvious, but we do not give the details here, since this is only a side-remark. However, currently we have no upper bound on how fine subdivision may be required. This would also be of interest in certain applications such as the embeddability problem— whenever we want to construct an embedding explicitly, instead of just deciding embeddability. Various measures of complexity of embeddings have been studied in the literature, and very recently, Freedman and Krushkal [17] obtained bounds for the subdivision complexity of an embedding K —> Rd. Here d and k = dim If are considered fixed, and the question is, what is the smallest f(n) such that every fc-dimensional complex K with n simplices that is embeddable in Rd has a subdivision L with at most f(n) simplices that admits a linear embedding in Rd (i.e., an embedding that is an affine map on each simplex of L)l Freedman and Krushkal essentially solved the case with d = 2k (here the embeddability can be decided in polynomial time—this is covered by [8] but this particular case goes back to a classical work of Van Kampen from the 1930s; see [31]). The subdivision complexity for the other cases in the metastable range, i.e., for k < | Y in the setting of Theorem 1.1 might be a key step in its resolution. 2 An outline of the methods and of the algorithm Here we present an overview of the algorithm and sketch the main ideas and tools. Everything from this section will be presented again in the rest of the paper. Some topological notions are left undefined here and will be introduced in later sections. The geometric intuition: obstruction theory. Conceptually, the basis of the algorithm is classical obstruction theory [13]. For a first encounter, it is probably easier to consider a version of obstruction theory which proceeds by constructing maps X —> Y inductively on the i-dimensional skeleta11 of X, extending them one dimension at a time. (For the actual algorithm, we use a different, "dual" version of obstruction theory, where we lift maps from X through stages of a so-called Postnikov system of Y.) In a nutshell, at each stage, the extendability of a map from the {i — l)-skeleton to the i-skeleton is characterized by vanishing of a certain obstruction, which can, more or less by known techniques, be evaluated algorithmically. Textbook expositions may give the impression that obstruction theory is a general algorithmic tool for testing the extendability of maps (this is actually what some of the topologists we consulted seemed to assume). However, the extension at each step is generally not unique, and extendability at subsequent steps may depend, in a nontrivial way, on the choices made earlier. Thus, in principle, one needs to search an infinitely branching tree of extensions. Brown's result 11 The i-skeleton of a simplicial complex X consists of all simplices of X of dimension at most i. 6 mentioned earlier, on computing [X, Y] with the 7Tfc(Y)'s finite, is based on a complete search of this tree, where the assumptions on Y guarantee the branching to be finite. In our setting, we make essential use of the group structure on the set [X, Y] (mentioned in Theorem 1.1), as well as on some related ones, to produce a finite encoding of the set of all possible extensions at a given stage. Semi-effective and fully effective Abelian groups. The description of our algorithm has several levels. On the top level, we work with Abelian groups whose elements are homotopy classes of maps. On a lower level, the group operations and other primitives are implemented by computations with concrete representatives of the homotopy classes; interestingly, on the level of representatives, the operations are generally non-associative. We need to be careful in distinguishing "how explicitly" the relevant groups are available to us. Specifically, we distinguish between semi-effective and fully effective Abelian groups: For the former, we have a suitable way of representing the elements on a computer and we can compute the various group operations (addition, inverse) on the level of representatives. For the latter, we additionally have a list of generators and relations and we can express a given element in terms of the generators (see Section 3 for a detailed discussion). A homomorphism / between two semi-effective Abelian groups is called locally effective if there is an algorithm that, given a representative of an element a, computes a representative of f(a). Simplicial sets and objects with effective homology. All topological spaces in the algorithm are represented as simplicial sets, which will be discussed in more detail in Section 4.1. Suffice it here to say that a simplicial set is a purely combinatorial description of how to build a space from simple building blocks (simplices), similar to a simplicial complex, but allowing more general ways of gluing simplices together along their faces, which makes many constructions much simpler and more conceptual. For the purposes of our exposition we will occasionally talk about topological spaces specified in other ways, most notably, as CW-complexes—e.g., in Sections 4.3 and 5.1. However, we stress that in the algorithm, all spaces are represented as simplicial sets. A finite simplicial set can be encoded explicitly on a computer by a finite bit string, which describes a list of all (nondegenerate) simplices and the way of gluing them together. However, the algorithm also uses a number of infinite simplicial sets in its computation, such as simplicial Eilenberg-MacLane spaces discussed below. For these, it is not possible to store the list of all nondegenerate simplices. Instead, we use a general framework developed by Sergeraert et al. (as surveyed, e.g., in [44]), in which a possibly infinite simplicial set is represented by a black box or oracle (we speak of a locally effective simplicial set). This means that we have a specified encoding of the simplices of the simplical set and a collection of algorithms for performing certain operations, such as computing a specific face of a given simplex. Similarly, a simplicial map between locally effective simplicial sets is locally effective if there is an algorithm that evaluates it on any given simplex of the domain; i.e., given the encoding of an input simplex, it produces the encoding of the image simplex. To perform global computations with a given locally effective simplicial set, e.g., compute its homology and cohomology groups of any given dimension, the black box representation of these locally effective simplicial sets is augmented with additional data structures and one speaks about simplicial sets with effective homology. Sergeraert et al. then provide algorithms that construct basic topological spaces, such as finite simplicial sets or Eilenberg-MacLane spaces, as simplicial sets with effective homology. More crucially, the auxiliary data structures of a simplicial set with effective homology are designed so that if we perform various topological operations, such as the Cartesian product, the bar construction, the total space of a fibration, etc., the result is again a simplicial set with effective homology. Postnikov systems. The target space Y in Theorem 1.1 enters the computation in the form 7 of a Postnikov system. Roughly speaking, a Postnikov system of a space Y is a way of building Y from "canonical pieces", called Eilenbery-MacLane spaces, whose homotopy structure is the simplest possible, namely, they have a single non-trivial homotopy group. The Eilenberg-MacLane spaces occurring in the algorithm will be denoted by K{ and Lj, and they depend only on the homotopy groups of Y. A Postnikov system has stayes Pq,Pi,. .., where Pj reflects the homotopy properties of Y up to dimension i; in particular, iVj(Pi) = ttj(Y) for all j < i, while iVj(Pi) = 0 for j > i. The isomorphisms of the homotopy groups for j < i are induced by maps tpi: Y —» Pi, which are also a part of the Postnikov system. Crucially, these maps also induce bijections [X, Y] —> [X, Pi] whenever dimX < i; in words, homotopy classes of maps X —> Y from any space X of dimension at most i are in bijective correspondence with homotopy classes of maps X —» Pj. The last component of a Postnikov system are mappings k$, k\,..., where fcj_i: Pj-i —> is called the {i — l)st Postnikov class. Together with the group 7Tj(Y), it describes how Pj is obtained from Pj-i. If Y is (d — l)-connected, then for i < 2d —2, the Postnikov stage Pj can be equipped with an i-f-group structure, which is, roughly speaking, an Abelian group structure "up to homotopy" (this is where the connectivity assumption enters the picture). This i-f-group structure on Pj induces, in a canonical way, an Abelian group structure on [X, Pi], for every space X, with no restriction on dimX. Now assuming dimX < 2d — 2, we have the bijection [X, Y] —> [X, P2d-2\ as mentioned above, and this can serve as the definition of the Abelian group structure on [X, Y] used in Theorem 1.1. Therefore, instead of computing [X, Y] directly, we actually compute [X, P2d-2]i which yields an isomorphic Abelian group. (However, the elements of [X, P2d-2\ are n°t so easily related to continuous maps X —> Y; this is the cause of the open problem, mentioned in the introduction, of effectively finding actual maps X —> Y as representatives of the generators.) Thus, to prove Theorem 1.1, we first compute the stages Pq, ..., ?2d-2 of a Postnikov system of Y, and then, by induction on i, we determine [X, Pi], i < 2d — 2. We return the description of [X, p2d-2] as an Abelian group. For the inductive computation of [X, Pi] we do not need any dimension restriction on X anymore, which is important, because the induction will also involve computing, e.g., [SX, Pj-i], where SX is another simplicial set, the suspension of X, with dimension one larger than that of X. The stages Pj of the Postnikov system are built as simplicial sets with a particular property (they are Kan simplicial sets12), which ensures that every continuous map X —> Pi is homotopic to a simplicial map. In this way, instead of the continuous maps X —> Y, which are problematic to represent, we deal only with simplicial maps X —> Pi in the algorithm, which are discrete, and even finitely representable, objects. Outline of the algorithm. 1. As a preprocessing step, we compute, using the algorithm from [6], a suitable representation of the first 2d — 2 stages of a Postnikov system for Y. We refer to Section 4.3 for the full specification of the output provided by this computation; in particular, we thus obtain the isomorphism types of the first 2d — 2 homotopy groups 7Tj = iVi(Y) of Y, the Postnikov stages Pj and the Eilenberg-MacLane spaces Lj and Ki+i, i<2d — 2,&s locally effective simplicial sets, and various maps between these spaces, e.g., the Postnikov classes ki-im. Pj-i —> Ki+\, as locally effective simplicial maps. 2. Given a finite simplicial set X, the main algorithm computes [X, Pi] as a fully effective Abelian group by induction on i, i < 2d — 2, and [X, P2d-2\ is the desired output. The principal steps are as follows: 12The term Kan complex is also commonly used in the literature. 8 • We construct locally effective simplicial maps EBj: Pj x Pj —> Pi and Bj: Pj —> Pi, i < 2d — 2 (Section 5). These induce a binary operation Bj* and a unary operation □j* on SMap(X, Pj) that correspond to the the group operations in [X, Pi] on the level of representatives. This yields, in the terminology of Section 3, a semi-effective representation for [X, Pi]. • It remains to convert this semi-effective representation into a fully effective one; this is carried out in detail in Section 6. For this step, we use that [X, Li] and [X, Ki+i] are straightforward to compute as fully effective Abelian groups since, by basic properties of Eilenberg-MacLane spaces, they are canonically isomorphic to certain cohomology groups of X. Moreover, we assume that, inductively, we have already computed [SX, Pj-i] and [X, Pi-i] as fully effective Abelian groups, where SX is the suspension of X mentioned above. These four Abelian groups, together with [X, Pi], fit into an exact sequence of Abelian groups (see Equation (8) in Section 6.1), and this is then used to compute the desired fully effective representation of [X, Pi]—see Section 6. Roughly speaking, what happens here is that, among the maps X —> Pj-i, we "filter out" those that can be lifted to maps X —> Pi (this corresponds to evaluating an appropriate obstruction, as was mentioned at the beginning of this section), for each map that can be lifted we determine all possible liftings, and finally, we test which of the lifted maps are nomotopic. Since there are infinitely many homotopy classes of maps involved in these operations, we have to work globally, with generators and relations in the appropriate Abelian groups of homotopy classes. Remarks. Evaluating Postnikov classes. For Y fixed, the subroutines for evaluating the Postnikov classes ki, i < 2d — 2, could be hard-wired once and for all. In some particular cases, they are given by known explicit formulas. In particular, for Y = Sd, k^ corresponds to the famous Steenrod square [52, 53] (more precisely, to the reduction from integral cohomology to mod 2 cohomology followed by the Steenrod square Sq2), and k^+i to Adem's secondary cohomology operation. However, in the general case, the only way of evaluating the ki we are aware of is using simplicial sets with effective homology mentioned earlier. In this context, our result can also be regarded as an algorithmization of certain higher cohomology operations (see, e.g., [35]), although our development of the required topological underpinning is somewhat different and, in a way, simpler.13 Avoiding iterated suspensions. In order to compute [X, Pi], our algorithm recursively computes all suspensions [SX, Pj], d < j < i — 1. In a straightforward implementation of the algorithm, for computing [SX, Pi-i] we should also recursively compute [SSX, Pj-2] etc., forming essentially a complete binary tree of recursive calls. We remark that by a slightly more complicated implementation of the algorithm, this tree of recursive calls can be truncated, since we do not really need the complete information about [SX, Pj-i] to compute [X, Pi]. Essentially, we need only a system of generators of [SX, Pj-i] and not the relations; see Remark 3.4. We stress, however, that this is merely a way to speed up the algorithm, and only by a constant factor if d is fixed. 13Let us also mention the paper by Gonzales-Diaz and Real [21], which provides algorithms for calculating certain primary and secondary cohomology operations on a finite simplicial complex (including the Steenrod square Sq2 and Adem's secondary cohomology operation). But both their goal and approach are different from ours. The algorithms in [21] are based on explicit combinatorial formulas for these operations on the cochain level. The goal is to speed up the "obvious" way of computing the image of a given cohomology class under the considered operation. In our setting, we have no general explicit formulas available, and we can work only with the cohomology classes "locally," since they are usually denned on infinite simplicial sets. That is, a cohomology class is represented by a cocycle, and that cocycle is given as an algorithm that can compute the value of the cocycle on any given simplex. 9 A remark on methods. From a topological point of view, the tools and ideas that we use and combine to establish Theorem 1.1 have been essentially known. On the one hand, there is an enormous topological literature with many beautiful ideas; indeed, in our experience, a problem with algorithmization may sometimes be an abundance of topological results, and the need to sort them out. On the other hand, the classical computational tools have been mostly designed for the "paper-and-pencil" model of calculation, where a calculating mathematician can, e.g., easily switch between different representations of an object or fill in some missing information by clever ad-hoc reasoning. Adapting the various methods to machine calculation sometimes needs a different approach; for instance, a recursive formulation may be preferable to an explicit, but cumbersome, formula (see, for example, [42, 47] for an explanation of algorithmic difficulties with spectral sequences, a basic and powerful computational tool in topology). We see our main contribution as that of synthesis: identifying suitable methods, putting them all together, and organizing the result in a hopefully accessible way, so that it can be built on in the future. Some technical steps are apparently new; in this direction, our main technical contribution is probably a suitable implementation of the group operation on Pj (Section 5) and recursive testing of nullhomotopy (Section 6.4). The former was generalized and, in a sense, simplified in [8], and the latter was extended to a more general situation in [14]. 3 Operations with Abelian groups On the top level, our algorithm works with finitely generated Abelian groups. The structure of such groups is simple (they are direct sums of cyclic groups) and well known, but we will need to deal with certain subtleties in their algorithmic representations. In our setting, an Abelian group A is represented by a set A, whose elements are called representatives; we also assume that the representatives can be stored in a computer. For a G A, let [a] denote the element of A represented by a. The representation is generally non-unique; we may have [a] = [/3] for a ^ (3. We call A represented in this way semi-effective if algorithms for the following three tasks are available: (SE1) Provide an element o G A representing the neutral element 0 G A. (SE2) Given a, (3 G A, compute an element a EB (3 G A with [a EB (3] = [a] + [f3] (where + is the group operation in A). (SE3) Given aei, compute an element E\a G A with [Ba] = — [a]. We stress that as a binary operation on A, EB is not necessarily a group operation; e.g., we may have a EB (f3 EB 7) / (a EB (3) EB 7, although of course, [a EB (f3 EB 7)] = [(a EB (3) EB 7]. For a semi-effective Abelian group, we are generally unable to decide, for a, (3 G A, whether [a] = [f3] (and, in particular, to certify that some element is nonzero). Even if such an equality test is available, we still cannot infer much global information about the structure of A. For example, without additional information we cannot certify that A it is infinite cyclic—it could always be large but finite cyclic, no matter how many operations and tests we perform. We now introduce a much stronger notion, with all the structural information explicitly available. We call a semi-effective Abelian group A fully effective if it is finitely generated and we have an explicit expression of A as a direct sum of cyclic groups. More precisely, we assume that the following are explicitly available: 10 (FE1) A list of generators a±,..., of A (given by representatives a±,..., G A) and a list (qi,..., qk), qi G {2, 3, 4,...} U {oo}, such that each aj generates a cyclic subgroup of A of order qi, i = 1,2,... ,k, and A is the direct sum of these subgroups. (FE2) An algorithm that, given a G A, computes a representation of [a] in terms of the generators; that is, it returns {z\,..., z^) G Zfc such that [a] = Yli=i ziai- First we observe that, for full effectivity, it is enough to have A given by arbitrary generators and relations. That is, we consider a semi-effective A together with a list b\,..., bn of generators of A (again explicitly given by representatives) and an m x n integer matrix U specifying a complete set of relations for the 6j; i.e., Y^i=i zi^i = 0 holds iff {z\,..., zn) is an integer linear combination of the rows of U. Moreover, we have an algorithm as in (FE2) that allows us to express a given element a as a linear combination of b\,..., bn (here the expression may not be unique). Lemma 3.1. A semi-effective A with a list of generators and relations as above can be converted to a fully effective Abelian group. Proof. This amounts to a computation of a Smith normal form, a standard step in computing integral homology groups, for example (see [55] for an efficient algorithm and references). Concretely, the Smith normal form algorithm applied on U yields an expression D = SUT with D diagonal and S, T square and invertible (everything over TL\ Letting b = (pi,..., bn) be the (column) vector of the given generators, we define another vector a = (a±,... ,an) of generators by a := T_1b. Then Da = 0 gives a complete set of relations for the aj (since DT^1 = SU and the row spaces of SU and of U are the same). Omitting the generators a-i such that \da\ = 1 yields a list of generators as in (FE1). □ In the remainder of this section, the special form of the generators as in (FE1) will bring no advantage—on the contrary, it would make the notation more cumbersome. We thus assume that, for the considered fully effective Abelian groups, we have a list of generators and an arbitrary integer matrix specifying a complete set of relations among the generators. Locally effective mappings. Let A, Y be sets. We call a mapping tp: X —> Y locally effective if there is an algorithm that, given an arbitrary x G A, computes (f(x). Next, for semi-effective Abelian groups A, B, with sets A, B of representatives, respectively, we call a mapping /: A —?► B locally effective if there is a locally effective mapping tp: A —> B such that [2,...,^, generate ker/. By similar (and 11 routine) considerations, which we omit, we can then compute a complete set of relations for the generators a'k, and finally we apply Lemma 3.1. □ The next operation is the dual of taking a kernel, namely, factoring a given Abelian group by the image of a locally effective homomorphism. For technical reasons, when applying this lemma later on, we will need the resulting factor group to be equipped with an additional algorithm that returns a "witness" for an element being zero. Lemma 3.3 (Cokernel). Let A,B be fully effective Abelian groups with sets of representatives A, B, respectively, and let f: A—> B be a locally effective homomorphism. Then we can obtain a fully effective representation of the factor group C := coker(/) = Bj im(/), again with the set B of representatives. Moreover, there is an algorithm that, given a representative /3 G B, tests whether /3 represents 0 in C, and if yes, returns a representative a G A such that [f(a)\ = [/3] in B. Remark 3.4. As will become apparent from the proof, the assumption that A is fully effective is not really necessary. Indeed, all that is needed is that A be semi-effective and that we have an explicit list of (representatives of) generators for A. In order to avoid burdening the reader with yet another piece of of terminology, however, we refrain from denning a special name for such representations. Proof of Lemma 3.3. As a semi-effective representation for C, we we simply reuse the one we already have for B. That is, we reuse B (and the same algorithms for (SE1—3)) to represent the elements of C as well. To distinguish clearly between elements in B and in C, for /3 G B, we use the notation b = [/3] in B and b = [/3] for the corresponding element b + im(/) in C. For a fully effective representation of C, we need the following, by Lemma 3.1: first, a complete set of generators for C (given by representatives); second, an algorithm as in (FE2) that expresses an arbitrary element of C (given as /3 G B) as a linear combination of the generators; and, third, a complete set of relations among the generators. For the first two tasks, we again reuse the solutions provided by the representation for B. Suppose b±,... ,bn (represented by /3i,..., /3n) generate B. Then b±,..., bn (with the same representatives) generate C. Moreover, by assumption, we have an algorithm that, given /3 G B, computes integers Z{ such that [/3] = z\b\ + ... znbn in B; then [/3] = zfb\ + ... + znbn in C. A complete set of relations among the the generators of C is obtained as follows. Let the matrix V specify a complete set of relations among the generators bj of B, let a±,..., am be a complete list of generators for A, and let Z be an integer matrix representing the homomorphism / with respect to the generators a±,..., am and b±,..., bn as in the proof of Lemma 3.2. Then specifies a complete set of relations among the bj in C. To see that this is the case, consider an integer (row) vector y = (yi,..., yn) and b := Y^j=i Vj^j- Then b = 0 in C iff b := Y^j=i Vjbj G im(/), i.e., iff there exists an element a = Y^1Lixiai £ A such that b — f(a) = 0 in B. By definition of Z and by assumption on V, this is the case iff there are integer vectors x and x' such that y = xZ + x'V, an integer combination of rows of U. It remains to prove the second part of Lemma 3.3, i.e., to provide an algorithm that, given /3 G B, tests whether [/3] = 0 in C, or equivalently, whether [/3] G im(/), and if so, computes a preimage. For this, we express [/3] = Y^j=iyj^j as an integer linear combination of generators of B and then solve the system y = xZ + x'V of integer linear equations as above (where we rely again on Smith normal form computations). □ The last operation is conveniently described using a short exact sequence of Abelian groups: 0 A f B 9 c 0 12 (in other words, we assume that /: A —> B is an injective homomorphism, g: B —> C is a surjective homomorphism, and im/ = kerg). It is well known that the middle group B is determined, up to isomorphism, by A, C, f, and g. For computational purposes, though, we also need to assume that the injectivity of / is "effective", i.e., witnessed by a locally effective inverse mapping r, and similarly for the surjectivity of g. This is formalized in the next lemma. Lemma 3.5 (Short exact sequence). Let (1) be a short exact sequence of Abelian groups, where A and C are fully effective, B is semi-effective, f: A —» B and g: B —» C are locally effective homomorphisms, and suppose that, moreover, the following locally effective maps (typically not homomorphisms) are given: (i) r: imf = ker g —» A such that f(r(b)) = b for every b G B with g{b) = 0.14 (ii) A map of representatives1^ £: C —» B (where B,C are the sets of representatives for B,C, respectively) that behaves as a section for g, i.e., such that #([£(7)]) = [7] for all 7 G C Then we can obtain a fully effective representation of B. Proof. Let a±,..., am be generators of A and c\,..., cn be generators of C, with fixed representative 7j G C for each Cj. We define bj := [£(7?)] for 1 < j < n. Given an arbitrary element b G B, we set c := g(b), express c = Y^j=i zjcj> and let b* : = b—Y^j=i zjbj■ Since g{b*) = g(b) — Y^j=1Zjg(bj) = 0, we have b* G kerg, and so a := r(b*) is well defined. Then we can express a = YliLi Viaii and we finally get b = YliLi Vif{ai) + Sj=i zj^j- Therefore, (f(ai),...,f(am),bi,...,bn) is a list of generators of B, computable in terms of representatives, and the above way of expressing b in terms of generators is algorithmic. Moreover, we have b = 0 iff g{b) = 0 and rip) = 0, which yields equality test in B. It remains to determine a complete set of relations for the described generators (and then apply Lemma 3.1). Let U be a matrix specifying a complete set of relations among the generators a±,..., am in A, and V is an appropriate matrix for c±,... ,cn Let (vki, • • •, Vkn) be the kth row of V. Since Y^J=i vkjcj = 0, we have b*k := Y^j=i vkjbj G kerg, and so, as above, we can express b*k = Yli=iyikf(ai)- Thus, we have the relation ~ YT=i Vikf{ai) + YTj=i vkjbj = 0 for our generators of B. Let Y = {y-ik) be the matrix of the coefficients constructed above. We claim that the matrix -Y V U 0 specifies a complete set of relations among the generators f(a±),..., f(am), 61,..., bn of B. Indeed, we have just seen that the rows in the upper part of this matrix correspond to valid relations, and the relations given by the rows in the bottom part are valid because U specifies relations among the cn in A and / is a homomorphism. Finally, let xif(ai)-\-----\- xmf(am) + zibi-\-----h znbn = 0 (2) be an arbitrary valid relation among the generators. Applying g and using g o f = 0, we get that Y^j=i zjcj = 0 is a relation in C, and so (z±,..., zn) is a linear combination of the rows of V. Let (wi,..., wm) be the corresponding linear combination of the rows of — Y. Then we have Y^iLiwif(ai) + Y^j=izjbj = 0, and subtracting this from (2), we arrive at YliLi wi)f{ai) = 0. Since / is an injective homomorphism, we have YliLi(xi ~ wi)ai = 0 in A, and so [x\ — wi,..., xm — wm) is a linear combination of the rows of U. This concludes the proof. □ 14The equality f(r(b)) = b is required on the level of group elements, and not necessarily on the level of representatives; that is, it may happen that (p(p(/3)) 7^ /3, although necessarily [(p(p(/3))] = [/?], where ip represents / and p represents r. 15For technical reasons, in the setting where we apply this lemma later, we do not get a well-defined map s: C —> B on the level of group elements, that is, we cannot guarantee that [71] = [72] implies [£(71)] = [£(72)]-Because of the injectivity of /, this problem does not occur for the map r. 13 4 Topological preliminaries In this part we summarize notions and results from the literature. They are mostly standard in homotopy theory and can be found in textbooks—see, e.g., Hatcher [24] for topological notions and May [34] for simplicial notions (we also refer to Steenrod [53] as an excellent background text, although its terminology differs somewhat from the more modern usage). However, they are perhaps not widely known to non-topologists, and they are somewhat scattered in the literature. We also aim at conveying some simple intuition behind the various notions and concepts, which is not always easy to get from the literature. On the other hand, in order to follow the arguments in this paper, for some of the notions it is sufficient to know some properties, and the actual definition is never used directly. Such definitions are usually omitted; instead, we illustrate the notions with simple examples or with an informal explanation. Even readers with a strong topological background may want to skim this part because of the notation. Moreover, in Section 4.3 we discuss an algorithmic result on the construction of Postnikov systems, which may not be well known. CW-complexes. Below we will state various topological results. Usually they hold for fairly general topological spaces, but not for all topological spaces. The appropriate level of generality for such results is the class of CW-complexes (or sometimes spaces homotopy equivalent to CW-complexes). A reader not familiar with CW-complexes may either look up the definition (e.g., in [24]), or take this just to mean "topological spaces of a fairly general kind, including all simplicial complexes and simplicial sets". It is also good to know that, similar to simplicial complexes, CW-complexes are made of pieces (cells) of various dimensions, where the O-dimensional cells are also called vertices. There is only one place, in Section 5.1, where a difference between CW-complexes and simplicial sets becomes somewhat important, and there we will stress this. 4.1 Simplicial sets Simplicial sets are our basic device for representing topological spaces and their maps in our algorithm. Here we introduce them briefly, with emphasis on the ideas and intuition, referring to Friedman [18] for a very friendly thorough introduction, to [10, 34] for older compact sources, and to [20] for a more modern and comprehensive treatment. A simplicial set can be thought of as a generalization of simplicial complexes. Similar to a simplicial complex, a simplicial set is a space built of vertices, edges, triangles, and higher-dimensional simplices, but simplices are allowed to be glued to each other and to themselves in more general ways. For example, one may have several 1-dimensional simplices connecting the same pair of vertices, a 1-simplex forming a loop, two edges of a 2-simplex identified to create a cone, or the boundary of a 2-simplex all contracted to a single vertex, forming an S2. However, unlike for the still more general CW-complexes, a simplicial set can be described purely combinatorially. Another new feature of a simplicial set, in comparison with a simplicial complex, is the presence of degenerate simplices. For example, the edges of the triangle with a contracted boundary (in the last example above) do not disappear—formally, each of them keeps a phantom-like existence of a degenerate 1-simplex. 14 Simplices, face and degeneracy operators. A simplicial set X is represented as a sequence (Xq,X±, X2,...) of mutually disjoint sets, where the elements of Xm are called the m-simplices of X. For every m > 1, there are m + 1 mappings 9q, ..., dm: Xm —y Xm—i called face operators; the meaning is that for a simplex a £ Xm, diO is the face of a obtained by deleting the ith vertex. Moreover, there are m + 1 mappings sq, ..., sm: Xm —y Am^^ (opposite direction) called the degeneracy operators; the meaning of Sjct is the degenerate simplex obtained from a by duplicating the ith vertex. A simplex is called degenerate if it lies in the image of some sf, otherwise, it is nondegenerate. There are natural axioms that the di and the Sj have to satisfy, but we will not list them here, since we won't really use them (and the usual definition of a simplicial set is formally different anyway, expressed in the language of category theory). We call X finite if it has finitely many nondegenerate simplices (every nonempty simplicial set has infinitely many degenerate simplices). Examples. Here we sketch some basic examples of simplicial sets; again, we won't provide all details, referring to [18]. Let An denote the standard n-dimensional simplex regarded as a simplicial set. For n = 0, (A°)m consists of a single simplex, denoted by 0m, for every m = 0,1,...; 0° is the only nondegenerate simplex. The face and degeneracy operators are defined in the only possible way. For n = 1, A1 has two 0-simplices (vertices), say 0 and 1, and in general there are m + 2 simplices in (A1)m; we can think of the ith one as containing i copies of the vertex 0 and m + 1 — i copies of the vertex 1, i = 0,l,...,m + l. For n arbitrary, the m-simplices of An can be thought of as all nondecreasing (m + l)-term sequences with entries in {0,1,..., n}; the ones with all terms distinct are nondegenerate. In a similar fashion, every simplicial complex K can be converted into a simplicial set A in a canonical way; however, first we need to fix a linear ordering of the vertices. The nondegenerate m-simplices of X are in one-to-one correspondence with the m-simplices of K, but many degenerate simplices show up as well. Finally we mention a "very infinite" but extremely instructive example, the singular set, which contributed significantly to the invention of simplicial sets—as Steenrod [53] puts it, the definition of a simplicial set is obtained by writing down fairly obvious properties of the singular set. For a topological space Y, the singular set S(Y) is the simplicial set whose m-simplices are all continuous maps of the standard m-simplex into Y. The ith face operator di: S(Y)m —> S(Y)m-i is given by the composition with a canonical mapping that sends the standard (m— l)-simplex to the ith face of the standard m-simplex. Similarly, the ith degeneracy operator is induced by the canonical mapping that collapses the standard (m + l)-simplex to its ith m-dimensional face and then identifies this face with the standard m-simplex, preserving the order of the vertices. Geometric realization. Similar to a simplicial complex, each simplicial set X defines a topological space \X\ (the geometric realization of X), uniquely up to homeomorphism. Intuitively, one takes disjoint geometric simplices corresponding to the nondegenerate simplices of X, and glues them together according to the identifications implied by the face and degeneracy operators (we again refer to the literature, especially to [18], for a formal definition). fc-reduced simplicial sets. A simplicial set X is called k-reduced if it has a single vertex and no nondegenerate simplices in dimensions 1 through k. Such an X is necessarily fc-connected. A similar terminology can also be used for CW-complexes; fc-reduced means a single vertex (0-cell) and no cells in dimensions 1 through k. Products. The product X x Y of two simplicial sets is formally defined in an incredibly simple way: we have {X x Y)m := Xm x Ym for every m, and the face and degeneracy operators work componentwise; e.g., di{a,r) := {dia,dir). As expected, the product of simplicial sets corresponds to the Cartesian product of the geometric realizations, i.e., \X x Y\ = \X\ x |1^|.16 16To be precise, the product of topological spaces on the right-hand side should be taken in the category of 15 The simple definition hides some intricacies, though, as one can guess after observing that, for example, the product of two 1-simplices is not a simplex—so the above definition has to imply some canonical way of triangulating the product. It indeed does, and here the degenerate simplices deserve their bread. Cone and suspension. Given a simplicial set X, the cone CX is a simplicial set obtained by adding a new vertex * to X, taking all simplices of X, and, for every m-simplex a £ Xm and every i > 1, adding to CX the (m + i)-simplex obtained from a by adding i copies of *. In particular, the nondegenerate simplices of CX are the nondegenerate simplices of X plus the cones over these (obtained by adding a single copy of *). We skip the definition of face and degeneracy operators for CX as usual. The definitions are discussed, e.g., in [20, Chapter III.5], although there they are given in a more abstract language, and later (in Section 6.3 below) we will state the concrete properties of CX that we will need. We will also need the suspension SX; this is the simplicial set CX/X obtained from CX by contracting all simplices of X into a single vertex. The following picture illustrates both of the constructions for a 1-dimensional X: X CX SX Topologically, SX is the usual (unreduced) suspension of X, which is often presented as erecting a double cone over X (or a join with an S°). This would also be the "natural" way of defining the suspension for a simplicial complex, but the above definition for simplicial sets is combinatorially different, although topologically equivalent. Even if X is a simplicial complex, SX is not. For us, the main advantage is that the simplicial structure of SX is particularly simple; namely, for m > 0, the m-simplices of SX are in one-to-one correspondence with the {m — l)-simplices oiX.17 Simplicial maps and homotopies. Simplicial sets serve as a combinatorial way of describing a topological space; in a similar way, simplicial maps provide a combinatorial description of continuous maps. A simplicial map f:X —> Y of simplicial sets X, Y consists of maps fm: Xm —> Ym, m = 0,1,..., that commute with the face and degeneracy operators. We denote the set of all simplicial maps X —> Y by SMap(X, Y).18 fc-spaces; but for the spaces we encounter, it is the same as the usual product of topological spaces. 17Let us also remark that in homotopy-theoretic literature, one often works with reduced cone and suspension, which are appropriate for the category of pointed spaces and maps. For example, the reduced suspension EX is obtained from SX by collapsing the segment that connects the apex of CX to the basepoint of X. For CW-complexes, EX and SX are homotopy equivalent, so the difference is insignificant for our purposes. 18There is a technical issue to be clarified here, concerning pointed maps. We recall that a pointed space (X, xo) is a topological space X with a choice of a distinguished point xo £ X (the basepoint). In a CW-complex or simplicial set, we will always assume the basepoint to be a vertex. A pointed map (X, xo) —> (Y, yo) of pointed spaces is a continuous map sending xo to yo- Homotopies of pointed maps are also meant to be pointed; i.e., they must keep the image of the basepoint fixed. The reader may recall that, for example, the homotopy groups 7Tfe(Y") are really defined as homotopy classes of pointed maps. If X, Y are simplicial sets, X is arbitrary, and Y is a 1-reduced (thus, it has a single vertex, which is the basepoint), as will be the case for the targets of simplicial maps in our algorithm, then every simplicial map is automatically pointed. Thus, in this case, we need not worry about pointedness. A topological counterpart of this is that, if Y is a 1-connected CW-complex, then every map X —> Y is (canonically) homotopic to a map sending xo to yo, and thus [X, Y] is canonically isomorphic to the set of all homotopy classes of pointed maps X —> Y. 16 It is useful to observe that it suffices to specify a simplicial map /: X —> Y on the nonde-generate simplices of X; the values on the degenerate simplices are then determined uniquely. In particular, if X is finite, then such an / can be specified as a finite object. A simplicial map /: X —» Y induces a continuous map |/|: \X\ —> \Y\ of the geometric realizations in a natural way (we again omit the precise definition). Often we will take the usual liberty of omitting | • | and not distinguishing between simplicial sets and maps and their geometric realizations. Of course, not all continuous maps are induced by simplicial maps. But the usefulness of simplicial sets for our algorithm (and many other applications) stems mainly from the fact that, if the target Y has the Kan extension property, then every continuous map tp: \X\ —> \Y\ is nomotopic to a simplicial map /: X —> Y.19 The Kan extension property is a certain property of a simplicial set (and the simplicial sets having it are called Kan simplicial sets), which need not be spelled out here—it will suffice to refer to standard results to check the property where needed. In particular, every simplicial group is a Kan simplicial set, where a simplicial group G is a simplicial set for which every Gm is endowed with a group structure, and the face and degeneracy operators are group homomorphisms (we will see examples in Section 4.2 below). Homotopies of simplicial maps into a Kan simplicial set can also be represented simplicially. Concretely, a simplicial homotopy between two simplicial maps /, g: X —> Y is a simplicial map F: X x A1 —> Y such that F\Xx{o} = / and F\Xx{i} = 9\ here, as we recall, A1 represents the geometric 1-simplex (segment) as a simplicial set, and, with some abuse of notation, {0} and {1} are the simplicial subsets of A1 representing the two vertices. Again, if Y is a Kan simplicial set, then two simplicial maps f,g into Y are simplicially nomotopic iff they are nomotopic in the usual sense as continuous maps. Locally effective simplicial sets and simplicial maps. Unsurprisingly, there is a price to pay for the convenience of representing all continuous maps and homotopies simplicially: a Kan simplicial set necessarily has infinitely many simplices in every dimension (except for some trivial cases); thus we need nontrivial techniques for representing it in a computer. Fortunately, the Kan simplicial sets relevant in our case have a sufficiently regular structure and can be handled; suitable techniques were developed and presented in [48, 42, 41, 43, 44]. For algorithmic purposes, a simplicial set X is represented in a black box or oracle manner, by a collection of various algorithms that allow us to access certain information about X. Specifically, let A be a simplicial set, and suppose that some encoding for the simplices of X by strings (finite sequences over some fixed alphabet, say {0,1}) has been fixed. We say that X is locally effective if we have algorithms for evaluating the face and degeneracy maps, i.e., i.e., given (the encoding of) a Y is called locally effective if there is an algorithm that, given (an encoding of) a simplex a of X, computes (the encoding of) the simplex /( 0, and an Abelian group tt, an n-dimensional cochain with values in tv is an arbitrary mapping cn: Xn —> tt, i.e., a labeling of the n-dimensional 19The reader may be familiar with the simplicial approximation theorem, which states that for every continuous map ip: \K\ —> \L\ between the polyhedra of simplicial complexes, there is a simplicial map of a sufficiently fine subdivision of K into L that is homotopic to p. The crucial difference is that in the case of simplicial sets, if Y has the Kan extension property, we need not subdivide X at all! 17 simplices of X with elements of tt. The set of all n-dimensional cochains is (traditionally) denoted by Cn(X;Tr); with componentwise addition, it forms an Abelian group. For a simplicial set X, we define Cn(X; tt) to consist only of cochains in which all degenerate simplices receive value 0 (these are sometimes called normalized cochains). Given an n-cochain cn, the coboundary of cn is the (n + l)-cochain dn+1 = 5cn whose value on a r G Xn+\ is the sum of the values of c11 over the n-faces of r (taking orientations into account); formally, n+l dn+l(r) = ^(_1)VW)_ i=0 A cochain c11 is a cocycle if Sc11 = 0; Zn(X;Tr) C Cn(X;Tr) is the subgroup of all cocycles (Z for koZyklus), i.e., the kernel of 5. The subgroup Bn(X;Tr) C Cn(X;Tr) of all coboundaries is the image of 5; that is, cn is a coboundary if cn = Sb11^1 for some (n — l)-cochain bn~1. The nth (simplicial) cohomology group of X is the factor group Hn(X;ir) := Zn [X; tt)/Bn[X; tt) (for this to make sense, of course, one needs the basic fact 5 o S = 0). Eilenberg MacLane spaces as "simple ranges". The homotopy groups TTkiY) are among the most important invariants of a topological space Y. The group TTkiY) collects information about the "fc-dimensional structure" of Y by probing Y with all possible maps from Sk. Here the sphere Sk plays a role of the "simplest nontrivial" fc-dimensional space; indeed, in some respects, for example concerning homology groups, it is as simple as one can possibly get. However, as was first revealed by the famous Hopf map S*3 —> S2, the spheres are not at all simple concerning maps going into them. In particular, the groups tt^S11) are complicated and far from understood, in spite of a huge body of research devoted to them. So if one wants to probe a space X with maps going into some "simple nontrivial" space, then spaces other than spheres are needed—and the Eilenberg-MacLane spaces can play this role successfully. Given an Abelian group tt and an integer n > 1, an Eilenberg-MacLane space K(TT,n) is defined as any topological space T with TTn(T) = tt and 7Tfc(T) = 0 for all k 7^ n. It is not difficult to show that a K(tt, n) exists (by taking a wedge of n-spheres and inductively attaching balls of dimensions n + l,n + 2,... to kill elements of the various homotopy groups), and it also turns out that K(tt, n) is unique up to homotopy equivalence.20 The circle S*1 is (one of the incarnations of) a K(Z, 1), and K{T^2-, 1) can be represented as the infinite-dimensional real projective space, but generally speaking, the spaces K(tt, n) do not look exactly like very simple objects. Maps into K(ir, n). Yet the following elegant fact shows that the K(tt, n) indeed constitute "simple" targets of maps. Lemma 4.1. For every n > 1 and every Abelian group tt, we have [X,K(tt,n)]^Hn(X;tt), where X is a simplicial complex (or a CW-complex). This is a basic and standard result (e.g., [34, Lemma 24.4] in a simplicial setting), but nevertheless we will sketch an intuitive geometric proof, since it explains why maps into K(tt, n) can be represented discretely, by cocycles, and this is a key step towards representing maps in our algorithm. 20Provided that we restrict to spaces that are homotopy equivalent to CW-complexes. 18 Sketch of proof. For simplicity, let X be a finite simplicial complex (the argument works for a CW-complex in more or less the same way), and let us consider an arbitrary continuous map /: \X\ K(ir,n), n > 2. First, let us consider the restriction of / to the (n — 1)-skeleton X(n~l"> of X. Since by definition, K(-K,n) is (n — l)-connected, f\X(n-i) is homotopic to the constant map sending x(n-i) ^Q a snigie point pq (we can imagine pulling the images of the simplices to yo one by one, starting with vertices, continuing with 1-simplices, etc., up to (n — l)-simplices). Next, the homotopy of f\x(n-i) with this constant map can be extended to a homotopy of / with a map / defined on all of X (this is a standard fact known as the homotopy extension property of X, valid for all CW-complexes, among others). Thus, / ~ / sends X^n~l"> to y$. Next, we consider an n-simplex a of X. All of its boundary now goes to ya, and so the restriction of / to a can be regarded as a map Sn —> K(tv, n) (since collapsing the boundary of an n-simplex to a point yields an Sn). Thus, up to homotopy, f\a is described by an element of Tvn(K(Ti, n)) = tv. In this way, / defines a cochain cn = cn~ G Cn(X; tt). The following picture captures this schematically: The target space K(tv, n) is illustrated as having a hole "responsible" for the nontriviality of 7rn. We note that / is not determined uniquely by /, and c11- may also depend on the choice of /. Next, we observe that every cochain of the form c11- is actually a cocycle. To this end, we consider an (n + l)-simplex r G Xn+\. Since / is defined on all of r, the restriction f\gT to the boundary is nullhomotopic. At the same time, f\gT can be regarded as the sum of the elements of -Kn(K(-K,n)) represented by the restrictions of / to the n-dimensional faces of r. Indeed, for any space Y the sum [/] of two elements [fi], [^2] G 7rn(Y) can be represented by contracting an (n— 1)-dimensional "equator" of Sn to the basepoint, thus obtaining a wedge of two S^'s, and then defining / to be f\ on one of these and /2 on the other, as indicated in the picture below on the left (this time for n = 2). Similarly, in our case, the sum of the maps on the facets of r can be represented by contracting the {n — 1)-skeleton of r to a point, and thus obtaining a wedge of n + 2 n-spheres. Therefore, we have (5cn)(r) = 0, and c11 = c11- G Zn(X;7r) as claimed. Conversely, given any zn G Zn(X;Tr), one can exhibit a map /: X —> K(11,12) with cn~ = zn. Such an / is build one simplex of X at a time. First, all simplices of dimension at most n—1 are sent to yo- For every a G Xn, we choose a representative of the element zn(a) G Tin(K(tv, n)), which is a (pointed) map Sn —> K(-K,n), and use it to map a. Then for r G Xn+i, / can be extended to r, since f\gT is nullhomotopic by the cocycle condition for zn. Finally, for a simplex uj of dimension larger than n + 1, the / constructed so far is necessarily nullhomotopic on duo because -Kk(K(-K,n)) = 0 for all k > n, and thus an extension to uj is always possible. 19 We hope that this may convey some idea where the cocycle representation of maps into K(tt, n) comes from. By similar, but a little more complicated considerations, which we omit here, one can convince oneself that two maps f,g:X—> K(tt, n) are nomotopic exactly when the corresponding cocycles cn~ and c~ differ by a coboundary. In particular, for a given /, the cocycle c11- may depend on the choice of /, but the cohomology class c11- + Bn(X;Ti) does not. This finishes the proof sketch. □ A Kan simplicial model of K(7r,n). The Eilenberg-MacLane spaces K(-k,n) can be represented as Kan simplicial sets, and actually as simplicial groups, in an essentially unique way; we will keep the notation K(tt, n) for this simplicial set as well. Namely, the set of m-simplices of K(tt, n) is given by the amazing formula K(7r,n)m := Zn(Am;7r). More explicitly, an m-simplex a can be regarded as a labeling of the n-dimensional faces of the standard m-simplex by elements of the group 7r; moreover, the labels must add up to 0 on every (n + l)-face. There are (™^) nondegenerate n-faces of Am, and so an m-simplex a 6 K(-k,n)m is determined by an ordered (^j1)-tuple of elements of tt. It is not hard to define the face and degeneracy operators for K(Ti,n), but we omit this since we won't use them explicitly (see, e.g., [34, 44]). It suffices to say that the degenerate a are precisely those labelings with two facets of Am labeled identically and zero everywhere else. In particular, for every m > 0, we have an m-simplex in K(tv, n) formed by the zero n-cochain, which is nondegenerate for m = 0 and degenerate for m > 0, and which we write simply as 0 (with the dimension understood from context). It is remarkable that the zero n-cochain on A0 is the only vertex of the simplicial set K(tt, n) for n > 0. We won't prove that this is indeed a simplicial model of K(-k,n). Let us just note that K(iT,n) is (n — l)-reduced, and its n-simplices correspond to elements of tv (since an n-cocycle on An is a labeling of the single nondegenerate n-simplex of An by an element of tv). Thus, each n-simplex of K(tt, n) "embodies" one of the possible ways of mapping the interior of An into K(Tr,n), given that the boundary goes to the basepoint. The (n + l)-simplices then "serve" to get the appropriate addition relations among the just mentioned maps, so that this addition works as that in tt, and the higher-dimensional simplices kill all the higher homotopy groups. The (elementwise) addition of cochains makes K(tt, n) into a simplicial group, and consequently, K(iT,n) is a Kan simplicial set. The simplicial sets E(-K,n). The m-simplices in the simplicial Eilenberg-MacLane spaces as above are all n-cocycles on Am. If we take all n-cochains, we obtain another simplicial set called E(iT,n). Thus, explicitly, E(Tv,n)m:=Cn(Am;Tv). As a topological space, E(tt, n) is contractible, and thus not particularly interesting topologically in itself, but it makes a useful companion to K(-k,n). Obviously, K(-k,n) C E(Ti,n), but there are also other, less obvious relationships. Since an m-simplex a £ E(-k,n) is formally an n-cochain, we can take its coboundary 8a. This is an (n + l)-coboundary (and thus also cocycle), which we can interpret as an m,-simplex of K(tv, n + 1). It turns out that this induces a simplicial map E(tt, n) —> K(tt, n + 1), which is (with the usual abuse of notation) also denoted by 8. This map is actually surjective, since the relevant cohomology groups of Am are all zero and thus all cocycles are also coboundaries. Simplicial maps into K(ir, n) and E(ir, n). We have the following "simplicial" counterpart of Lemma 4.1: 20 Lemma 4.2. For every simplicial complex (or simplicial set) X, we have SMap(A, K(ir,n)) ^ Zt\X;tt) and SMap(A, E(tt, n)) 21 Cn(A; tt). We refer to [34, Lemma 24.3] for a proof; here we just describe how the isomorphism21 works, i.e., how one passes between cochains and simplicial maps. This is not hard to guess from the formal definition—there is just one way to make things match formally. Namely, given a cn £ Cn (X; tt) , we want to construct the corresponding simplicial map s = s(cn): X —> E(-k,n). We consider an m-simplex a £ Xm. There is exactly one way of inserting the standard m-simplex A'm to the "place of a" into X; more formally, there is a unique simplicial map ia: Am —> X that sends the m-simplex of Am to a (indeed, a simplicial map has to respect the ordering of vertices, implicit in the face and degeneracy operators). Thus, for every such a, the cochain cn defines a cochain i%(cn) on Am (the labels of the n-faces of a are pulled back to Am), and that cochain is taken as the image s(a). For the reverse direction, i.e., from a simplicial map s to a cochain, it suffices to look at the images of the n-simplices under s: these are n-simplices of E(-k,n) which, as we have seen, can be regarded as elements of tt—thus, they define the values of the desired n-cochain. Simplicial homotopy in SMap(X, K(ir, n)). Now that we have a description of simplicial maps X —> K(-k,n), we will also describe homotopies (or equivalently, simplicial homotopies) among them. It turns out that the additive structure (cocycle addition) on SMap(A, K(k, n)) = Zn(X;Ti) reduces the question of whether two maps represented by cocycles c\ and c2 are homotopic to the question whether their difference c\ — c2 is nullhomotopic (homotopic to a constant map). Lemma 4.3. Let c™, £ Zn(X; tt) be two cocycles. Then the simplicial maps s\,s2 £ SMap(A, K(k; n)) represented by c'^c^, respectively, are simplicially homotopic iff c\ and c2 are cohomologous, i.e., ci - c2 £ Bn(X;ir). We refer to [34, Theorem 24.4] for a proof. We also remark that a simplicial version of Lemma 4.1 is actually proved using Lemmas 4.2 and 4.3. 4.3 Postnikov systems Now that we have a combinatorial representation of maps from X into an Eilenberg-MacLane space, and of their homotopies, it would be nice to have similar descriptions for other target spaces Y. Expressing Y through its simplicial Postnikov system comes as close to fulfilling this plan as seems reasonably possible. Postnikov systems are somewhat complicated objects, and so we will not discuss them in detail, referring to standard textbooks ([24] in general and [34] for the simplicial case) instead. First we will explain some features of a Postnikov system in the setting of topological spaces and continuous maps; this part, strictly speaking, is not necessary for the algorithm. Then we introduce a simplicial version of a Postnikov system, and summarize the properties we will actually use. Finally, we will present the subroutine used to compute Postnikov systems. Postnikov systems on the level of spaces and continuous maps. Let Y be a CW- complex. A Postnikov system (also called a Postnikov tower) for Y is a sequence of spaces Pq, Pi, P2, ■ ■., where Pq is a single point, together with maps tfi: Y —> Pi and pi'. Pi —> Pi-i such that pi o ipi = (fi-i, i.e., the following diagram commutes: 21Both sets carry an Abelian group structure, and the bijection between them preserves these. For the set Zn (X; tt) of cocycles, the group structure is given by the usual addition of cocycles. For the set SMap(X, K(tt, n)) of simplicial maps, the group structure is given by the fact that K(tt, n) is a simplicial Abelian group, so simplicial maps into it can be added componentwise (simplexwise). 21 Y —o—> P0 P2 PI Informally, the Pi, called the stages of the Postnikov system, can be thought of as successive stages in a process of building Y (or rather, a space homotopy equivalent to Y) "layer by layer" from the Eilenberg-Mac Lane spaces K{iTi(Y),i). More formally, it is required that for each i, the mapping tfi induces an isomorphism tvj(Y) = iTj{Pi) of homotopy groups for every j < i, while iVj(Pi) = 0 for all j > i. These properties suffice to define a Postnikov system uniquely up to homotopy equivalence, provided that Y is 0- connected and the Pi are assumed to be CW-complexes; see, e.g., Hatcher [24, Section 4.3]. For the rest of this paper, we will abbreviate iVi(Y) to 7Tj. One usually works with Postnikov systems with additional favorable properties, sometimes called standard Postnikov systems, and for these to exist, more assumptions on Y are needed— in particular, they do exist if Y is 1-connected. In this case, the first two stages, Pq and P±, are trivial, i.e., just one-point spaces. Standard Postnikov systems on the level of topological spaces are defined using the notion of principal fibration, which we do not need/want to define here. Let us just sketch informally how Pi is built from Pi-i and K{iTi,i). Locally, Pi "looks like" the product Pi-i x K{iTi,i), in the sense that the fiber p^1(x) of every point x G Pi-i is (homotopy equivalent to) K(iVi,i). However, globally Pi is usually not the product as above; rather, it is "twisted" (technically, it is the total space of the fibration K{iTi,i) —> Pi ^\ Pi-i). A somewhat simple-minded analogue is the way the Möbius band is made by putting a segment "over" every point of S1, looking locally like the product S*1 x [—1,1] but globally, of course, very different from that product. The way of "twisting" the K{iTi,i) over Pi-i to form Pi is specified, for reasons that would need a somewhat lengthy explanation, by a mapping ki-i: Pi-i —> K{iTi, i + 1). As we know, each such map ki-i can be represented by a cocycle in Z*+1(Pj_i; 7Tj), and since it really suffices to know ki-i only up to homotopy, it is enough to specify it by an element of the cohomology group Hl+1(Pi-i;-Ki). This element is also commonly denoted by ki-i and called the (i — l)st Postnikov class22 of Y. The beauty of the thing is that Pi, which conveys, in a sense, complete information about the homotopy of Y up to dimension i, can be reconstructed from the discrete data given by For our purposes, a key fact, already mentioned in the outline section, is the following: Proposition 4.4. If X is a CW-complex of dimension at most i, and Y is a 1-connected CW-complex, then there is a bijection between [X,Y] and [X,Pi] (which is induced by composition with the map tpi). Simplicial Postnikov systems. To use Postnikov systems algorithmically, we represent the objects by simplicial sets and maps (this was actually the setting in which Postnikov originally defined them). Concretely, we will use the so-called pullback representation (as opposed to some other sources, where a twisted product representation can be found—but these representations can be converted into one another without much difficulty). We let K(k, n) and E(k, n) stand for the particular simplicial sets as in Section 4.2. The 1- th stage Pi of the Postnikov system for Y is represented as a simplicial subset of the product 22In the literature, Postnikov factor or Postnikov invariant are also used with the same meaning. 22 Pi-i x Ei C Eq x Ei x • • • x Pj, where Ej := E(tvj,j). An m-simplex of Pj can thus be written as ( Pj+i is given by the coboundary operator, as was described above after the definition of E{tt, n). The map pi: Pj —> Pj-i in this setting is simply the projection forgetting the last coordinate, and so it need not be specified explicitly. We remark that this describes what the simplicial Postnikov system looks like, but it does not say when it really is a Postnikov system for Y. We won't discuss the appropriate conditions here; we will just accept a guarantee of the algorithm in Theorem 4.5 below, that it computes a valid Postnikov system for Y, and in particular, such that it fulfills Proposition 4.4. We also state another important property of the stages Pj of the simplicial Postnikov system of a simply connected Y: they are Kan simplicial sets (see, e.g. [5]). Thus, for any simplicial set X, there is a bijection between the set of simplicial maps X —> Pi modulo simplicial homotopy and the set of homotopy classes of continuous maps between the geometric realizations. Slightly abusing notation, we will denote both sets by [X, Pi]. Computing Postnikov systems. Let Y be a 1-connected locally effective simplicial set. For our purposes, we shall say that Y has a locally effective (truncated) Postnikov system with n stages if the following are available: • The homotopy groups 7Tj = 7Tj(Y), 2 < i < n (provided with a fully effective representation).23 • The stages Pj and the Eilenberg-MacLane spaces Pj+i and p, i < n, as locally effective simplicial sets. • The maps tfi: Y —> Pi, pi: Pj —> Pj-i, and ki-i: Pj-i —> Pj+i, i < n, as locally effective simplicial maps.24 As a preprocessing step for our main algorithm, we need the following result: 23For our algorithm, it suffices to have the 7Tj represented as abstract Abelian groups, with no meaning attached to the elements. However, if we ever wanted to translate the elements of [X, PJ to actual maps X —> Y, we would need the generators of each -Ki represented as actual mappings, say simplicial, Sz —> Y. 24As explained above, the map ki-i is represented by an (i + l)-dimensional cocycle on Pj_i; thus, we assume that we have an algorithm that, given an (i + l)-simplex cr G Pi-i, returns the value fci-i(er) G Hi. Let us also remark that, by unwrapping the definition, we get that the input cr G Pi-i for ki-i means a labeling of the faces of Al+1 of all dimensions up to i — 1, where jf-faces are labeled by elements of tvj. Readers familiar with obstruction theory may see some formal similarity here: the (i — l)st obstruction determines extendability of a map defined on the i-skeleton to the (i + l)-skeleton, after possibly modifying the map on the interiors of the j-simplices. 23 Theorem 4.5 ([6, Theorem 1.2]). There is an algorithm that, given a 1-connected simplicial set Y with finitely many nondegenerate simplices (e.g., as obtained from a finite simplicial complex) and an integer n, computes a locally effective Postnikov system with n stages for Y. Remarks 4.6. 1. In the case with 7T2 through 7rn all finite, each P%, i < n, has finitely many simplices in the relevant dimensions, and so a locally effective Postnikov system can be represented simply by a lookup table. Brown [5] gave an algorithm for computing a simplicial Postnikov system in this restricted setting. 2. The algorithm for proving Theorem 4.5 combines the basic construction of Brown with the framework of objects with effective homology (as explained, e.g., in [44]). We remark that the algorithm works under the weaker assumption that Y is a simplicial set with effective homology, possibly with infinitely many nondegenerate simplices.25 3. In [6], it is shown that for fixed n, the construction of the first n stages of a Postnikov system for Y can actually carried out in time polynomial in the size (number of nondegenerate simplices) of Y. The (lengthy) analysis, and even the precise formulation of this result, involve some technical subtleties and depend on the notions locally polynomial-time simplicial sets and objects with polynomial-time homology, which refine the framework of locally effective simplicial sets and of objects with effective homology and were developed in [29, 6]. We refer to [6] for a detailed treatment. An example: the Steenrod square Sq2. The Postnikov classes k;t are not at all simple to describe explicitly, even for very simple spaces. As an illustration, we present an example, essentially following [52], where an explicit description is available: this is for Y = Sd, d > 3, and it concerns the first k;t of interest, namely, kd. It corresponds to the Steenrod square Sq2 in cohomology, which Steenrod [52] invented for the purpose of classifying all maps from a (d + 1)-dimensional complex K into Sd—a special case of the problem treated in our paper. For concreteness, let us take d = 3. Then k% receives as the input a labeling of the 3-faces of A5 by elements of tt^(S3), i.e., integers (the lower-dimensional faces are labeled with Os since ttj(S3) = 0 for j < 2), and it should return an element of ^(S*3) = 7L 2, and the value of k% turns out to be where the sum is over three pairs of 4-tuples a, r as indicated in the following picture (a consists of the circled points and r of the points marked by squares—there is always a two-point overlap): This illustrates the nonlinearity of the Postnikov classes. 5 Defining and implementing the group operation on [X, Pj\ We recall that the device that allows us to handle the generally infinite set [X, Y] of homotopy classes of maps, under the dimension/connectedness assumption of Theorem 1.1, is an Abelian group structure. We will actually use the group structure on the sets [X, Pi], d < i < 2d — 2. These will be computed inductively, starting with i = d (this is the first nontrivial one). 25We also note that, for Y with only finitely many nondegenerate simplices, the maps ifii: Y —> P4 can be represented by finite lookup tables, so we do not need to require specifically that they be locally effective. © S S © ® ® 0 1 ... 5 ® © a a © ® 0 1 ... 5 ® ® © a a m 0 1 ... 5 24 Such a group structure with good properties exists, and is determined uniquely, because Pj may have nonzero homotopy groups only in dimensions d through 2d — 2; these are standard topological considerations, which we will review in Section 5.1 below. However, we will need to work with the underlying binary operation ES« on the level of representatives, i.e., simplicial maps in SMap(X, Pj). This operation lacks some of the pleasant properties of a group—e.g., it may fail to be associative. Here considerable care and attention to detail seem to be needed, and for an algorithmic implementation, we also need to use the Eilenberg-Zilber reduction, a tool related to the methods of effective homology. 5.1 An iJ-group structure on a space iJ-groups. Let P be a CW-complex. We will consider a binary operation on P as a continuous map fi: P x P —> P. For now, we will stick to writing fi(p, q) for the result of applying fi to p and q; later on, we will call the operation EE (with a subscript, actually) and write it in the more usual way as p EE q. The idea of i-f-groups is that the binary operation fi satisfies the usual group axioms but only up to homotopy. To formulate the existence of an inverse in this setting, we will also need an explicit mapping u: P —> P, continuous of course, representing inverse up to homotopy. We thus say that (HA) fi is homotopy associative if the two maps P x P x P ^ P given by (p, q, r) \—> fi(p, fi(q, r)) and by (p, q, r) \—> q),r) are nomotopic; (HN) a distinguished element o G P (basepoint, assumed to be a vertex in the simplicial set representation) is a homotopy neutral element if the maps P —> P given by p \—> /x(o,p) and p i—> fi(p, o) are both nomotopic to the identity idp; (HI) v is a homotopy inverse if the maps p \—> fi(u{p),p) and p i—> fi(p, v(p)) are both nomotopic to the constant map p i—> o; (HC) fi is homotopy commutative if fi is nomotopic to // given by fi'(p, q) := fi(q,p). An Abelian H-group thus consists of P, o, fi, v as above satisfying (HA), (HN), (HI), and (HC). Of course, every Abelian topological group is also an Abelian i-f-group. A basic example of an i-f-group that is typically not a group is the loop space ClY of a topological space Y (see, e.g. [24, Section 4.3]). For readers familiar with the definition of the fundamental group tt\(Y), it suffices to say that ClY is like the fundamental group but without factoring the loops according to homotopy. We also define an H-homomorphism of an H-group (Pi, o\, fi±, v\) into an H-group (p2, 02, /X2> v Pj with h(o{) = 02 and such that the two maps (x,y) 1—> h(fii(x,y)) and (x,y) 1—> ^2{h(x),h(y)) are nomotopic. A group structure on homotopy classes of maps. For us, an H-group structure on P is a device for obtaining a group structure on the set [X, P] of homotopy classes of maps. In a similar vein, an i^-homomorphism P\ —> P2 yields a group homomorphism [A, Pi] —> [X, P2]. Here is a more explicit statement: Fact 5.1. Let (P,o,fi,u) be an Abelian H-group, and let X be a space. Let be the operations defined on continuous maps X —?► P by pointwise composition with fi, u, respectively (i.e., fi*(f,g)(x) := fi(f(x),g(x)), v*(f)(x) := u(f(x))). Then //*, z/* define an Abelian group structure on the set of homotopy classes [X, P] by [f] + [g] := \pL*(f,g)] and — [/] := [^(Z)] (with the zero element given by the homotopy class of the map sending all of X to o). 25 Ifh: P\ —> P2 is an H-homomorphism of Abelian H-groups (Pi, o±, fi±, vf) and (P2, 02, ^2, v P2 given by h*{f){x) := h{f{x)), induces a homomorphism [h*]: [X, Pi] —> [X, P2] of Abelian groups. This fact is standard, and also entirely routine to prove. We will actually work mostly with a simplicial counterpart (which is proved in exactly the same way, replacing topological notions with simplicial ones everywhere). Namely, if X is a simplicial set, P is a Kan simplicial set, and fi, v are simplicial maps, then by a composition as above, we obtain maps //*: SMap(X, P) x SMap(X,P) SMap(X,P) and I/*: SMap(X, P) SMap(X,P), which induce an Abelian group structure on the set [X, P] of simplicial homotopy classes. Similarly, if h: P\ —» P2 is a simplicial i^-homomorphism (with everything else in sight simplicial), then h* : SMap(X, Pi) —> SMap(X, P2) defines a homomorphism [h*]: [X, Pi] —> [X, P2]. Moreover, if fi,u are locally effective (i.e., given a, r G P, we can evaluate fi(a, r) and is(cr)) and X has finitely many nondegenerate simplices, then //*, are locally effective as well. Indeed, as we have remarked, simplicial maps X —> P are finitely representable objects, and we will have them represented by vectors of cochains. Thus, under the above conditions, we have the Abelian group [X, Pi] semi-effectively represented, where the set of representatives is SMap(X, P). Similarly, if h: P\ —> P2 is locally effective and X is has finitely many nondegenerate simplices, then h* : SMap(X, Pi) —> SMap(X, P2) is locally effective, too. A canonical iJ-group structure from connectivity. In our algorithm, the existence of a suitable i^-group structure on Pj follows from the fact that Pj has nonzero homotopy groups only in the range from d to i, i < 2d — 2. Lemma 5.2. Let d > 2 and let P be a {d — l)-reduced CW complex with distinguished vertex (basepoint) o, and with nonzero 7Tj(P) possibly occurring only for i = d, d+1,... ,2d — 2. Then there are fi and v such that (P, o, fi, u) is an Abelian H-group, and moreover, o is a strictly neutral element, in the sense that /x(o,p) = fi(p,o) =p (equalities, not only homotopy). Moreover, if // is any continuous binary operation on P with o as a strictly neutral element, then fi' ~ fi by a homotopy stationary on the subspace P V P := (P x {o}) U ({0} x P) (and, in particular, every such // automatically satisfies (HA), (HC), and (HI) with a suitable u'). This lemma is essentially well-known, and the necessary arguments appear, e.g., in Whitehead [57]. We nonetheless sketch a proof, because we are not aware of a specific reference for the lemma as stated, and also because it sheds some light on how the assumption of [d — 1)-connectedness of Y in Theorem 1.1 is used. The proof is based on the repeated application of the following basic fact (which is a baby version of obstruction theory and can be proved by induction of the dimension of the cells on which the maps or homotopies have to be extended). Fact 5.3. Suppose that X and Y are CW complexes, A C X is a subcomplex, and assume that there is some integer k such that all cells in X\A have dimension at least k and that 7Tj(Y) = 0 for all i > k — 1. Then the following hold: (i) If f: A —?► Y is a continuous map, then there exists an extension f':X—>Y of f (i.e., f'U = f). (ii) If f ~ g: A^Y are homotopic maps, and if f',g': X —> Y are arbitrary extensions of f and of g, respectively, then f ~ g' (by a homotopy extending the given one on A). Proof of Lemma 5.2. This proof is the only place where it is important that we work with CW-complexes, as opposed to simplicial sets. This is because the product of CW-complexes is defined differently from the product of simplicial sets. In the product of CW-complexes, an 26 i-cell times a j-cell yields an (i + j)-cell (and nothing else), while in products of simplicial sets, simplices of problematic intermediate dimensions appear. Let ip: P V P —> P be the folding map given by ip(o,p) := p, ip(p, o) := p, p G P. Thus, the strict neutrality of o just means that fi extends tp, and we can employ Fact 5.3. Namely, all cells in (P x P)\(PVP) have dimension at least 2d, and 7Tj(P) = 0 for i > 2d— 1. Thus, if can be extended to some fi: P x P —> P, uniquely up to homotopy stationary on PVP. From the homotopy uniqueness we get the homotopy commutativity (HC) immediately (for free). Indeed, if we define y!(p,q) := f^(q,p), then the homotopy uniqueness applies and yields // ~ //. The homotopy associativity (HA) is also simple. Let ipi,ip2'- P3 —> P be given by ?pi(p,q,r) := fi(fi{p,q),r) and ?p2(p,Q,r) '■= M^S r))- Then ip\ = ip2 on the subspace P V P V P := (P x {o} x {o}) U ({o} x P x {o}) U ({o} x {o} x P). Since all cells in (P x P x P) \ (P V P V P) are of dimension at least 2d, Fact 5.3 gives V>i ~ V>2- The existence of a homotopy inverse is not that simple, and actually, we won't need it (since we will construct an inverse explicitly). For a proof, we thus refer to the literature: every O-connected CW-complex with an operation satisfying (HA) and (HN) also satisfies (HI); see, e.g., [57, Theorem X.2.2, p. 461]. □ 5.2 A locally effective iJ-group structure on the Postnikov stages Now we are in the setting of Theorem 1.1; in particular, Y is a (d — l)-connected simplicial set. Let Pi, i > 0, denote the ith stage of a locally effective simplicial Postnikov system for Y, as in Section 4; we will consider only the first 2d —2 stages. Since Y is (d — l)-connected, Pq through Pd-i are trivial (one-point), and each Pj is (d — l)-reduced. We will occasionally refer to the Pi, Pd+i, ■ ■ ■, p2d-2 as the stable stages of the Postnikov system. By Lemma 5.2, we know that the stable stages possess a (canonical) PT-group structure. But we need to define the underlying operations on Pj concretely as simplicial maps and, mainly, make them effective. Since Pj is typically an infinite object, we will have just local effectivity, i.e., the operations can be evaluated algorithmically on any given pair of simplices. From now on, we will denote the "addition" operation on Pj by Bj, and use the infix notation cr ESj t. Similarly we write Bjcr for the "inverse" of cr. For a more convenient notation, we also introduce a binary version of Bj by setting cr Bj t := cr ESj (Bjt). Preliminary considerations. We recall that an m-simplex of Pj is written as (cr0, a1,..., a"1), with o% £ C*(Am; 7Tj(y)). Thus, its components are cochains. One potential source of confusion is that we already have a natural addition of such cochains defined; they can simply be added componentwise, as effectively as one might ever wish. However, this cannot be used as the desired addition Bj. The reason is that the Postnikov classes fcj_i are generally nonlinear, and thus fcj_i is typically not a homomorphism with respect to cochain addition. In particular, we recall that Pj was defined as the subset of Pj-i x Pj "cut out" by ki-i, i.e., via fcj_i(er) = 5al, where a = (cr0,..., cr*-1). Therefore, Pj is usually not even closed under the cochain addition. Our approach to define a suitable operation Bj is inductive. Suppose that we have already defined Bj_i on Pj-i. Then we will first define Bj on special elements of Pj of the form (cr, 0), by just adding the er's according to Bj_i and leaving 0 in the last component. Another important special case of Bj is on elements of the form (er,cr*) Bj (0,r*). In this case, in spite of the general warning above against the cochain addition, the last components are added as cochains: (cr, a1) Bj (0, t1) = (cr, o% + t1). The main result of this section constructs a locally effective Bj that extends the two special cases just discussed. Let us remark that by definition, Bj and Bj, as simplicial maps, operate on simplices of every dimension m. However, in the algorithm, we will be using them only up to m < 2d — 2, and so in the sequel we always implicitly assume that the considered simplices satisfy this dimensional restriction. 27 The main result on EBj, Bj. The following proposition summarizes everything about Bj, Bj we will need. Proposition 5.4. Let Y be a (d— l)-connected simplicial set, d > 2, and let P^, Pz+i, ■ ■ ■ > p2d-2 be the stable stages of a locally effective Postnikov system with 2d — 2 stayes for Y. Then each Pi has an Abelian H-yroup structure, yiven by locally effective simplicial maps Bj: Pi x Pi y Pi and Bj: Pi —> Piwith the followiny additional properties: (a) (cr, Ki+2 be a simplicial map, where i < 2d —2. Then there is a locally effective simplicial map Ai\ Pi —» Pj+i such that, for all simplices cr, t of equal dimension, Aj(cr, 0) = Aj(0, t) = 0, and ki{ -fQ+2 is the simplicial map induced by the coboundary operator, and that a simplicial map /: Pj —> Ki+2 is nullhomotopic iff it is of the form 8 o F for some F: Pi —> Pj+i (see Lemma 4.3). Therefore, the map Ai is an "effective witness" for the nullhomotopy of the map (ct,t) i—> ki(cr Bj t) — fcj(cr) — ki(r), and so it shows that fcj is an i^-homomorphism. We postpone the proof of the lemma, and prove the proposition first. Proof of Proposition 5.4- As was announced above, we proceed by induction on i. As an inductive hypothesis, we assume that, for some i < 2d —2, locally effective simplicial maps Bj, Bj providing an i^-group structure on Pj have been defined satisfying (a)-(c) in the proposition. This inductive hypothesis is satisfied in the base case i = d: in this case we have P^ = L^, and B^ and B^ are the addition and additive inverse of cocycles (under which L^ is even a simplicial Abelian group). Then (a),(b) obviously hold and (c) is void. In order to carry out the inductive step from i to i + 1, we first apply Lemma 5.5 for Pj, Bj, and fcj, which yields a locally effective simplicial map Ai: Pj x Pj —> Pj+i with Aj(er,0) = Aj(0,t) = 0 and fcj(er Bj t) = fcj(er) + &j(t) + 8Ai(a,r), for all ct,t. As was remarked after the lemma, this implies that fcj is an homomorphism with respect to Bj. Next, using Ai, we define the operations Bj+i, Bj+i on Pj+i. We set (cr, ai+1) Bm (r, rm) := (cr B, r, where := ai+1 + rm + At(a, r). (4) Why is Bj+i simplicial? Since Bj is simplicial, it suffices to consider the last component, and this is a composition of simplicial maps, namely, of projections, Ai, and the operation + in the simplicial group Pj+i. Clearly, Bj+i is also locally effective. We also need to check that Pj+i is closed under this Bj+i. We recall that, for cr G Pj, the condition for (cr, al+1) G Pj+i is fcj(cr) = 8al+1. Using this condition for (cr, cr*+1), (t, t1+1) G 28 Pi+i, together with a ESj t £ Pj (inductive assumption), and the property of ki above, we calculate fcj(erBjT) = ki(a) + ki{r) + 5Ai(a ,t) = 5ai+1 + 5ri+1 + 5Ai(a, t) = and thus (er,crm) fflj+i (T,ri+1) G Pm as needed. Part (a) of the proposition for Bj+i follows from (4) and the property Aj(0,t) = 0 = Ai(cr, 0). In particular, (0, 0) is a strictly neutral element for EEj+i. Moreover, as a continuous map, Bj+i fulfills the assumptions on // in Lemma 5.2, and thus it satisfies the axioms of an Abelian i-f-group operation. Next, we define the inverse operation Bj+i by Bi+i(v, at+1) := (Bta, -at+1 - At(a, Bta)). It is simplicial for the same reason as that for EEj+i, and by a computation similar to the one for ESj+i above, we verify that Pj+i is closed under Bj+i. To verify that this Bj+i indeed defines a homotopy inverse to ESj+i, we check that it actually is a strict inverse. Inductively, we assume erBjer = 0 for all a G Pi, and from the formulas defining Bj+i and Bj+i, we check that (er, cj1+1) Bj+i (er,cr*+1) = (0,0). Another simple calculation yields (b) for Bj+i. Part (c) for fflj+i and Bj+i follows from the definitions and from Ai(0, 0) = 0. This finishes the induction step and proves the proposition. □ Proof of Lemma 5.5. Here we will use ("locally") some terminology concerning chain complexes (e.g., chain homotopy, homomorphism of chain complexes), for which we refer to the literature (standard textbooks, say [24]). First we define the nonadditivity map en: Pi x Pi —> Ki+2 by ai(a,T) := ki(a Bj t) - fcj(er) - ki(r). (Thus, the map en measures the failure of ki to be strictly additive with respect to Bj.) We want to show that en = SAi for a locally effective A{. Let us remark that the existence of Ai can be proved by an argument similar to the one in Lemma 5.2. That argument works for CW-complexes, and as was remarked in the proof of that lemma, it is essential that the product of an i-cell and a j-cell is an (i + j)-cell and nothing else. For simplicial sets the product is defined differently, and if we consider Pi x Pi as a simplicial set, we do get simplices of "unpleasant" intermediate dimensions there. We will get around this using the Eilenberg-Zilber reduction (which is also one of the basic tools in effective homology—but we won't need effective homology directly); here, we follow the exposition in [22] (see also [44, Sections 7.8 and 8.2]). Loosely speaking, it will allow us to convert the setting of the simplicial set Pi x Pi to a setting of a tensor product of chain complexes, where only terms of the "right" dimensions appear. We note that Ai is defined on an infinite object, so we cannot compute it globally—we need a local algorithm for evaluating it, yet its answers have to be globally consistent over the whole computation. First we present the Eilenberg-Zilber reduction for an arbitrary simplicial set P with base-point (and single vertex) o. The reduction consists of three locally effective maps26 AW, EML and SHI that fit into the following diagram: C* CP) ®C*(P) EML AW C*(P x P) SHI The acronyms stand for the mathematicians Alexander and Whitney, Eilenberg and Mac Lane, and Shih, respectively. 29 Here C*(-) denotes the (normalized) chain complex of a simplicial set, with integer coefficients (so we omit the coefficient group in the notation). For brevity, chains of all dimensions are collected into a single structure (whence the star subscript), and (g> is the tensor product. Thus, (C*(P) (g> C*(P))n = (&i+j=n Q(P) (g> Cj(P). The operators AW and EML are homomorphisms of chain complexes, while SHI is a chain homotopy operator raising the degree by +1. Thus, for each n, we have AWn: Cn(PxP) (C*(P)(g>C*(P))n, EMLn: (A(P)®C*(P))n Cn(PxP), and SHIn: Cn(P x P) Cn+i(P x P). We refer to [22, pp. 1212-1213] for explicit formulas for AW and EML in terms of the face and degeneracy operators. We give only the formula for SHI, since Ai will be defined using SHL+i, and we summarize the properties of AW, EML, SHI relevant for our purposes. The operator SHIn operates on n-chains on P x P. The formula given below specifies its values on the "basic" chains of the form (crn,rn); here an,rn are n-simplices of P, but (crn,rn) is interpreted as the chain with coefficient 1 on (an,rn) and 0 elsewhere. The definition then extends to arbitrary chains by linearity. Let p and q be non-negative integers. A (p,q)-shuffle (a,/3) is a partition {ai < • • • < ap} U {/3i < • • • < /3q} of the set {0,1,... ,p + q — 1}. Put p sig(a,/3) = ^2(ai -i + l). i=i Let 7 = {7j, ... ,7r} be a set of integers. Then s7 denotes the compositions of the degeneracy operators s7l ... s7r (the sm are the degeneracy operators of P, and dm are its face operators). The operator SHI is defined by SHI(a°,r°) =0, Sm(am,rm) = ^(-l)e(^H^+A_g+1---9mam,Sa+^---9m_g_1rm), t(m) where T(m) is the set of all (p + 1, g)-shuffles such that 0

ttj+i-If we compose this homomorphism aj on the left with both sides of the identity (5), for n = i + 2, we get a,i o idc.+2(PxP) -aj o EMLj+2 o AWj+2 = at o SHIj+i o 9 + aj o d o SHIj+2. (7) Now aj o d = 0 since aj is a cocycle. Moreover, every basis element of C*(Pj) (g> C*(Pj) in degree i + 2 < 2d is of the form 0 (g> r*+2 or r*+2 (g> 0 (since Pj has no nondegenerate simplices in dimensions 1,..., d — 1). Such elements are taken by EML into Cj+i(P VP), on which en vanishes because 0 is a strictly neutral element for EBj. Thus, en o EMLj+2 = 0 for i + 2 < 2d. Therefore, (7) simplifies to aj = aj o SHLj+i o d. Thus, if we set Ai := aj o SHLj+i, then aj = SAi, as desired (since applying 5 to a cochain a corresponds to the composition ao9on the level of homomorphisms from chains into 7Tj+i). Finally, the property Aj(0, •) = Aj(-, 0) = 0 follows because the corresponding property holds for aj and SHIj+i maps Cj+i(Pj V Pj) to Q+2(PVP). □ 5.3 A semi-effective representation of [X, Pi] Now let X be a finite simplicial complex or, more generally, a simplicial set with finitely many nondegenerate simplices (as we will see, the greater flexibility offered by simplicial sets will be useful in our algorithm, even if we want to prove Theorem 1.1 only for simplicial complexes X). Having the locally effective PT-group structure on the stable Postnikov stages Pj, we obtain the desired locally effective Abelian group structure on [X, Pi] immediately. Indeed, according to the remarks following Fact 5.1, a simplicial map s: P —» Q of arbitrary simplicial sets induces a map s*: SMap(X, P) —> SMap(X, Q) by composition, i.e., by s*(/)( [X,Q]. Moreover, if s is locally effective, then so is (since X has only finitely many nondegenerate simplices). In particular, the group operations on [X, Pi] are represented by locally effective maps ESj* : SMap(X, Pj) x SMap(X, Pj) —> SMap(X, Pj) and □j* : SMap(X, P) SMap(X, P). The cochain representation. However, we can make the algorithm considerably more efficient if we use the special structure of Pj and work with cochain representatives of the simplicial maps in SMap(X, Pj). We recall from Section 4 that simplicial maps into K(tt, n) and E(tv, n) are canonically represented by cocycles and cochains, respectively. Simplicial maps X —> Pi are, in particular, maps into the product Eq x • • • x Pj, and so they can be represented by (i +1)-tuples of cochains c = (c°, ..., G 0 := &{X; ttj). The "simplicial" definition of EBj*, □ j* can easily be translated to a "cochain" definition, using the correspondence explained after Lemma 4.2. For simplicity, we describe the result concretely for the unary operation Bj*; the case of ESj* is entirely analogous, it just would require more notation. Thus, to evaluate (d°,..., d1) := Bj*c, we need to compute the value of d? on each j-simplex uj of X, j = 0,1,... ,i. To this end, we first identify uj with the standard j-simplex A1 via the unique order-preserving map of vertices. Then the restriction of (c°,...,c*) to uj (i.e., a labeling of the faces of uj by the elements of the appropriate Abelian groups) can be regarded as a j-simplex a of Pj. We compute t := EE^er, again a j-simplex of Pj. The component t1 of t is a j-cochain on A1, i.e., a single element of ttj, and this value, finally, is the desired value of dJ(w). For ESj* everything works similarly. 31 We also get that 0 6 SMap(A, Pj), the simplicial map represented by the zero cochains, is a strictly neutral element under EBj*. We have made [A, Pi] into a semi-effectively represented Abelian group in the sense of Section 3. The representatives are the {i + l)-tuples (c°,..., cl) of cochains as above. However, our state of knowledge of [X, Pi] is rather poor at this point; for example, we have as yet no equality test. A substantial amount of work still lies ahead to make [X, Pi] fully effective. 6 The main algorithm In order to prove our main result, Theorem 1.1, on computing [X, Y], we will prove the following statement by induction on i. Theorem 6.1. Let X be a simplicial set with finitely many nondegenerate simplices, and let Y be a {d — 1)-connected simplicial set, d > 2, for which a locally effective Postnikov system with 2d —2 stages Pq, ..., ?2d-2 i-s available. Then, for every i = d,d + l,... ,2d — 2, a fully effective representation of [X, Pi] can be computed, with the cochain representations of simplicial maps X —» Pi as representatives. Two comments on this theorem are in order. First, unlike in Theorem 1.1, there is no restriction on dim A (the assumption dim A < 2d — 2 in Theorem 1.1 is needed only for the isomorphism [A, Y] = [A, P2d-2\)- Second, as was already mentioned in Section 5.3, even if we want Theorem 1.1 only for a simplicial complex X, we need Theorem 6.1 with simplicial sets X, because of recursion. First we will (easily) derive Theorem 1.1 from Theorem 6.1. Proof of Theorem 1.1. Given a Y as in Theorem 1.1, we first obtain a fully effective Postnikov system for it with 2d —2 stages using Theorem 4.5. Then we compute a fully effective representation of [A, p2d-2] by Theorem 6.1. Since Y is [d — l)-connected and dim A < 2d — 2, there is a bijection between [A, Y] and [A, P2d-2\ by Proposition 4.4. It remains to implement the homotopy testing. Given two simplicial maps f,g: X —> Y, we use the locally effective simplicial map (f2d-2 '■ Y —> ?2d-2 (which is a part of a locally effective simplicial Postnikov system), and we compute the cochain representations c, d of the corresponding simplicial maps (f2d-2 ° /> f2d-2 ° ?2d-2- Then we can check, using the fully effective representation of [A, ?2d-2\^ whether [c] — [d] = 0 in [A, P2d-2\- This yields the promised homotopy testing algorithm for [A, Y] and concludes the proof of Theorem 1.1. □ 6.1 The inductive step: An exact sequence for [X, Pi] Theorem 6.1 is proved by induction on i. The base case is i = d (since Pq, ..., Pd-i are trivial for a (d — l)-connected Y), which presents no problem: we have Pd = Ld = K^Tid, d), and so [X,Pd]^Hd(X;7rd). This group is fully effective, since it is the cohomology group of a simplicial set with finitely many nondegenerate simplices, with coefficients in a fully effective group. (Alternatively, we could start the algorithm at i = 0; then it would obtain [A, Pd] at stage d as well.) So now we consider i > d, and we assume that a fully effective representation of [A, Pj-i] is available, where the representatives of the homotopy classes [/] £ [A, Pj-i] are (cochain representations of) simplicial maps /: X —> Pi-\. We want to obtain a similar representation for [A,P]. Let us first describe on an intuitive level what this task means and how we are going to approach it. 32 As we know, every map g £ SMap(X, Pi) yields a map / = Pi*(g) = Pi° g £ SMap(X, Pj-i) by projection (forgetting the last coordinate in Pi). We first ask the question of which maps / £ SMap(X, Pi-i) are obtained as such projections; this is traditionally called the lifting problem (and g is called a lift of /). Here the answer follows easily from the properties of the Postnikov system: liftability of a map / depends only on its homotopy class [/] £ [X, Pi-i], and the liftable maps in [X, Pi-i] are obtained as the kernel of the homomorphism induced by the Postnikov class. This is very similar to the one-step extension in the setting of obstruction theory, as was mentioned in the introduction. This step will be discussed in Section 6.2. Next, a single map / £ SMap(X, Pj-i) may in general have many lifts g, and we need to describe their structure. This is reasonably straightforward to do on the level of simplicial maps. Namely, if c = (c°,..., cl~1) is the cochain representation of / and go is a fixed lift of /, with cochain representation (c, Cq), then it turns out that all possible lifts g of / are of the form (again in the cochain representation) (c, Cq + z%), z% £ Zl(X, irf) = SMap(X, Lf). Thus, all of these lifts have a simple "coset structure". This allows us to compute a list of generators of [X, Pi]. We also need to find all relations of these generators, and for this, we need to be able to test whether two maps g±,g2 £ SMap(X, Pi) are homotopic. This is somewhat more complicated, and we will develop a recursive algorithm for homotopy testing in Section 6.4. Using the group structure, it suffices to test whether a given g £ SMap(X, Pi) is nullhomo-topic. An obvious necessary condition for this is nullhomotopy of the projection / = pi o g, which we test recursively. Then, if / ~ 0, we ES«-add a suitable nullhomotopic map to g, and this reduces the nullhomotopy test to the case where g has a cochain representation of the form (0,2*), z,t £ Z\{X,-*i) ^ SMap(X,L,). Now (0,zl) can be nullhomotopic, as a map X —> Pi, by an "obvious" nullhomotopy, namely, one "moving" only the last coordinate, or in other words, induced by a nullhomotopy in SMap(X, Lj). But there may also be "less obvious" nullhomotopies, and it turns out that these correspond to maps SX —> Pi-\, where SX is the suspension of X defined in Section 4.1. Thus, in order to be able to test homotopy of maps X —> Pi, we also need to compute [SX, Pi-i] recursively, using the inductive assumption, i.e., Theorem 6.1 for i — 1. The exact sequence. We will organize the computation of [X, Pi] using an exact sequence, a basic tool in algebraic topology and many other branches of mathematics. First we write the sequence down, including some as yet undefined symbols, and then we provide some explanations. It goes as follows: [SX, P^] [X, Li] [X, Pt] (8) [X^i-if-^lX,^] This is a sequence of Abelian groups and homomorphisms of these groups, and exactness means that the image of each of the homomorphisms equals the kernel of the successive one. We have already met most of the objects in this exact sequence, but for convenience, let us summarize them all. • [SX, Pi-i] is the group of homotopy classes of maps from the suspension into the one lower stage Pi-i; inductively, we may assume it to be fully effective. • [fii] is a homomorphism appearing here for the first time, which will be discussed later. • [X, Li] = H'l(X;Tii) consists of the homotopy classes of maps into the Eilenberg-MacLane space Li = K(-Ki,i), and it is fully effective. 33 • [Aj*] is the homomorphism induced by the mapping Aj: Lj —> Pi, the "insertion to the last component"; i.e., Aj(cr*) = (0, In terms of cochain representatives, A« sends z% to (0,^). • [X, Pi] is what we want to compute, [p«] is the projection (on the level of homotopy), and [X, Pi-i] has already been computed, as a fully effective Abelian group. • [fc(j-i)*] is the homomorphism induced by the composition with the Postnikov class : Pj_ Ki+1 =K(iri,i + l). • [X,Ki+i] = Hl+1(X, iTi) are again maps into an Eilenberg-MacLane space. Let us remark that the exact sequence (8), with some [/xj], can be obtained by standard topological considerations from the so-called fibration sequence for the fibration Lj —» Pi —» Pi-i\ see, e.g., [35, Chap. 14].27 However, in order to have all the homomorphisms locally effective and also to provide the locally effective "inverses" (as required in Lemma 3.5), we will need to analyze the sequence in some detail; then we will obtain a complete "pedestrian" proof of the exactness with only a small extra effort. Thus, the fibration sequence serves just as a background. The algorithm for computing [X, Pi] goes as follows. 1. Compute [X, Pj_i] fully effective, recursively. 2. Compute iVj_i := ker [fyj-i)*] C [X, Pj-i] (so iVj_i consists of all homotopy classes of liftable maps), fully effective, using Lemma 3.2 and Theorem 4.5. 3. Compute [SX, Pj-i] fully effective, recursively. 4. Compute the factor group Mj := coker [/xj] = [X, Li]/im [/xj] using Lemma 3.3, fully effective and including the possibility of computing "witnesses for 0" as in the lemma. 5. The exact sequence (8) can now be transformed to the short exact sequence (where £i is induced by exactly the same mapping A« of representatives as [A«] in the original exact sequence (8)). Let A/i-i := {/ £ SMap(X, Pj-i) : = 0} be the set of representatives of elements in iVj_i. Implement a locally effective "section" 27Let us consider topological spaces E and B with basepoints and a pointed map p: E —> B. If p lias the so-called homotopy lifting property (which is the case for our pi) it is called a fibration and the preimage F of the base point in B is called the fibre of p. The sequence of maps F E A B can be prolonged into the fibration sequence ---->QF ^Uo,E ^QB A F 4 E A B of pointed maps, where, for a pointed space Y, QY is the space of loops starting at the base point. For spaces X and Y with base points, let Map(X, Y), denote the set of all continuous pointed maps, and let [X, Y], be the set of (pointed) homotopy classes of these maps. Then the fibration sequence yields the sequence ----> Map(X,fiF)„ Map(X, flE)t Map(X,£lB)„ Map(X,F)„ Map(X,£)» -> Map(X,B)„. As it turns out, on the level of homotopy classes we get even the long exact sequence ----> [x,nF], [x,nE], [x,nB], [x,f], There is a natural bijection between [EX,E]t and [X,ilE]t, where EX is the reduced suspension of X, and so we get the long exact sequence ----> [T,X,F]t [T,X,E]t [SX,S]» For CW-complexes, the difference between SX and EX does not matter, and for the sequence Pi —> Pj_i —> Ki+i, which can be considered as a fibration, we arrive at (8). 34 £i: Mi-i —> SMap(X, Pf) with [pi»o^] = id and a locally effective "inverse" r\ : im [Aj*] —> Mi with ^orj = id, as in Lemma 3.5, and compute [X, Pi] fully effective using that lemma. We will now examine steps 2,4,5 in detail, and simultaneously establish the exactness of (8). Convention. It will be notationally convenient to let maps such as p«, k^_i^, Aj*, which send simplicial maps to simplicial maps, operate directly on the cochain representations (and in such case, the result is also assumed to be a cochain representation). Thus, for example, we can write p«(c,c) = c, Aj*(z*) = (0,zl), etc. We also write [c] for the homotopy class of the map represented by c. 6.2 Computing the liftable maps Here we will deal with the last part of the exact sequence (8), namely, [X,Pi\ [X.iVi] [X,Ki+1]. First we note that, since the projection map pi is an i^-homomorphism by Proposition 5.4(c), the (locally effective) map p«: SMap(X, Pi) —> SMap(X, Pi-i) indeed induces a well-defined group homomorphism [X, Pi] —> [X,Pi-i] (Fact 5.1). Similarly, the i^-homomorphism ki-i (Proposition 5.4(d)) induces a group homomorphism : [X, Pi-i] —> [X, Ki+\] = Hl+1 (X; 7Tj). Lemma 6.2 (Lifting lemma). We have im = ker [fyj-i)*]. Moreover, if we set A/i-i : = {/ £ SMap(X, Pi-i) : = 0}, then there is a locally effective mapping £j: A/i-i —> SMap(X, Pi) such that p^ o £j is the identity map (on the level of simplicial maps). Proof. Let us consider a map / £ SMap(X, Pi-i) with cochain representation c. Every cochain (c,c*) with cl G Cl(X;Tii) represents a simplicial map X —> Pi-\ x Ei, and this map goes into Pi iff the condition (c) (9) holds. Thus, / has a lift iff k^_i^(c) is a coboundary, or in other words, iff [fc(j_i)„,(c)] = 0 in [X, Ki+i]. Hence im [p^] = ker [^(j-i)*] indeed. Moreover, if kn_i^(c) is a coboundary, we can compute some cl satisfying (9) and set &(/) := (c)c*)- This involves some arbitrary choice, but if we fix some (arbitrary) rule for choosing cl, we obtain a locally effective £j as needed. The lemma is proved. □ Remark 6.3. In the previous proof as well as in a few more situations below, we will need to make some arbitrary choice of a particular solution to a system of linear equations over the integers. We refrain from specifying any particular such rule, but typically, such a rule will be built into any particular Smith normal form algorithm that we use as a subroutine to solve the system of integer linear equations (9). We have thus proved exactness of the sequence (8) at [X, Pi-i]. Step 2 of the algorithm can be implemented using Lemma 3.2. We have also prepared the section £j for Step 5. 6.3 Factoring by maps from SX We now focus on the initial part [SX,Pt^]H[X,Lt]^[X,P] of the exact sequence (8), and explain how the suspension comes into the picture. We remark that [Aj*] is a well-defined homomorphism, for the same reason as \pi*] and namely, Aj is an i^-homomorphism by Proposition 5.4(a). 35 The kernel of [Aj*] describes all homotopy classes of maps X —> Li that are nullhomotopic as maps X —» Pi. To understand how they arise as images of maps SX —> Pi-i, we first need to discuss a representation of nullhomotopies as maps from the cone. Maps from the cone. A map X —> Y between two topological spaces is nullhomotopic iff it can be extended to a map CX ->Foii the cone over X; this is more or less a reformulation of the definition of nullhomotopy. The same is true in the simplicial setting if the target is a Kan simplicial set, such as Pj. We recall that the n-dimensional nondegenerate simplices of CX are of two kinds: the n-simplices of X and the cones over the (n — l)-simplices of X. In the language of cochains, this means that, for any coefficient group tt, we have Cn(CX; tt) ^ Cn-X (X; tt) © Cn(X; tt) , and thus a cochain b 6 Cn(CX;7r) can be written as (e,c), with e £ Cn~1(X;ir) and c 6 Cn(X;Ti). We also write c = b\x for the restriction of b to X. The coboundary operator Cn(CX;Tv) -> Cn+1(CX,;Tv) then acts as follows: 5(e, c) = (—5e + c, 5c). Rephrasing Lemma 4.3 in the language of extensions to CX, we get the following: Corollary 6.4. A map f £ SMap(A, Li), represented by a cocycle cl 6 Zl(X;Tii), is nullhomotopic iff there is a cocycle b £ Z'1(CX;tv) = SMap(CA, Lj) such that b\x = c. This describes the homotopies in SMap(A, Lj), which induce the "obvious" homotopies in mi Aj*. Let us now consider an element in the image of Aj*, i.e., a map g: X —> Pi with a cochain representation (0,cl). By the above, a nullhomotopy of g can be regarded as a simplicial map G: CX —> Pi whose cochain representation (h,bl) satisfies (b|x,&*|v) = (0>c*) (here h\x = (b°\x, ■ ■ ■ ,bl~1\x) is the componentwise restriction to X). Thus, the projection F := piif o G G SMap(CA, Pj-i) is represented by b with h\x = 0, and hence it maps all of the "base" X in CX to 0. Recalling that SX is obtained from CX by identifying A to a single vertex, we can see that such F exactly correspond to simplicial maps SX —> Pj-i (here we use that Pj-i has a single vertex 0). Thus, maps in SMap(S'A, Pj-i) give rise to nullhomotopies of maps in im Aj*. After this introduction, we develop the definition of fii and prove the exactness of our sequence (8) at [X, Li]. The homomorphism m. Since the nondegenerate (i + 1)-simplices of SX are in one-to-one correspondence with the nondegenerate i-simplices of A, we have the isomorphism of the cochain groups D,r. Ct+1(SX;^l)^C\X;^l). Moreover, this is compatible with the coboundary operator (up to sign): SDi(c) = -Di(Sc). Alternatively, if we identify the (i + l)-cochains on SX with those (i + l)-cochains b = (e, c) £ Cl+1(CX;iTi) for which b\x = c = 0, then the isomorphism is given by Di(e,0) = e. The coboundary formula S(e, c) = (—Se + c,Sc) for CX indeed gives Di(S(e,0)) = Di(—Se,0) = -5e = -5Di(e,0). Because of the compatibility with 5, Di restricts to an isomorphism Zl+1(SX; 7Tj) —> Zl(X; 7Tj) (which we also denote by Di). This induces an isomorphism [Di]: Hl+1(SX;-Ki) —> Hl(X;-Ki). Translating from cochains to simplicial maps, we can also regard Di as an isomorphism SMap(S'A, Ki+i) —> SMap(A, Li), (where, as we recall, Aj+i = K(iVi,i + 1) and Lj = K(iVi,i)), and [Di] as an isomorphism [SX, -fQ+i] —> [X, Li]. 36 Now we define m : SMap(SX, Pi-i) —> SMap(X, Li) by IH := P>i o That is, given F G SMap(SX, Pj-i), we first compose it with fcj-i, which yields a map in SMap(SX, Ki+i) represented by a cocycle in Zl+1(SX; irf). Applying L>j means re-interpreting this as a cocycle in ^(X; 7Tj) representing a map in SMap(X, Lf), which we declare to be m(F). This, clearly, is locally effective, and [/xj] is a well-defined homomorphism [SX, Pj-i] —> [X, Li] (since [Di] and [fyj-i)*] are well-defined homomorphisms). The connection of this definition of m to the previous considerations on nullhomotopies may not be obvious at this point, but the lemma below shows that m works. Lemma 6.5. The sequence (8) is exact at [X,Li], i.e., im [/xj] = ker [Aj*]. Proof. First we want to prove the inclusion im [/xj] C ker[Aj*]. To this end, we consider F £ SMap(SX, Pi-i) arbitrary and want to show that [Aj*(/ij(i7))] = 0 in [X, Pi]. As was discussed above, we can view F as a map F: CX —> Pi-\ that is zero on X. Let b be the cochain representation of F; thus, b|x = 0. Let z{ G Z^X-Tii) be the cocycle representing m{F). Then (0,^) G Ci_1(X; ttj) ©C*(X; ttj) represents a map CX —> Ei, and (b, (0, z1)) represents a map C: CX —> Pi-i x Ei. We claim that C actually goes into Pi, i.e., is a lift of i7. For this, we just need to verify the lifting condition (9), which reads k^_1^(h) = 5(0, z%). By the coboundary formula for the cone, we have 6(0, z%) = (z, 0), while k^_iy(h) = (z, 0) by the definition of m(F). So G G SMap(CX, Pf) is indeed a lift of F. At the same time, (b, (0, = (0, z%), and so G is a nullhomotopy for the map represented by (0, z%), which is just Aj*(/ij(F)). To prove the reverse inclusion im [m] D ker[A«], we proceed similarly. Suppose that z% G Z'l(X;Tii) represents a map / G SMap(X, Lj) with [Aj*(/)] = 0 in [X, Pi]. Then Aj*(/) has the cochain representation (0,zl), and there is a nullhomotopy G G SMap(CX, Pi) for it, with a cochain representation (b, (a1^1, z1)), where h\x = 0. Since b|x = 0, b represents a map F G SMap(CX, Pj-i) zero on X, which can also be regarded as F G SMap(SX, Pi-i). Let zl represent m(F). Since G is a lift of F, the lifting condition k^_i^(b) = 5(al~1,zl) holds. We have k^_i^(b) = (zl,0), again by the definition of m, and 5(dl^1,zl) = (—da1^1 + zl,5zl) by the coboundary formula for the cone. Hence zl — z% = Sa1^1, which means that [zl] = [z1]. Thus [/] = [ni(F)] G im[//j], and the lemma is proved. □ Having [m] defined as a locally effective homomorphism, we can employ Lemma 3.3 and implement Step 4 of the algorithm. 6.4 Computing nullhomotopies The next step is to prove the exactness of the sequence (8) at [X, Pi]. Lemma 6.6. We have im [Aj*] = ker Proof. The inclusion im [A«] C ker [p^] holds even on the level of simplicial maps, i.e., imA^* G kerpj*. Indeed, Pi*(\i*(z%)) =pi*(0,z%) = 0. For the reverse inclusion, consider (c, cl) G SMap(X, Pi) and suppose that [p«(c, c1)] = [c] = 0 G [X,P_i]. We need to find some zl G Z^X;^) with [(0,^)] = [(c, c*)] in [X,Pi]. A suitable z% can be constructed by taking a nullhomotopy CX —> Pi-\ for c and lifting it. Namely, let b represent a nullhomotopy for c, i.e., b|x = c, and let (h,bl) be a lift of b (it exists because CX is contractible and thus every map on it can be lifted). We set z* :=cl-(V\x). 37 We need to verify that z% is a cocycle. This follows from the lifting conditions k^_i^(c) = Scl and fc(j_i)„,(b) = 5b1, and from the fact that k^_i^(h)\x = &(i-i)*(b|x) = %-i)*(c) (this is because applying k^_iy really means a composition of maps, and thus it commutes with restriction). Indeed, we have 5z% = 5cl — 5{bl\x) = &(j-i)*(c) — ^(«-i)*(c) = 0. It remains to to check that [(c, c1)} = [(0,2:*)]. We calculate [(c, c1)} — [(0,2:*)] = [(c, c*) (0,2;*)] = [(c, c1 — z1)] = [(c, bl\x)\ = [(b|x)^|x)] = 0, since (h,b) is a nullhomotopy for (b|x,&%). □ Denning the inverse for Aj*. Now we consider the cokernel Mj = [X, Li]/im [pi] as in Step 4 of the algorithm, and the (injective) homomorphism i{ \ Mi —> [X,Pi] induced by [Aj*]. The last thing we need for applying Lemma 3.5 in Step 5 is a locally effective map r\ : im^j —> Mi with £i o n = id. Let Hi be the set of representatives of the elements in im^j = im [Aj*]; by the above, we can write Ki = {(c, c*) G SMap(X, Pi) : [c] = 0}. For every (c, cl) we set Pi(c,c*) := z\ where z% is as in the above proof of Lemma 6.6 (i.e., z% = c1 — (b'l\x), where (h,bl) is a lifting of some nullhomotopy b for c). This definition involves a choice of a particular b and bl, which we make arbitrarily (see above) for each (c, cl). Lemma 6.7. The map pi induces a map r\ : im [Aj*] —> [X, Li] such that £i o n = id. Proof. In the proof of Lemma 6.6 we have verified that [Aj*(pj(c, c1))] = [(c, c1)], so Aj* o pt acts as the identity on the level of homotopy classes. It follows that r\ is well-defined, since Hi is injective and thus the condition £i o n = id determines r\ uniquely. □ We note that, since we assume [X, Pi-i] fully effective, we can algorithmically test whether [c] = 0, i.e., whether c represents a nullhomotopic map—the problem is in computing a concrete nullhomotopy b for c. We describe a recursive algorithm for doing that. For more convenient notation, we will formulate it for computing nullhomotopies for maps in SMap(X, Pi), but we note that, when evaluating pi, we actually use this algorithm with i — 1 instead of i. Some of the ideas in the algorithm are very similar to those in the proof of the exactness at [X, Pi] (Lemma 6.6 above), so we could have started with a presentation of the algorithm instead of Lemma 6.6, but we hope that a more gradual development may be easier to follow. The nullhomotopy algorithm. So now we formulate a recursive algorithm NullHom(c, cl), which takes as input a cochain representation of a nullhomotopic map in SMap(X, Pi) (i.e., such that [(c, c1)] = 0), and outputs a nullhomotopy (h,bl) for (c, cl). The required nullhomotopy (h,bl) will be ES«-added together from several nullhomotopies; this decomposition is guided by the left part of our exact sequence (8). Namely, we recursively find a nullhomotopy for c and lift it, which reduces the original problem to finding a nullhomotopy for a map in imA», of the form (0, z%), as in the proof of Lemma 6.6. Then, using the fact that Hi is an isomorphism, we find nullhomotopies witnessing that \zl\ = 0 in Mj. Here we need the assumption that the representation of Mj allows for computing "witnesses of zero" as in Lemma 3.3. For this to work, we need the fact that if bi is a nullhomotopy for ci and b2 is a nullhomotopy for C2, then biES«b2 is a nullhomotopy for ciES«C2. This is because ES« operates on mappings by composition, and thus it commutes with restrictions—we have already used the same observation for k^. The base case of the algorithm is i = d. Here, as we recall, P^ = L^ = K(tt(i,d), and a nullhomotopic cd means that cd £ Zd{X; 7r^) is a coboundary. We thus compute e £ Zd^1{X; 7r^) 38 with cd = be, and the desired nullhomotopy is (e,5e) (indeed, (e,5e) specifies a valid map CX —> Ld since, by the coboundary formula for the cone, it is a cocycle). Now we can state the algorithm formally. Algorithm NullHom(c, cx). A. (Base case) If i = d, return (b, bd) = (0, (e, 5e)) as above and stop. B. (Recursion) Now i > d. Set bo := NullHom(c), and let (bo, bQ) be an arbitrary lift of bo- C. (Nullhomotopy coming from SX) Set z1 := c* — (60|x), and use the representation of Mj to find a "witness for [zl] = 0 in Mi". That is, compute F G [SX,Pi-i] such that [zl] = [zl] in [A, Li], where zl is the cocycle representing Pi{F). Let a be the cochain representation of the map F 6 SMap(CA, Pi-i) corresponding to F. D. (Nullhomotopy in [A, Li]) Compute e £ Z1-1 (X; iri) with zl — z% = 5e. (Then, as in the base case i = d above, (e, Se) is a nullhomotopy for zl — z%, and thus (0, (e, Se)) is a nullhomotopy for (0, z1 — z'1).) E. Return (b, V) := (b0, b0) ((a, (0, z*)) (0, (e, «Je))). Proof of correctness. First we need to check that in Step C indeed represents 0 in Mj. This is because, as in the proof of Lemma 6.6, [(0, z1)] = [A»(z*)] = 0, and since £i is injective, we have \zl\ = 0 in Mj as claimed. So the algorithm succeeds in computing some (h,bl), and we just need to check that it is a nullhomotopy for (c, cl). All three terms in the formula in Step E are valid representatives of maps CX —> Pi (for (bo,&o) this follows from the inductive hypothesis, for (a, (0,z1)) we have checked this in the first part of the proof of Lemma 6.5, and for (0,(e,<5e)) we have already discussed this). So (b, b'1) also represents such a map, and all we need to do is to check that (h\x, b'l\x) = (c, cl): (b]x,bl]x) = (b0|x,&j,|x)ffl«*((a|x,^)ffl«*(0, 2, there is a polynomial-time algorithm that, for a 1-connected topological space X given as a finite simplicial complex, or more generally, as a simplicial set with polynomial-time homology, computes the kth homotopy group TVk(X), as well as the first k stages of a Postnikov system of X. Combined with results of an earlier paper, this yields a polynomial-time computation of [X, Y], i.e., all homotopy classes of continuous mappings X —>• Y, under the assumption that Y is (k— l)-connected and dimX < 2k — 2. We also obtain a polynomial-time solution of the extension problem, where the input consists of finite simplicial complexes X, Y, where Y is (k—l)-connected and dimX <2k—l, plus a subspace A C X and a (simplicial) map /: A —>• Y, and the question is the extendability of / to all of X. The algorithms are based on the notion of a simplicial set with polynomial-time homology, which is an enhancement of the notion of a simplicial set with effective homology developed earlier by Sergeraert and his co-workers. Our polynomial-time algorithms are obtained by showing that simplicial sets with polynomial-time homology are closed under various operations, most notably, Cartesian products, twisted Cartesian products, and classifying space. One of the key components is also polynomial-time homology for the Eilenberg-MacLane space K(7L, 1), provided in another recent paper by Krcal, Matousek, and Sergeraert. "This research was supported by the ERC Advanced Grant No. 267165. The research of M. Č. was supported by the project CZ.1.07/2.3.00/20.0003 of the Operational Programme Education for Competitiveness of the Ministry of Education, Youth and Sports of the Czech Republic. The research by M. K. and J. M. was supported by the Center of Excellence - Inst, for Theor. Comput. Sci., Prague (project P202/12/G061 of CA ČR). The research of L. V. was supported by the Center of Excellence - Eduard Cech Institute (project P201/12/G028 of GA CR). The research by U. W. was supported by the Swiss National Science Foundation (grants SNSF-200020-138230 and SNSF-PP00P2-138948). aDepartment of Mathematics and Statistics, Masaryk University, Kotlářská 2, 611 37 Brno, Czech Republic bDepartment of Applied Mathematics, Charles University, Malostranské nám. 25, 118 00 Praha 1, Czech Republic institute of Theoretical Computer Science, ETH Zurich, 8092 Zurich, Switzerland dInstitut de Mathématiques de Geometrie et Applications, Ecole Polytechnique Fédérale de Lausanne, EPFL SB MATHGEOM, MA CI 553, Station 8, 1015 Lausanne, Switzerland 1 1 Introduction One of the central themes in algebraic topology is understanding the structure of all continuous maps A —> Y, for given topological spaces X and Y (all maps between topological spaces in this paper are assumed to be continuous). Here two maps f,g:X^Y are usually considered equivalent if they are homotopic1; thus, the object of interest is [X, Y], the set of all homotopy classes of maps X —> Y. Computing higher homotopy groups. Many of the celebrated results throughout the history of topology can be cast as information about [X, Y] for certain spaces X and Y. In particular, one of the important challenges propelling the research in algebraic topology has been the computation of the homotopy groups of spheres2 irk(Sn), where only partial results have been obtained in spite of an enormous effort (see, e.g., [34, 22]). Our concern here is the (theoretical) complexity of computing homotopy groups Tik(Y) for an arbitrary Y. It is well known that the fundamental group ivi(Y) is uncomputable, as follows from undecidability of the word problem in groups [33] .3 On the other hand, given a 1-connected space Y (i.e., one with ivi(Y) trivial), say represented as a finite simplicial complex, there are algorithms that compute the higher homotopy group Tik(Y), for every given k > 2. The first such algorithm is due to Brown [5], and newer ones have been obtained as a part of general computational frameworks in algebraic topology due to Schon [47], Smith [52], and Sergeraert and his co-workers (e.g., [48, 43, 39, 44]). In particular, an algorithm based on the methods of Sergeraert et al. can be found in Real [36]. We also refer to Romero and Sergeraert [40] for a new approach to homotopy computations. The computation of the higher homotopy groups is generally considered very hard. The running time for the algorithms mentioned above has apparently never been analyzed. It is clear, however, that Brown's algorithm, which for a long time had been the only explicitly published algorithm for computing Tik(Y), is heavily superexponential and totally unsuitable for actual computations. Moreover, Anick [2] proved that computing HkiY) ls #P-hard,4 where Y can even be assumed to be a 4-dimensional space, but, crucially, k is regarded as a part of the input. Actually, the hardness already applies to the potentially easier problem of computing the rational homotopy groups Tik(Y) (g> Q; practically speaking, one asks only for the rank of 7Tfc(Y), i.e., the number of direct summands isomorphic to TL. 1Homotopy means a continuous deformation of one map into another. More precisely, / and g are defined to be homotopic, in symbols / ~ g, if there is a continuous F: X x [0,1] —> Y such that F(-,0) = / and F(-, 1) = g. With this notation, [X, Y] = {[/] : /: X —> Y}, where [/] = {g : g ~ /} is the homotopy class of/. 2The fcth homotopy group TikiY) of a space Y is defined as the set of all homotopy classes of pointed maps f ■ Sk —> Y, i.e., maps / that send a distinguished point so G Sk to a distinguished point yo G Y (and the homotopies F also satisfy F(so,t) = yo for all t G [0,1]). Strictly speaking, one should really write iik{Y,yo) but for a path-connected Y, the choice of yo does not matter. Moreover, for 1-connected Y the pointedness of the maps does not matter either and one can identify Trk(Y) with [Sk,Y]. Each Trk(Y) is a group, which for k > 2 is Abelian, but the definition of the group operation is not important for us at the moment. 3The undecidability of the word problem holds even for the fundamental groups of 2-complexes or 4-manifolds. On the other hand, the problem is decidable for certain classes of manifolds [26, 10]. 4Somewhat informally, the class of #P-hard problems consists of computational problems that should return a natural number (as opposed to YES/NO problems) and are at least as hard as counting the number of all Hamiltonian cycles in a given graph, or counting the number of subsets with zero sum for a given set of integers, etc. These problems are clearly at least as hard as NP-complete problems, and most likely even less tractable. 2 Anick's #P-hardness result has a caveat: it assumes Y to be given as a cell complex with a certain very compact representation. However, recently it was shown by the present authors [7] that the computation of Tik(Y) remains #P-hard even for a 4-dimensional simplicial complex Y, still with k a part of the input. Recently the computation of Tik(Y), with k as the parameter, has been shown W[l]-hard [29]. This means that this computational problem is very unlikely to admit an algorithm with time complexity bounded by f(k)nc, where n is the input size, C is a constant independent of k, and / is an arbitrary function. Since, as was mentioned above, higher homotopy groups have the reputation of being very difficult to compute, we consider the following result surprising. Theorem 1.1. For every fixed k > 2, there is a polynomial-time algorithm that, given a 1-connected space Y represented as a finite simplicial complex, or more generally, as a simplicial set with polynomial-time homology (this notion will be defined in Section 2), computes (the isomorphism type of) the kth homotopy group Tik(Y). Here and in the sequel, the size of a simplicial complex is the number of simplices. Since, under the conditions of the theorem, Tik(Y) is a finitely generated Abelian group, it can be represented as a direct sum of finitely many cyclic groups, and the algorithm returns such a representation. Let us remark that the algorithm does not need any certificate of the 1-connectedness of Y, but if Y is not 1-connected, the result may be wrong. We should also mention that, although the theorem asserts the existence of an algorithm for every k > 2, we will actually present a single algorithm that accepts Y and k as input and outputs Tik(Y), and for every k the running time is bounded by a polynomial in the size of Y, where the polynomial generally depends on k. However, for this setting, a single algorithm accepting Y and k, some of the formulations in the sequel would become more cumbersome, and so in the interest of simpler presentation, we stick to the setting as in Theorem 1.1. A similar remark applies to all of the other results below. Remark: simple spaces. It can be checked that Theorem 1.1, as well as Theorem 1.2 below, hold, without any significant change in the proofs, under the assumtion that Y is a simple space (instead of 1-connected). This, somewhat technical, notion means that the fundamental group tvi(Y) is possibly nontrivial but Abelian, and its action on each Tik(Y), k > 2, is trivial. Here the action basically means "pulling the basepoint in Y along a loop" — see [20, pp. 341-342] for discussion. A natural example of simple spaces are H-spaces, which are a generalization of topological groups. In the interest of easier presentation we stick to the 1-connectedness assumption, though. Computing Postnikov systems. The algorithm for computing Tik(Y) in Theorem 1.1 is a by-product of a polynomial-time algorithm for computing the first k stages of a (standard) Postnikov system for a given space Y. In this respect it is similar to the algorithm of Brown [5] and some others, while, e.g., the algorithm in Real [36] is, in a sense, dual, building a Whitehead tower of Y. We note that with the tools used in the present paper, the Whitehead tower algorithm, too, could serve to prove Theorem 1.1. A Postnikov system of a space Y is, roughly speaking, a way of building Y from "canonical pieces", called Eilenberg-MacLane spaces, whose homotopy structure is the simplest possible. A Postnikov system has countably many stages Pq,P\, ..where Pk reflects the homotopy properties of Y up to dimension k, and in particular, Tii(Pk) — ^i(Y) for all i < k, while 3 TtiiPk) = 0 for i > k. The isomorphisms of the homotopy groups for i < k are induced by maps tpi: Y —> Pk, which are also a part of the Postnikov system. Moreover, there is a mapping kj defined on Pi, called the ith Postnikov class; together with the group 7Tj+i(Y) it describes how Pj+i is obtained from Pi, and it is of fundamental importance for dealing with maps from a space X into Y. We will say more about Postnikov systems later on; now we state the result somewhat informally. Theorem 1.2 (informal). For every fixed k > 2, given a 1-connected space Y represented as a finite simplicial complex, or more generally, as a simplicial set with polynomial-time homology, a suitable representation of the first k stages of a Postnikov system for Y can be constructed, in such a way that each of the mappings tpi and kj, i < k, can be evaluated in polynomial time. A precise statement will be given as Theorem 4.1. Computing the structure of all maps. In the earlier paper [6] we provided an algorithm that, given finite simplicial complexes X and Y, computes the structure of [X, Y] under the assumption that, for some k > 2, we have dimX < 2k — 2 and Y is (k — l)-connected.5 More precisely, under these assumptions, [X, Y] has a canonical structure of a finitely generated Abelian group, and the algorithm determines its isomorphism type. In the algorithm, the stage ?2k-2 °f the Postnikov system of Y is used as an approximation to Y, since for every 1-connected Y and every X of dimension at most 2k — 2, there is an isomorphism [X, Y] = [X, i-2fc-2]> induced by the composition with the mapping P2k-2- At the same time, the continuous maps X —> P2/C-2 are easier to handle than the maps X —> Y: each of them is nomotopic to a simplicial, and thus combinatorially described, map, and it is possible to define (and implement) a binary operation on P2/C-2 which induces the group structure on [X, P2k-2\- This, in a nutshell, explains the usefulness of the Postnikov system for dealing with maps into Y. It is easy to check that the algorithm in [6] works in polynomial time in the size (number of simplices) of X and Y for every fixed k, provided that the first 2k —2 stages of a Postnikov system for Y can be computed in polynomial time, as in Theorem 1.2 (the precise requirements on what should be computed can be found in [6]). We thus obtain the following result, anticipated in [6]. Corollary 1.3 (based on [6]). For every fixed k > 2, there is a polynomial-time algorithm that, given finite simplicial complexes X, Y, where dim(X) < 2k — 2 and Y is (k — 1)-connected, computes the isomorphism type of [X, Y] as an Abelian group. More generally, X can be a finite simplicial set and Y a simplicial set with polynomial-time homology. We will not dwell on the proof here, since it follows immediately by plugging the Postnikov system algorithm of Theorem 1.2 into the algorithm of [6] as a subroutine. We only remark that while the result of [6] is formulated for Y a finite simplicial complex, Y actually enters the computation solely through its Postnikov system, and so any Y can be handled for which the appropriate stages of the Postnikov system are available. Computing extensions of maps. Related to the problem of determining [X, Y] is the extension problem: given spaces A, X, Y, where A C X, and a map /: A —> Y, can / be extended to a map X —> Yl This is one of the most basic questions in algebraic topology, and 5This means that TVi(Y) = 0 for all i = 0,1,. .., k — 1; a basic example is Y = Sk. 4 a number of topological concepts, which may look quite advanced and esoteric to a newcomer, such as Steenrod squares, have a natural motivation in an attempt at a stepwise solution of the extension problem; see, e.g., Steenrod [54]. For A C X and /: A —> Y as above, let [X, Y]f C [X, Y] denote the set of all homotopy classes of maps X —> Y that contain a map extending /. One may also want to study the set of all extensions / of / with a finer equivalence relation than the ordinary homotopy of maps X —> Y, namely, homotopy fixing the map on A (i.e., fi,f2- X —> Y are equivalent if they are connected by a homotopy F: X x [0,1] —> Y with F(x, t) = f(x) for all x G A and t £ [0,1]). In order to distinguish these two notions, we refer to determining the structure of all extensions modulo homotopy fixing / on A as the fine classification of the extensions of f, and to determining [X, Y]f as the coarse classification of the extensions of f. As a simple consequence of Theorem 1.2 and the methods of [6], we obtain the following. Theorem 1.4 (Extendability of maps). Let k > 2 be fixed. Then there is a polynomial-time algorithm that, given finite simplicial complexes X, Y, a subcomplex A C X, and a simplicial map f: A -^Y, where dim(A) <2k — l and Y is (k— l)-connected, decides whether f admits an extension to a (not neccessarily simplicial) map X —> Y. Moreover, if the extension exists and dim A < 2k —2, the algorithm computes the structure of [A, Y]f as a coset in the Abelian group [A, Y\. More generally, X can be a finite simplicial set and Y a simplicial set with polynomial-time homology. The proof, assuming some of the material from [6], is presented in Section 5 below. We stress that, while / is given as a simplicial map (so that it can be specified by finite means), the extensions are considered as arbitrary continuous maps, and in particular, they are not assumed to be simplicial maps X —> Y. Theorem 1.4 provides a coarse classification of all extension assuming dim A < 2k — 2. There is also an algorithm that, under the same conditions, provides a fine classification of all extensions. It appears as a part of a more general result in Cadek, Krcal, and Vokfmek [8]. For the next higher dimension dim A = 2k — 1, although the existence of an extension can be decided, we can no longer produce the coarse classification of all extensions, and we suspect that this problem should be intractable in a suitable sense. Hardness results. The assumption on X and Y in Corollary 1.3 may perhaps look artificial at first sight. However, it is needed for [A, Y] to have a canonical structure of an Abelian group. Moreover, the similar assumption in Theorem 1.4 (with dim A one higher) turns out to be sharp, in the following sense: In [7] we show that the extendability problem is algorithmically undecidable for finite simplicial complexes A C X and Y and a simplicial map /: A —» Y with dim A = 2k and (k — l)-connected Y. Moreover, for every k > 2, there is a fixed (k — l)-connected Y = Yk such that the extension problem for maps into Yk, with A,X,f as the input, dim A < 2k, is undecidable. In a similar sense, X = X^ and A = A^ can be fixed, so that the input consists only of Y and /, and undecidability still holds. See [7] for more details. The undecidability is obtained by reduction from quadratic Diophantine equations. A very similar argument shows that deciding the existence of a nontrivial map X —> Y is as hard as deciding the existence of a nontrivial solution of quadratic homogeneous Diophantine equations [24]. We have already mentioned known hardness results for computing the homotopy group 7Tfc(Y): the $F-hardness if k is a part of input and W[l]-hardness if k is regarded as a 5 parameter. The latter shows that, modulo a widely believed complexity assumption, for every polynomial-time algorithm that computes Tik(Y), the degree of the polynomial in the running time bound has to grow with k (and of course, the same applies to algorithms form computing the Postnikov stages of Y). Still, it may be interesting to analyze the running time in more detail. On the other hand, this kind of finer theoretical analysis may not be very relevant for the practical performance of the algorithm on manageable instances. For example, one of the main ingredients of our polynomial-time algorithm, is an algorithm of [25] dealing with the Eilenberg-MacLane space KifIL, 1) (discussed later). That algorithm is not quite simple and its analysis is demanding; however, as for practical performance, it seems to be inferior to a simple, classical, but worst-case exponential algorithm due to Eilenberg and Mac Lane, at least in simple tests (as we were informed by Francis Sergeraert). Methods. The results of this paper rely on a number of known methods and techniques. We see the main contributions in selecting suitable methods among various available alternatives and adapting them for our purposes, assembling everything together, and setting up a framework for dealing with polynomial-time algorithms of a somewhat unusual kind. This framework, with somewhat modified terminology, has been used in several subsequent papers [8, 57, 15, 56], which provide polynomial-time algorithms for a number of other homotopy-theoretic problems. We have also made a significant effort to present the results in an accessible manner. The required techniques involve a large amount of material, and methods from two traditionally separated areas, algebraic topology and algorithm design, need to be brought together. We expect the number of potential readers moving with ease in both of these areas to be rather small, and thus we try to make the exposition as self-contained as reasonably possible, sometimes covering things which may be considered well known in one of the areas. The Postnikov system algorithm, on the top level, essentially follows the approach of Brown [5] (we have examined proofs of existence of a Postnikov system in standard textbooks, such as [20, 53], and none seemed quite suitable for our purposes). But Brown's algorithm in the original form uses a straightforward representation of simplicial Eilenberg-MacLane spaces, and thus it works only for input spaces with all the relevant homotopy groups finite. In the case of infinite homotopy groups, the corresponding Eilenberg-MacLane spaces are simplicial sets with infinitely many nondegenerate simplices in the relevant dimensions. For dealing with these, and with other infinitary objects derived from them in the course of the algorithm, we follow the paradigm of objects with effective homology developed by Sergeraert, Rubio, Real, Dousson, and Romero (see, e.g., [48, 43, 39, 44]; the lecture notes [45] provide the most detailed exposition available so far). Some of their results have never appeared in peer-reviewed journals; for example, for some of the operations needed in the present paper, we use methods described in some detail, as far as we know, only in Real's PhD. thesis [35] written in Spanish. For the purpose of polynomial-time computations, we replace effective homology with polynomial-time homology, as introduced in [25]. Thus, we need polynomial-time versions of all the required operations in effective homology. There is one case, namely, polynomial-time homology for the simplicial Eilenberg-MacLane space K(Z, 1), where we had to develop a new algorithm, since the classical one is not polynomial in general. This part is not provided here, but rather in the companion paper [25]; the methods used in that paper have flavor somewhat distinct from those employed here, and 6 we feel that a combined paper would be too extensive and cumbersome. In all other cases, we could rely on known algorithms. Verifying their polynomiality sometimes still requires nontrivial analysis and assumptions. Moreover, since the intermediate objects used in the algorithms are of somewhat unusual kind from the computer science point of view, we need to set up a suitable formal framework in order to make claims about polynomial running time. Applications. We consider the fundamental nature of the algorithmic problem considered here a sufficient motivation of our research (e.g., because [X, Y] is indeed one of the most basic objects of study in algebraic topology). However, we also believe that work in this area will bring various connections and applications, also in other fields, possibly including practically usable software, e.g., for aiding research in topology. A nice concrete application comes from the so-called ROB-SAT problem—robust satisfiability of systems of equations. The problem is given by a rational value a > 0 and a PL function f: K —> Rn defined by rational values on the vertices of a simplicial complex K. The question is whether an arbitrary continuous g: K —» Rn that is at most a-far from / (i.e., ||/ — S^-1, i.e., that ind(,S'd) = d. Generalizing the results in the present paper, it is shown in [8] that there is an algorithm that decides whether ind(X) < d, provided that d > 2 and dim(X) < 2d — 1; for fixed d the running time is polynomial in the size of X. The problem of computing ind(X) arises, among others, in the problem of embeddability of topological spaces, which is a classical and much studied area (see, e.g., the survey by Skopenkov [51]). One of the basic questions here is, given a fc-dimensional finite simplicial complex K, can it be (topologically) embedded in Rd? The celebrated Haefliger- Weber theorem from the 1960s asserts that, in the metastable range of dimensions, i.e., for k < §d— 1, embeddability is equivalent to 'md(K^) < d — 1, where K\ is a certain Z^-space constructed from K (the deleted product). Thus, in this range, the embedding problem is, computationally, a special case of Z^-index computation; see [28] for a study of algorithmic aspects of the embedding problem, where the metastable range was left as one of the main open problems. The Z^-index also appears as a fundamental quantity in combinatorial applications of topology. For example, the celebrated result of Lovasz on Kneser's conjecture can nowadays be re-stated as x{G) > ind(B(G)) + 2, where x{G) is the chromatic number of a graph G, and B{G) is a certain simplicial complex constructed from G (see, e.g., [27]). We find it striking that prior to [8], nothing seems to have been known about the computability of such an interesting quantity as m.d{B{G)). Indeed, some authors (e.g., Kozlov [23]) worked with a weaker, cohomologically defined index, in part because of suspicions that the Z^-index might be intractable. Implementation. As indicated above, another appealing research direction is the devel- 6A %2-space is a topological space X with an action of the group Z2; the action is described by a homeo-morphism v: X —> X with v o v = idx • A primary example is a sphere Sd with the antipodal action x 1—> —x. An equivariant map between Z^-spaces is a continuous map that commutes with the Z2 actions. 7 opment of a practical software for the problems considered in this paper. A particular solution, the Kenzo program written in Common Lisp by Francis Sergeraert and Xavier Dousson, maintained and extended with other collaborators, is freely available at http: //www-fourier.uj f-grenoble.fr/~sergerar/Kenzo/. The program implements the concepts of effective homology, and currently it enables the construction of the Postnikov stages as long as the homotopy groups involved are isomorphic to direct summands of copies of TL and %2- For instance, for spheres Sd, d > 2, the Postnikov stages Pq, Pi, ..., Pd+2 can be constructed (as well as homotopy groups iro(Sd),..., Tid+2{Sd) can be computed). The program Kenzo cannot compete with the current state-of-the-art computations of homotopy groups of spheres, where many special properties of the spheres are employed. Rather in an orthogonal fashion, it provides a general solution for essentially arbitrary spaces in low dimensions. A different piece of software is a package called HAP written by Graham Ellis extending the computer algebraic system GAP, see [13]. Among others, it provides homological computations related to Eilenberg-MacLane spaces. 2 Simplicial sets and chain complexes with polynomial-time homology 2.1 Preliminaries on simplicial sets and chain complexes Simplicial sets. A simplicial set is a way of specifying a topological space in purely combinatorial terms; we can think of it as an instruction manual telling us how the considered space should be assembled from simple building blocks. All topological spaces in the considered algorithms are going to be represented in this way. Simplicial sets can be regarded as a generalization of simplicial complexes; they are formally more complicated, but more powerful and flexible. We refer to [17, 49] for an introduction, to [9, 30] as compact more comprehensive sources, and to [18] for a more modern treatment. Similar to a simplicial complex, a simplicial set is a space built of vertices, edges, triangles, and higher-dimensional simplices, but simplices are allowed to be glued to each other and to themselves in more general ways. For example, one may have several 1-dimensional simplices connecting the same pair of vertices, a 1-simplex forming a loop, two edges of a 2-simplex identified to create a cone, or the boundary of a 2-simplex all contracted to a single vertex, forming an S2. Another new feature of a simplicial set, in comparison with a simplicial complex, is the presence of degenerate simplices. For example, the edges of the triangle with a contracted boundary (in the last example above) do not disappear, but each of them becomes a degenerate 1-simplex. A simplicial set A is represented as a sequence (Xq, X±, X2,...) of mutually disjoint sets, where the elements of A& are called the k-simplices of X (we note that, unlike for simplicial complexes, a simplex in a simplicial set need not be determined by the set of its vertices; 8 indeed, there can be many simplices with the same vertex set). For every k > 1, there are k + 1 mappings do,... ,dk- Xk —> Xk-i called face operators; the intuitive meaning is that for a simplex a 6 Xk, dio is the face of a opposite to the ith vertex. Moreover, there are k + 1 mappings sq, ..., s^: Xk —> Xk+i (opposite direction) called the degeneracy operators; the approximate meaning of Sjct is the degenerate simplex which is geometrically identical to a, but with the ith vertex duplicated. A simplex is called degenerate if it lies in the image of some sf, otherwise, it is nondegen-erate. We write Xnd& for the set of all nondegenerate simplices of X. We call X finite if Xnd& is finite (every nonempty simplicial set has infinitely many degenerate simplices). There are natural axioms that the di and the Si have to satisfy, but we will not list them here, since we will not really use them. Moreover, the usual definition of simplicial sets uses the language of category theory and is very elegant and concise; see, e.g., [18, Section 1.1]. Every simplicial set X specifies a topological space \X\, the geometric realization of X. It is obtained by assigning a geometric fc-dimensional simplex to each nondegenerate fc-simplex of X, and then gluing these simplices together according to the face operators; we refer to the literature for the precise definition. Simplicial maps. For simplicial sets X, Y, a simplicial map f: X —> Y is a sequence {fk)ki=o of maps fk : Xk —> Yk (every fc-simplex is mapped to a fc-simplex) that commute with the face and degeneracy operators, i.e., difk = fk-idi and Sifk = fk+isi- We let SMap(X, Y) stand for the set of all simplicial maps X —> Y. It is useful to observe that it suffices to specify a simplicial map /: X —> Y on the nondegenerate simplices of X; the values on the degenerate simplices are then determined uniquely. In particular, if X is finite, then such an / can be specified as a finite object. Every simplicial map /: X —» Y defines a continuous map p: \X\ —> \Y\ of the geometric realizations. There is a very important class of simplicial sets, called Kan simplicial sets, with the following crucial property: if Y is a Kan simplicial set and X is any simplicial set, then every continuous map p : \X\ —> \ Y\ is nomotopic to (the geometric realization of) some simplicial map f:X—>Y. This is essential in the algorithmic treatment of continuous maps. Here we omit the definition of a Kan simplicial set, since we will not directly use it. Chain complexes. Together with a simplicial set X, we will consider its associated normalized chain complex C*(X), but sometimes the algorithms will also need other types of chain complexes. For our purposes, it is sufficient to use the kind of chain complexes usually considered in introductory textbooks when defining homology and cohomology groups. Thus, in the sequel, a chain complex C* is a sequence (Ck)keZ °f free Abelian groups (in other words, free Z-modules), together with a sequence {dk~. Ck —> Cfc-i)fc|s °f group homomorphisms that satisfy the condition dk-\dk = 0.7 The Ck are the chain groups, their elements are called k-chains, and the dk the differentials. If c is a fc-chain, we sometimes say that the degree of c equals k. We will work only with chain complexes C* with Ck = 0 for all k < 0. We also recall that Zk = Zk{C*) := kerd/u C Ck is the group of cycles, Bk = Bk{C*) : = imdfc+i C Zk is the group of boundaries, and the quotient group Hk{C*) := Zk/Bk is the kth 7More generally, instead of Z-modules, one might consider modules over a commutative ring R, and they need not be free. Moreover, in the literature, the operations considered in Section 3 below are sometimes presented in a still more general algebraic setting, with differential modules replacing chain complexes. Here we prefer the more concrete setting of chain complexes, mainly in order to avoid burdening the presentation with additional notions. 9 homology group of the chain complex C*. For the normalized chain complex C*(X) of a simplicial set X mentioned above, the kth. chain group Ck(X) is the free Abelian group over X^d&, the set of all fc-dimensional nondegenerate simplices (in particular, Ck(X) = 0 for k < 0).8 This means that a fc-chain is a formal sum c = ^ aa - a, where the aa are integers, only finitely many of them nonzero. The differentials are defined in a standard way using the face operators: for fc-chains of the form 1 • a, which constitute a basis of Ck(X), we set dk(l • o) := Yli=o(~^-Y ' (some of the d-ia may be degenerate simplices; then they are ignored in the sum), and this extends to a homomorphism in a unique way ("linearly"). Let C* and C* be two chain complexes. We recall that a chain map f: C* —> C* is a sequence (fk)ke% of homomorphisms, fk- Ck —> Ck, compatible with the differentials, i.e., fk-idk = dkfk. A simplicial map f:X —> Y of simplicial sets induces a chain map /*: C*(X) —> C*(y) in the obvious way. Mapping cylinder and mapping cone. We recall two standard constructions for topological spaces, and then we mention their algebraic counterparts. Let /: X —> Y be a map of topological spaces. Then the mapping cylinder Cyl(/) is obtained by gluing the product ("cylinder") X x [0,1] to Y via the identification of (x,0) with f{x) £ Y, for all x G X, as the next picture indicates. The mapping cone Cone(/) is obtained from the mapping cylinder Cyl(/) by contracting the "top copy" of X, i.e., the subspace X x {1}, to a single point. We will not use these geometric constructions directly. In one of the proofs, we will need a simplicial version of the mapping cylinder, in a setting where X, Y are simplicial sets and / is a simplicial map, and we will introduce it at the appropriate moment. Otherwise, we will work exclusively with algebraic analogs of these constructions. Conceptually, they are obtained by considering how the chain complexes of Cyl(/) and Cone(/) are related to the chain complexes of X and Y and to the chain map /* induced by /, and then generalizing to arbitrary chain complexes and chain map. The resulting definitions are as follows. Let C*, C* be chain complexes and let tp: C* —> C* be a chain map. Then the (algebraic) mapping cylinder CyL.(fc(a) + 4(c), -a + <4(&)), where d is the differential of C* and d is the differential of C*. In a similar spirit, the (algebraic) mapping cone Cone„,( Cone* ( Cone„,( S* is a polynomial-time mapping if there is an algorithm A and a polynomial p(x) such that, for every input u G £*, the algorithm A outputs /(«) after at most p(|it|) steps, where |u| denotes the length (number of symbols) of u. It is easy to see that the composition of two polynomial-time mappings is again a polynomial-time mapping. (Here we use that if the computation of f(u) takes at most steps, then ^ P(M)> f°r otherwise, the algorithm for evaluating / would not have enough time to write f(u) down.) We will frequently use this fact, often without mentioning it explicitly. Encoding size. Thus, the notion of polynomial time is very straightforward, although not easy to study, for mappings assigning strings to strings. However, if we consider "real-life" computational tasks, such as testing whether a given natural number n is a prime, or computing tvij(Y) for a simplicial complex Y, then neither the input nor the output are a priori strings. In order to talk about the computational complexity of such tasks, we first need to specify some encoding of the input and output objects by strings. For testing primality, we thus need to specify an (injective) function enc: N —> S* assigning a string to every natural number (here we consider the encoding of the two possible outputs, YES and NO, as too trivial to discuss). The most usual choice is representing n by the standard binary notation; e.g., enc(17) = 10001. In this paper we assume binary encoding of all integers (unless stated otherwise). With this encoding, the possibility of primality testing in polynomial time is a celebrated recent result. However, if we chose a different, unary encoding enc', which represents n by a string of n ones, e.g., enc'(17) = 1111111111111111, then testing primality in polynomial time becomes very easy—we can afford to test all possible divisors from 2 to n — 1. This example illustrates that sometimes the choice of encoding 11 may be very significant. For discussing polynomial-time algorithms, we often do not need to specify the encoding function enc completely. Usually we suffice with the encoding size, where the size of an object a is size(a) = | enc(a)|, the number of bits in its encoding. In the above example with primality, we had size(n) = [1 + log2 n\ for the binary encoding and size'(n) = n for the unary encoding. We note that changes in the encoding that transform the size by at most a fixed polynomial, e.g., replacing size(a) with size'(a) = (37size(a) + 100)26, leave the notion of a polynomial-time mapping unchanged. Thus, for the purpose of developing polynomial-time algorithms, we usually need not describe the encoding in much detail. The encoding size of simplicial complexes and of Abelian groups. We recall that a finite simplicial complex Y can be regarded as a hereditary system of subsets of a finite vertex set V (hereditary meaning that if a G Y and a' C a, then a' G Y as well). For encoding such an Y, we can identify V with the set {1,2,... ,n}, and then represent Y as a list of all simplices, where each simplex is given by the list of vertices. Thus, if the dimension of Y is bounded by a constant (as we may assume in all of our results), size(Y) is bounded by a polynomial function of the number of simplices of Y, and so for the purpose of discussing polynomial-time algorithms, we may assume that size(Y) equals the number of simplices. The elements of the homotopy group ttu(Y) are, by definition, equivalence classes of pointed maps S*17 —> Y, and it is far from obvious how even a single such element could be represented by a string. However, our algorithm computes only the isomorphism type of the homotopy groups. (Computing a reasonable representation for the mappings corresponding to the generators of the homotopy group is currently an interesting open problem.) It is known that, for a finite simplicial complex Y and k > 2, Tik(Y) is a finitely generated Abelian group; this actually also follows from the analysis of our algorithm. A well-known structure theorem asserts that each finitely generated Abelian group tv can be represented as a direct sum W © (Z/mi) © (Ti/m2) © • • • © (Z/ms) of cyclic groups.10 We are going to encode it by the (r + s)-tuple m = (0, 0,..., 0, m\,..., ms), where m\,..., ms are encoded in binary. The reader may wonder why r is not encoded in binary as well. The reason is pragmatic; we will also be using finitely generated Abelian groups as inputs to certain auxiliary algorithms, and we would not be able to make these auxiliary algorithms polynomial with r encoded in binary. A heuristic explanation for this is that an element of W is an r-tuple of integers, and thus an encoding of such an element has size at lest proportional to r. If the encoding size of W were of order log2 r, then a polynomial-time algorithm working with W would not be able even to read or write any single group element. 9Here is another example, closer to our topics, of how the encoding may matter: If a simplicial complex K is given by a list of all of its simplices, as we are going to assume here, then computing the Euler characteristic X(K) is a trivial matter and can obviously be done in polynomial time. However, if K is specified by listing only the maximal simplices, and if we do not assume dimK fixed, then computing x(K) is #P-hard [41], and thus extremely unlikely to be polynomial-time solvable! 10Moreover, we may assume that the mi satisfy the divisibility condition mi|m2| ■ ■ ■ \ms, in which case these orders are determined uniquely from tv and thus describe its isomorphism type. r zeros Thus, we may take s i=l 12 This specification of encoding sizes gives a precise meaning to the polynomiality claim in Theorem 1.1. We note that the polynomiality of the algorithm also implies the (non-obvious) claim that, for k fixed, size(7Tfc(Y)) is bounded by a polynomial function of size(Y). 2.3 Locally polynomial-time simplicial sets and chain complexes In what sense do we construct a Postnikov system? As was mentioned after Theorem 1.2, the stages P& = PkiY) of a Postnikov system of Y can be regarded as approximations of Y, which are in some sense easier to work with than Y itself. The price to pay is that even if Y is a finite simplicial complex, the P& are simplicial sets that usually have infinitely many nondegenerate simplices in each dimension. In many areas where computer scientists seek efficient algorithms, the algorithms work with finite objects, such as finite graphs or matrices, and there is no problem with explicitly representing such objects in the computer memory. This contrasts with the situation for the Pfc, where we cannot produce the infinite list of all simplices of a given dimension explicitly. Thus, the question arises, in what sense we construct P& and how we can work with it. A complete answer is that we want to equip P& with polynomial-time homology, which is a notion defined later. For now, we give at least a partial answer: We certainly want to be able to inspect locally every given piece of P&. For example, for every fixed k and £, given any ^-dimensional simplex a of P&, and an integer i 6 {0,1, ■■■£}, we should be able to compute the ith face dia, the ith degeneracy sjct, and also the value kfc(cr) of the Postnikov class at a. Because of the infinite domains, the mappings di, Sj, and k& cannot be given by a finite table (somewhat exceptionally, the mapping ip^: Y —> P& could be represented by a table if Y is finite). Instead, each of them is going to be given as an algorithm. Thus, we are going to represent stage of the Postnikov system by a collection of algorithms, and similarly for various other infinite simplicial sets, chain complexes, and some other kinds of objects. In computer science, this is sometimes called a black box or oracle representation.11 Polynomiality. Since we want to use the stages of the Postnikov system in polynomial-time algorithms, such as the one in Corollary 1.3 (the computation of [X, Y]), we obviously want that the black boxes representing P& = PkiY) work in polynomial time. But some care is needed in formulating such a requirement. For example, let us consider the Postnikov class ki7, which is a simplicial map from Pyj into another simplicial set, namely, the Eilenberg-MacLane space K(tvis(Y), 19), to be introduced in Section 3.7. The simplices of P17, as well as those of K (tvis(Y) , 19), are canonically represented by certain ordered collections of integers (or sometimes elements of some TLjra), and it might happen that while size(cr) is a constant, size(ki7(cr)) also depends on the input simplicial complex Y and becomes arbitrarily large for some choices of Y.12 Then ki7( S* is defined, specifying an encoding of each element of I by a striny; we will refer to I as a parameter set. We define a parameterized simplicial set as a mappiny X that, for some parameter set I, assiyns to each I G X a simplicial set X(I). Sometimes we will write such a parameterized simplicial set as (X(I) : / G X). We also assume that an encodiny of simplices by strings has been fixed for each of the simplicial sets X(I). We say that such an X is a locally polynomial-time simplicial set if, for each k, there is an algorithm that, yiven I G I, a k-dimensional simplex a G X(I)k, and i G {0,1,..., k}, computes diO in time polynomial in size(J) + size(cr) (where the polynomial may depend on k), and there is a similar alyorithm for evaluatiny the deyeneracy operators sjct. Let (X(I) : 1 6 1) and (Y(I) : / G X) be parameterized simplicial sets with the same parameter set, and for each J £ I, let fj be a simplicial map X(I) —> Y(I). We say that f = (//: / G X) is a polynomial-time simplicial map X —» Y if for each k > 0, there is an alyorithm that, yiven I G X and a G X(I)k, computes //(c) in time polynomial in size(J) + size(cr).13 As was explained above, the main purpose of the parameterized setting is to make the polynomial bounds on the running time of the black boxes uniform in the input of the considered algorithms. Let us remark that for effective homology in the setting of Sergeraert et al. [45], where one only wants the existence of algorithms and does not analyze their running time, no uniformity and no parameterization is needed, and one can work with individual simplicial sets, each equipped with its own black boxes. We will see numerous examples of locally polynomial-time simplicial sets later on. Of course, the Postnikov stage P^ = P^iY), parameterized by the set of all finite 1-connected 13More generally, we might want to consider a simplicial map // that goes from X(F(I)) to Y(G(I)), for some polynomial-time computable maps F,G. By composing algorithms we may think of X(F(I)) and Y(G(I)) as simplicial sets parameterized by I and thus this seemingly more general notion can be interpreted as a polynomial-time simplicial map in our sense. 14 simplicial complexes, is going to be one such example. (However, Pk also has an additional structure besides being a locally polynomial-time simplicial set.) Another, rather simple, example is made of all finite simplicial sets, as will be discussed at the end of the present section. Others can be built from this one by applying various operations, such as products or twisted products, which will be considered later. Locally polynomial-time chain complexes. First, let (A (7) : I 6 I) be a locally polynomial-time simplicial set, and let C*(A(7)) be the normalized chain complex of A (7). This gives us a chain complex parameterized by I. The fc-chains of C*(A(7)) are finite sums of the form c = Yla-a^^o a°"'where the a are nondegenerate simplices of A(7)&, and we can represent such a c by a list of simplices and of the corresponding nonzero coefficients. Thus we naturally put size(c) := ^0-aCT^o(s'ze(cr) + size(acr))- For this representation, it is easy to check that the addition and subtraction of fc-chains, as well as the differentials, can be computed in time polynomial in size(7) plus the size of the chains involved. (For this, we need to observe that, given a simplex a £ A(7), we can test whether it is degenerate, since every degenerate a satisfies a = SidiO for some i.) We will also need to work with chain complexes that are not necessarily normalized chain complexes of simplicial sets. We will need that the chain groups are "effectively free," meaning that the chains are represented by coefficients w.r.t. some fixed basis. The following definition is a direct analog of the definition of a locally polynomial-time simplicial set, and it includes the normalized chain complex of a locally polynomial-time simplicial set as a special case. Definition 2.2 (Locally polynomial-time chain complex). Let X be a parameter set as in Definition 2.1, and let (C(7)* : 7 G X) be a parameterized chain complex, i.e., a mapping assigning a chain complex to each I G X. We say that such a parameterized chain complex is a locally polynomial-time chain complex if the following hold. (i) For each (7(7)* and each k, there is a basis Bas/u = Bas(7)/u of C{I)k (possibly infinite), which we call the distinguished basis14 of C{I)k, and whose elements have some agreed-upon encoding by strings. An arbitrary k-chain c £ C(I)k is (uniquely) represented as an integer linear combination of elements o/Bas(7)fc, i.e., by a finite list of elements of Bas(/)fc and the corresponding nonzero coefficients. (This also defines the encoding size for chains.) (ii) For every fixed k, there is an algorithm for evaluating the differential dk 0/(7(7)*, which computes <7/u(c) in time polynomial in size(7) + size(c). We note that in the representation of fc-chains as in (i), the chains c + d and c — d can be computed in time polynomial in size(c) + size(c'), even without including size(7). If ((7(7)* : 7 G X) and ((7(7)* are parameterized chain complexes, then, in com- plete analogy with polynomial-time simplicial maps in Definition 2.1, we define a polynomial-time chain map tp = (ipi)iex'- (7* —> C*, where each ipj is a chain map C{I)* —> (7(7)*, such that for each fixed k, (ipi)k(c) can be computed in time polynomial in size(J) +size(c). Changing the parameter or: preprocessing. Let (A(J) : J G J) be a parameterized simplicial set, and let F: X —> J be a polynomial-time mapping of another parameter set X into J. Then we can define a new parameterized simplicial set (A(I) : I G I) by A(7) : = X(F(I)); if A is locally polynomial-time, then so is A. 14Chain complexes with a distinguished basis for each chain group are sometimes called cellular. 15 In our algorithms, X can often be regarded as a version of X "with preprocessing". For this, the parameter J will typically be of the form (/, G(I)), where / is the original parameter and G is some polynomial-time map. Here G(I) represents some auxiliary data computed from /. For example, if we regard the Postnikov stage Pk(Y) as parameterized by the finite simpli-cial complex Y, then by Definition 2.1, the algorithm for evaluating diO receives Y and a as input. Thus, each time we want to know the ith face of some simplex, all of the computations are done from scratch. In the algorithm from Theorem 1.2 for constructing a Postnikov system, we will proceed differently: given Y, we first compute, once and for all, some data based on Y, such as the first k homotopy groups of Y. Then we will represent P& using these data (concretely, as a twisted product of suitable Eilenberg-MacLane spaces), instead of the "raw" representation by Y, so that these computations can be reused in all subsequent computations of face operators in Pfc. This will make the computation of the face operators and other operations with the Postnikov system much more efficient, although if we care only about the distinction polynomial/non-polynomial, both ways are equivalent. Keeping the parameters implicit. Although a locally polynomial-time simplicial set (X(I) : / G X) is defined as a mapping assigning a simplicial set X{I) to every value of /, in most cases we can think of it as a single simplicial set X. The exact nature of the parameter / usually does not matter; it may be useful to keep in mind that X is actually parameterized, but in most of the subsequent discussion, we will suppress the parameter. This is in agreement with the common practice in the literature on polynomial-time algorithms, where phrases like "the resulting graph has a polynomial size" are used, which are also formally imprecise but easily understood. Converting finite simplicial complexes into simplicial sets. Here we make a slight digression and describe how a finite simplicial complex, which is one of the possible kinds of inputs for our algorithms, is (canonically) converted into a simplicial set. Given a finite simplicial complex K, the corresponding simplicial set SSet(.K'), which in particular has the same geometric realization as K and thus specifies the same topological space, is defined as follows. The fc-dimensional nondegenerate simplices of SSet(.K') are just the fc-simplices of K, with the face operators defined in the obvious way. It remains to specify the degenerate simplices and the face and degeneracy operators on them. For this, we can use a standard fact about simplicial sets: every degenerate simplex r can be expressed as • • • Si±a, where a is a uniquely determined nondegenerate simplex of X and i\ < ?2 < • • • < it is a uniquely determined sequence of integers. Thus, we can represent r by a and ii,... ,it. With this representation, the face and degeneracy operators can be evaluated by simple rules; see, e.g., [17, 30]. (Also see [17, Section 3] for another, simpler way of adding degenerate simplices to a simplicial complex.) Then (SSet(.K') : K £ TSC) forms a locally polynomial-time simplicial set, whose parameter set TSC consists of all finite simplicial complexes. More generally, we can consider the family of all finite simplicial sets, which are given by lists of nondegenerate simplices for each of the relevant dimensions and tables specifying the face operators, and where the degenerate simplices and degeneracy operators are represented as above. Then the identity map on TSS forms a locally polynomial-time simplicial set. 16 2.4 Reductions, strong equivalences, and polynomial-time homology It turns out that the notion of locally polynomial-time simplicial set is too weak for most computational purposes. We can inspect such a simplicial set locally, but it is in general impossible to compute useful global information about it, such as homology groups or homotopy groups. Here we introduce a stronger notion of simplicial set with polynomial-time homology, modeled after simplicial sets with effective homology due to Sergeraert et al. This is a (parameterized) locally polynomial-time simplicial set X whose normalized chain complex C*(X) is, moreover, associated with another, typically much smaller chain complex EC*, which we can think of as a rinitary approximation of C*(X). (The notation EC* follows [45], and it should suggest that EC* is an "effective version" of C*.) The chain groups EC'k have polynomially many generators for every fixed k, and thus we can compute each homology group Hk(EC*) in polynomial time. The association of EC* with C*{X) is such that these homology computations in EC* can be "pulled back" to C*{X). We will now define the properties of EC* and the way it is associated with C*{X) in detail. Definition 2.3 (Globally polynomial-time chain complexes). A globally polynomial-time chain complex is a locally polynomial-time chain complex (EC(I)* : J 6 1) such that, for each fixed k, the chain group EC(I)k is finitely generated, and there is an algorithm that, given Igl, outputs the list of elements of the distinguished basis Bas(/)/u of EC(I)k, in time bounded by a polynomial in size(J) (and in particular, the rank of EC(I)k is bounded by a polynomial in size(J)). We note that, for a globally polynomial-time EC* and each fixed k, we can compute the matrix of the differential dk: ECk —> ECk-i w.r.t. the distinguished bases in polynomial time—we just evaluate dk on each element of the distinguished basis Bas/u. Then the homology groups Hk(EC*) is computed using a Smith normal form algorithm applied to the matrices of dk and dfc+i, as is explained in standard textbooks (such as [32]). Polynomial-time algorithms for the Smith normal form are nontrivial but known [21]; also see [55] for apparently the asymptotically fastest deterministic algorithm. Globally polynomial-time Abelian groups. By the above, we can compute Hk(EC*) in polynomial time. We represent its isomorphism type15 in the usual way, as a direct sum W © (Wj/rrii) © (Z/m2) © • • • © ifE/ms). But in our algorithms, we are not interested just in knowing this description of the homology group; we will also need to work with its elements, with homomorphisms into it, etc. Moreover, since the chain complex EC* is parameterized, the homology group Hk(EC*) should be regarded as parameterized as well (and similarly for homotopy groups of parameterized simplicial sets). We thus define a globally polynomial-time Abelian group in analogy with a globally polynomial-time chain complex. First, let M be the set of all (r + s)-tuples m = (0, 0,..., 0, m\,..., ms) specifying isomorphism types of finitely generated Abelian groups in the way introduced in Section 2.2. For m G M, let Ab(m) be the group W © (Z/mi) © • • • © (Z/ms), with elements represented by (r + s)-tuples (a±,..., ar+s), a±,... ,ar 6 TL, ar+i £ TLjrrii. Here Ab(m) can be regarded as a canonical representation of an Abelian group with the isomorphism type m. Now we define a parameterized Abelian group and locally polynomial-time Abelian group in an obvious analogy with the corresponding notions for simplicial sets and chain complexes. 15To get a bijective correspondence with isomorphism types, we should ask for divisibility mi ■ ■ ■ \ms. We do not care about uniqueness, however, and thus we will not require this. 17 A globally polynomial-time Abelian group (tt(I) : / G X) is a locally polynomial-time Abelian group equipped with a polynomial-time algorithm that, given / G X, returns an m G M specifying the isomorphism type of ir(I), and with a polynomial-time isomorphism of ir(I) with Ab(m). In more detail, in time polynomial in size(J) we can compute a basis (pi, 625 • • • > ^r+s) of it (I) such that 6j generates the ith cyclic summand isomorphic to TL (for i < r) or Z/mj_r (for i > r) in an expression of 7r(/) as a direct sum. Moreover, given an arbitrary element a G tt(I), in time polynomial in size(J) + size(a) we can compute the coefficients a±,..., ar+s such that a = Yll=i ai^i- This provides the isomorphism it (I) —> Ab(m), and the inverse mapping is also obviously polynomial-time computable. We now consider the globally polynomial-time chain complex EC* parameterized by I. We want to regard Hk(EC*) as a globally polynomial-time Abelian group parameterized by X. To this end, we need that the computation of Hk(EC(I)*) returns its isomorphism type m, and also fixes an isomorphism of Hk(EC(I)*) with Ab(m). Such an isomorphism is naturally obtained from the Smith normal form algorithm.16 In this way, Hk(EC*) becomes a globally polynomial-time Abelian group parameterized by I. Moreover, given a chain z G Zk(EC(I)*), we can compute in polynomial time the corresponding homology class [z] G Hk(EC(I)*). This defines a polynomial-time homomor-phism Zk(EC*) —> Hk(EC*), also parameterized by X. Slightly more generally, given a chain c G EC'k, we can decide whether c is a cycle, and if yes, compute [c]. Moreover, if [c] is zero, that is, if c is a boundary, we can also compute a "witness," i.e., a (k + l)-chain b with c = dk+ib. Conversely, given h G Hk(EC*), we can compute a representing cycle, i.e., z G Zk(EC*) with [z] = h. All of these calculations are easily done in polynomial time using the Smith normal form of the matrices of the differentials. Reductions. Now we start discussing the way of associating a "small" chain complex EC* with a "big" chain complex C*. First we deal with the usual setting of homological algebra, where we consider individual chain complexes, rather than parameterized ones, and then we add some remarks on transferring the notions to the setting of parameterized chain complexes and maps. The most common way in algebraic topology of making two chain complexes C* and C* "equivalent" is chain homotopy equivalence, but for effective homology and polynomial-time homology, it is more convenient to use two special cases of chain homotopy equivalences, namely, reduction and strong equivalence. If /, g: C* —> C* are two chain maps, then a chain homotopy of / and g is a sequence (^fc)fcez °f homomorphisms, where h^: Cj. —^ C^+i (raising the dimension by one), such that gk — fk = dk+ihk + hk-idk- Chain maps and chain homotopies can be regarded as algebraic counterparts of continuous maps of spaces and their homotopies, respectively. In particular, two chain-homotopic chain maps induce the same map in homology. Definition 2.4 (Reduction17). Let C* and C* be chain complexes. A reduction p from C* to C* consists of three maps f = (fk)ke%,9 = (fllfc)fcez, h = [hk)k(i%, such that 16Formally, for this we need the Smith normal form algorithm to be deterministic, so that it always returns the same isomorphism for a given I (which need not be true for a randomized algorithm, for example). However, in an actual implementation, this issue does not arise, since anyway we want to store in memory the Smith normal form once computed for a given /, in order to avoid repeated computations. 17In a part of the literature, other notions such as chain contraction or strong deformation retraction are used instead of the word reduction. For instance Eilenberg and Mac Lane [11, Section 12] use the word contraction, while reduction has a different meaning there. 18 (i) /: C* —> C* and g: C* —> C* are chain maps; (h) i/ie composition fg:C* —> C* is equal to the identity id^ , while the composition gf:C* —> C* is chain-homotopic to idct, with h: C* —> C* providing the chain ho-motopy, i.e. \&c, ~9f = dh + hd; and (iii) fh = 0, hg = 0, and hh = 0. We write C* =757> C* i/ i/iere is a reduction from C* to C*. A reduction C* C* can be depicted by the following diagram: / Intuitively, such a reduction is a tool that allows us to reduce questions about homology of a "big" chain complex C* to questions about homology of a "smaller" chain complex C*. In particular, the existence of a reduction C* C* implies that Hk(C*) = Hk(C*) for all fc. It is easily checked that (f,g,h) is a reduction C* C* and (f',g',h') is a reduction C* C*, then there is a reduction C* C*, namely, (/'/, gg' ,h + gh! f) (see, e.g., [45, Proposition 59]). We will also need a (straightforward) extension to composing a larger number of reductions (the proof is omitted). Lemma 2.5. Let ..., be chain complexes, and let pW = (f^\ h^) be a reduction C*+1\ i = 1, 2,..., n— 1. T/ien i/ie reduction (/, 5, ft): C'i1'' =H> C'i™'' obtained by composing these reductions is given by f = y(n-1)y(n-2) ... _f(1); g = g^g^ ■ ■ ■ g^n~l\ and h = hM + gMh®fW + ■■■+ gUg® ■ ■ ■ g^h^f^ ■ ■ ■ /«. Strong equivalences. While reductions C* C* C* compose to a reduction C* =H> C*, in some constructions one naturally arrives at a different kind of situation: C* 44= C* =^ C*. (2) Here we have no natural way of composing the reductions to obtain a reduction between C* and C*. For algorithmic purposes, we regard the situation (2) as a primitive notion, called strong chain homotopy equivalence or just strong equivalence. Definition 2.6 (Strong equivalence). A strong equivalence of chain complexes C* and C*, in symbols C* C*, means that there exists another chain complex C* and reductions C* V\- C* —'t*T* . Lemma 2.7. Strong equivalence is transitive: if C* C* and C* C*, i/ien C* Proof. There are several proofs available. One of them follows [45, Proposition 124] (using the algebraic mapping cylinder). Another possibility is to regard reductions as special cases of chain homotopy equivalences, which are closed under composition, and then show that a 19 chain homotopy equivalence can be converted into a strong equivalence, also using a suitable mapping cylinder—see, e.g., [3], [38, Sec. 3]. Here we offer yet another short proof. Let us consider strong equivalences C* <£= A* C* and C* <£= C*. In view of Lemma 2.5 it is suffices to exhibit a strong equivalence A* « » A'^. Let the reduction A* C* be (f,g,h) and let the reduction A^ C be (f',g',h'). We construct a new chain complex D*, the double mapping cylinder of the pair of maps A* C* A^ (this construction is analogous to the mapping cylinder introduced earlier). Its chain groups are Dk := Ak © © A'k and the differential is given by dD(a, c, a') := (d(a) — g(c), —d(c), d'(a') + g'(c)) (where d, d, d! are differentials in A*, C*, and A^, respectively). It is easily checked that indeed forms a chain complex. We now describe a reduction (F, G, H): D* A*; we set F(a, c, a') :=a + gf'(a'), G{a) = (a, 0, 0), H(a, c, a') = (0, f'(a'), h'(a')). The reduction (F', G', H'): D* A^ is obtained almost symmetrically as F'(a, c, a') := a' + g'f(a), G'(a') = (0, 0, a'), H'(a, c, a') = (h(a), -f(a), 0). Checking that both (F,G,H) and (F',G',H') are indeed reductions is routine and we omit it. □ Polynomial-time reductions and strong equivalences. Let (C(/)* : I G X) and (C(/)* : I 6 2) be two locally polynomial-time chain complexes with the same parameter set. A polynomial-time reduction of C* to C*, in symbols is a triple p = (f,g,h). Here / = (fi)iex is a polynomial-time chain map y , g — (gi)lel is a polynomial-time chain map C* —> C*, and ft = (hj)jex is a polynomial-time chain homotopy C* —?► C*, defined in obvious analogy with a polynomial-time chain map. For each I, (fi,gi, hj) form a reduction C(I)* C(I)* according to Definition 2.4. Similarly, we define a polynomial-time strong equivalence of two locally polynomial-time chain complexes, C* <<4=44> C*, with the middle chain complex also locally polynomial-time and with the same parameterization as C* and C*. By the fact that a composition of any constant number of polynomial-time maps is polynomial-time, it is easy to check that the proof of Lemma 2.7 yields the following. Corollary 2.8. Polynomial-time strong equivalence of locally polynomial-time chain complexes is transitive: C* 44=W and C* <<4=44> implies C* C*. Polynomial-time homology. With the notions of polynomial-time strong equivalence and globally polynomial-time chain complex, the definition of polynomial-time homology is now straightforward. 20 Definition 2.9 (Chain complexes and simplicial sets with polynomial-time homology). We say that a parameterized chain complex C* is equipped with polynomial-time homology if C* is locally polynomial-time and there are a ylobally polynomial-time chain complex EC* and a p polynomial-time strony equivalence C* EC*. A parameterized simplicial set X is equipped with polynomial-time homoloyy if X is locally polynomial-time and its normalized chain complex C*(X) is equipped with polynomial-time homoloyy. We should perhaps stress that equipping a parameterized simplicial set X with polynomial-time homology does not mean only the ability of computing the homology groups of X(I) in time polynomial in size(J) (for every fixed dimension); this ability is a consequence of polynomial-time homology, but in itself it would not be sufficient. For one thing, if X is equipped with polynomial-time homology, then for C*(X) we can do all of the computations mentioned after Definition 2.3: finding a representative of a given homology class, the homology class of a given chain, and a witness for being a boundary. Moreover, the definition of polynomial-time homology, following the earlier notion of effective homology by Sergeraert et al., is designed so that it has the following meta-property: ifX«,...,xW are simplicial sets equipped with polynomial-time homology and $ is a "reasonable" way of constructing a new simplicial set from t old ones, then the simplicial set ^(X^\ ..., X^) can also be equipped with polynomial-time homology (some of the constructions also involve polynomial-time simplicial maps, polynomial-time chain maps, etc.). Of course, this is only a guiding principle, and for every specific construction <3? used in our algorithm, we need a corresponding result about preserving polynomial-time homology by <3?. The next section is devoted to such results. The reader may also wonder what are homology computations good for in algorithms for computing homotopy groups and Postnikov systems. The connection is via the Hurewicz isomorphism, which in its simplest form asserts that, for a 1-connected space Y, the first nonzero homotopy group of Y occurs in the same dimension as the first nonzero homology group, and these two groups are isomorphic. Thus, roughly speaking, to find Tik(Y), the Postnikov system algorithm "kills" the first k — 1 homotopy groups of Y by constructing the mapping cone of ifk-i '■ Y —> Pk-i with polynomial-time homology, and then it computes the appropriate homology group of this cone. Let us remark that in [25], polynomial-time homology was defined using only reductions, rather than strong equivalences (since strong equivalences were not needed there). Of course, a reduction is a special case of strong equivalence, so the definition here is more permissive. 3 A toolbox of operations for polynomial-time homology In this longish section we will build a repertoire of algorithmic operations on simplicial sets and chain complexes, in such a way that if the input objects come with polynomial-time homology, the output object is also equipped with polynomial-time homology. As was mentioned in the introduction, we mostly review known methods, developed for effective homology and based on much older work by algebraic topologists. We try to make the presentation streamlined and mostly self-contained, and in particular, we describe the algorithms in full, sometimes referring to the literature for details of proofs. Moreover, there are places where polynomiality requires extra analysis or assumptions; most notably, Section 3.1 21 (products of many factors) and Section 3.8 (polynomial-time homology for K(Z/m, 1)) contain some new material. For the rest of the paper, we will use only three specific results of this section: Proposition 3.8 (mapping cone), Corollary 3.18 (a certain pullback operation), and Theorem 3.16 (polynomial-time homology for Eilenberg-MacLane spaces). But we will also need some of the notions and simple facts introduced here. Let us remark that some of the operations can be implemented in several different ways. For example, polynomial-time homology for K(Z/m, 1) can most likely be obtained directly by modifying the method of [25] used for K(Z, 1), and for the passage from K(tt, k) to K(tt, k+1), one could also use the method in [35, Chap. 4] (also see [1]). Our main criterion for selecting among the various possibilities was simplicity of presentation and general applicability of the tools. Moreover, the chain complexes that appear naturally during our construction of Postnikov systems can often be equipped with an additional algebraic structure. For instance the chain complex C*{K{jT,k)) has a structure of the so-called Hopf-algebra; that is, C*{K{jT,k)) is endowed with an algebra and a coalgebra structures that are compatible in some strong sense. The structure is often "transferred" through the chain equivalences to the globally polynomial-time counterparts. As was suggested by a referee, it is possible that using this additional structure might lead to an algorithm more efficient in practice. The polynomial running-time bounds might also improve, and so investigating the algorithmic use of these additional structures is a worthwhile research direction. On the other hand, in view of the W[l]-hardness result [29] mentioned above, such improvements cannot remove the dependence of the degree of the polynomial on k. Thus, since our goal at this stage is to get polynomial-time algorithms, and in order to keep the presentation simple, we do not discuss these additional algebraic structures in this paper. 3.1 Products We recall that the product X x Y of simplicial sets A and Y is the simplicial set whose fc-simplices are ordered pairs ( C*(Y), and which goes back to Eilenberg and Mac Lane [11, 12]. The proof immediately shows that polynomial-time homology for A, Y yields polynomial-time homology for X x Y. However, this works directly only for products of two, or constantly many, factors, while we need to deal with products A^1** x • • • x X^ of arbitrarily many factors. There the situation with polynomiality is somewhat more subtle, and we will actually need an additional condition 18To be precise, the product of topological spaces on the right-hand side should be taken in the category of fc-spaces; but for the spaces we encounter, it is the same as the usual product of topological spaces. 22 on the X^'s in order to obtain polynomial-time homology. We begin with defining the notion needed for the extra condition. Definition 3.1 (fc-reduced). A simplicial set X is fc-reduced, where k > 0 is an integer, if X has a single 0-simplex (vertex) and no nondegenerate simplices of dimensions 1 through k. We call a chain complex C* fc-reduced if Cq = TL and d = 0 for 1 < i < k. We remark that fc-reducedness is a very useful property of simplicial sets, which has no analog for simplicial complexes. For example, being fc-reduced is an easily checkable certificate for ^-connectedness. Proposition 3.2 (Product with many factors). Let (X(I) : / 6 I) be a simplicial set with polynomial-time homology. Let us form a new parameter set J = UnLi^-n> where Xn is the n-fold Cartesian product, and let (W(J) : J G J) be the parameterized simplicial set of products, with W(h, I2, ■ ■ ■, In) := X(Ii)x - ■ -xX(In). For J = (T,..., In) G J, lets\ze(J) = ^™=1 size(/j), and for a simplex a = (a±,..., an) G W(J), let size(cr) = Y^i=i size(crj). Let us also assume that all the X(I) and all the chain complexes witnessiny polynomial-time homoloyy for X are 0-reduced. Then W can be equipped with polynomial-time homoloyy. For reasons of "uniform polynomiality", we needed to assume that the factors in the considered products are all instances of a single parameterized simplicial set. However, as we remarked above, the product of a constant number of arbitrary, possibly different, simplicial sets with polynomial-time homology can be equipped with polynomial-time homology. This allows us to obtain polynomial-time homology for products where all but a constant number of factors are 0-reduced and come from the same parameterized simplicial set, while the remaining factors are arbitrary. In the forthcoming proof, for brevity, we are going to write X^ instead of X(Ii), and use similar abbreviations for chain complexes. Tensor products. Before discussing the proof, we need some preparations concerning tensor products. Let and be chain complexes, and suppose, as we do for locally (i) (i) polynomial-time chain complexes, that each chain group Ck has a distinguished basis Bas^, . Then the tensor product T* := 0 can be defined as the chain complex in which T\. is the free Abelian group over the distinguished basis Basfc := {61 (g> 62 : h G BasJ^, 62 G Basj^, k\ + k2 = k}. Here we may regard b\ (g> 62 just as a formal symbol. For arbitrary chains c\ G CJ^\ (2) c2 G Cf. , k\ + ^2 = k, the fc-chain c\ (g> C2 is then defined using linearity of (g> in both operands, as the appropriate linear combination of the elements of Bas/u. The differential in T* is given on the elements of Bas/u by dk{bi ® 62) := d^(h) ®b2 + (-l)klh 0 4?(&2), (3) where as above, ki = deg(frj). Next, let us consider the tensor product T* := (g> • • • <8> C*1^ of many factors. The distinguished basis Bas/u now consists of elements b\ (g> • • • (g> bn, with each 6j an element of a distinguished basis in C* \ Y17=i deg(frj) = k. Hence the rank of T\. equals n rank(Tfc) = £ []rank(Cif)- (4) fciH-----hkn=k i=l 23 Thus, if many of the C« are not 0-reduced, already rank(To) is exponentially large; for example, if each is TL © TL, then rank(To) = 2n. This is the basic reason why we need the (i) O-reducedness conditions in Proposition 3.2. If, on the other hand, all the C* s are 0-reduced, then so is T*. The key to the polynomial-time bounds we need is the following lemma. Lemma 3.3. Let (C(I)* : J 6 1) be a locally polynomial-time chain complex, with all the C(I)* 0-reduced, let J be the parameter set as in Proposition 3.2, and let (T(J)* : J G J) be the parameterized set of tensor products, with T(p,..., = ©• • ■®C*l"> (where C*^ abbreviates C(Ii)*), and with the same definitions of encoding sizes as in Proposition 3.2. Then T* is also 0-reduced and locally polynomial-time, and given chains c\ G with Y17=i ^ = ^> the k-chain c\ © • • • © cn can be computed (i.e., expressed in the distinguished basis ofTk(J)) in time polynomial in size(J) + Y27=i size(cj), assuming k fixed. Proof. To show that the differential dk of T* is a polynomial-time map, it is enough to consider computing it on elements b\ © • • • © bn of the standard basis. By iterating the differential formula (3), we can express dk(b± © • • • © bn) as a sum of n terms of the form ±ci ©•••©£„, where each Cj is either 6j or d^ipi). For evaluating this sum it is thus sufficient to be able to evaluate c\ © • • • © cn in polynomial time, as in the second claim of the lemma. As for this second claim, we use the observation that if deg(ci © • • • © cn) = k, then all but at most k of the Cj's have degree 0. Suppose that only c±,..., c& have nonzero degrees. Then we can compute c\ © • • • © c& in a straightforward way (at most Yii=i size(c^) basis elements are involved, which is polynomially bounded for fixed k). Then the tensor product of the result with Ck+i ©•••©£„ amounts just to multiplying all coefficients by a number (since Cq = • • • = Cq = TL by the O-reducedness assumption) and renaming the basis elements appropriately. □ Proof of Proposition 3.2. We basically follow a proof for the case of effective homology (where it is enough to deal with two factors). There are two main steps, encapsulated in the following two lemmas, which together imply the proposition via Corollary 2.8 (composing strong equivalences). Lemma 3.4 (Tensor product of strong equivalences). Let (C(I)* : / £ T) and (C(I)* : / G T) be a locally polynomial-time chain complexes, let (EC(I)* : / G T) be a globally P ^ P polynomial-time chain complex, and suppose that a strong equivalence C* C* EC* is given, with all the chain complexes involved 0-reduced. As in Lemma 3.3, let T*, T*, ET* be the parameterized chain complexes of tensor products with factors from C*, C*, and EC*, respectively. Then ET* is globally polynomial-time and there is a strong equivalence T* 44= T* =2t> ET*. Lemma 3.5 (Eilenberg-Zilber for many factors). Let (X(I) : / G T) be a 0-reduced locally polynomial-time simplicial set, let (W(J) : J G J) be the parameterized set of products as in Proposition 3.2, and let (T(J)* : J G J) be the parameterized chain complex of the tensor-products c*(x^)(g)- ■ -©c*(A:(n)) as in Lemma 3.3. Then there is a polynomial-time reduction C*(W)^T*. Proof of Lemma 3.4- We know from Lemma 3.3 that T*, T*, and ET* are locally polynomial-time. To check that ET* is globally polynomial-time, let us consider the chain group ET(J)k, 24 J = ... ,In). Since EC* is globally polynomial-time, there is a polynomial p such that iank(EC(Ii)j) < p(size(ij)) < p(size(J)) for all J and all j < k. Setting N := p(size(J)), by the O-reducedness assumption and the rank formula (4) we get rank(£T(J)fc) < (n+^1)7Vfc, which is bounded by a polynomial in size(J) > n. Generating the distinguished basis of ET{J)k in polynomial time is done by a straightforward combinatorial enumeration algorithm. We conclude that ET* is globally polynomial-time. ^ P / ^ P It remains to provide a polynomial-time reduction T* (then T* ET* is obtained in the same way). We consider f*( J) = C^ ® • • • ® C^l\ J = (Iu ..., /„), ci° = (%(/*), and let pW = (F^\ H^1) be the reduction C'i*'' obtained from the assumption C* C* (we use capital letters to avoid conflict with the notation of Lemma 2.5). The desired reduction T*{J) T*{J) goes through the intermediate chain complexes Ci1] 0 • • • 0 C^-V ® C*(0 0 • • • 0 dn), i = 1,... ,n, and the ith of these chain complexes is reduced to the (i + l)st one with the reduction that is the tensor product with pi as the ith factor and the identities in all the other factors. Specializing the formulas from Lemma 2.5 for composing reductions, we obtain the reduction (Fj,Gj,Hj) : C*(J) C*(J) with Fj = F« ® • • • F(n), Gj = G« ® ■ ■ ■ G^, and Hj = ®id®--- (g>id+G(1)F(1) «fl'2' ®id®--- ®id + --- (Tensor products of chain maps are defined as expected, via (/ (g> g){a (g> 6) = /(a) 0 ■- C*(XU) 0 • • • 0 C,{X^) 0 C*(X« x • • • x I'"'). Let (f®,g®,h®) be the reduction D(J+1). We have /« = id®-- - ®id®AWw, g(i) = id ® • • • ® id (gEML«, and = id • • • id ®SfflW, where (AW^, EML«, SfflW) is the Eilenberg-Zilber reduction C*(X« x Z«) C*(X«) ® C*(ZW), with Z« := x • •• x xK 19The explicit formula for the operator SHI was found by Rubio [42] and proved by Morace—see the appendix in [37]. 25 Now f^\g^\ are polynomial-time by Lemma 3.3, and so in order to verify the polynomial! ty of the composed reduction, using the formula in Lemma 2.5, it suffices to check polynomiality of the compositions • • • and g^g^ ■ ■ ■ g^'l\ i = 1, 2,..., n — 1. For simpler notation, we will discuss only the case i = n — 1, but the case of arbitrary i is the same. Let (<7j, T{) be a fc-dimensional simplex of x Z^, which we also consider as a generator of C*(X« x Z«). According to [19], we have fc AWW (ctj, tj) = ^ dj+i • • • dkai 9o---9,-1-i9,-2+i---9fc-j1o-2 0 <90 • • • dh-idQ ■ ■ ■ dj2-iT$j. Continuing in a similar manner, we obtain /(n-1)---/(1)((7i,... ,an) as the sum 0 sa denotes the composition SjqSjq_1 ■ ■ ■ Sj of degeneracy operators, and similarly for sp. The sign ± depends on a and /3 in a simple way, and we do not want to bother the reader with specifying it (see [19]). By iterating this formula, we find that, for a fc-simplex oi (g> • • • <8> C* be a chain map of a chain complex into itself. We say that / is nilpotent if for every c £ Ck, k G TL, there is some n such that (fk)n{c) = 0, where (/fc)n is the n-fold composition of with itself. Now if C* is a parameterized chain complex, we say that / has constant nilpotency bounds if for every k there exists N = Nk, depending on k but not on the value of the parameter, such that (fk)N is the zero map. Theorem 3.6 (Basic perturbation lemma). Let (f,g,h) be a reduction C* C*, let be a chain complex with C'k = Ck for all k and with differential d', and let us set 8 := d! — d. If the composed map hS is nilpotent, then there is a chain complex C'^ with the same chain groups as C* and with a modified differential d!, and a reduction C*. If C* and C* are locally polynomial-time chain complexes, (f, g, h) is a polynomial-time reduction, 8 is a polynomial-time map, and the composition hS has constant nilpotency bounds, then d' is polynomial-time and Proof. The proof of the existence statement, presented, e.g., in [45, Theorem 50], provides explicit formulas for d' and for the desired reduction (f',g',h') : C£ C^. Namely, using auxiliary chain maps tp and ip defined by oo oo i=0 i=q we have d' := d + fipSg, f := f^p, g' = tpg, and h! := (ph. If hS has constant nilpotency bounds, then so has Sh, and for each fixed k, the number of nonzero term in the sums defining ip(c) and ij)(c), with c £ Ck, is bounded by a constant depending only on k but not on c. The claim about polynomiality follows. □ 20Let us remark that there are many variants, extensions, and generalizations of the basic perturbation lemma in the literature, whose usefulness is by far not restricted to an algorithmic context. 27 The basic perturbation lemma propagates the perturbation of the differential in the direction of the reduction arrow. If we have a strong equivalence C* <£= C* C* and we want to perturb the differential of C*, we first need to propagate the perturbation to C*, i.e., against the direction of the reduction. The next lemma tells us that this can always be done; actually, only the differential in C* needs to be modified, the reduction stays the same. We omit the easy proof—see [45, Proposition 49]. Lemma 3.7. Let (f,g,h) : C* C* be a reduction, and let C* be obtained from C* by perturbing the original differential d to d! = d + 8. Then (f,g,h) is a reduction C* C'*, where C* is obtained from C* by perturbing the original differential d to d' := d + gSf. Thus, under favorable circumstances, if a parameterized chain complex C* is equipped with polynomial-time homology, the combination of the basic perturbation lemma and Lemma 3.7 allows us to obtain polynomial-time homology for the perturbed chain complex C*. 3.3 Mapping cone Here we consider the mapping cone operation for chain complexes, as introduced in Section 2.1. Proposition 3.8 (Algebraic mapping cone). If C*,C* are (parameterized) chain complexes with polynomial-time homology and p: C* —» C* is a polynomial-time chain map, then the cone Cone*(c.) Cone*(°EG\^EcJ> this is just a direct sum construction. Next, we regard Cone*(p) as a perturbation of Cone^O^ ). Then we propagate the perturbation through the strong equivalence; in the application of the basic perturbation lemma, it turns out that the nilpotency of the relevant maps is bounded by 2 (independent of k). We refer to [45, Theorems 61,79] for details. □ We remark that the strong equivalence Cone*( EC*. This follows at once from the explicit formulas in the basic perturbation lemma and Lemma 3.7 and the fact that the involved perturbation is zGro on . 28 3.4 Twisted product On fiber bundles. Our main goal is the computation of a Postnikov system for a given space Y. As we have mentioned, the kth stage of a Postnikov system can be thought of as an approximation of Y, in a homotopy-theoretic sense, made of simple building blocks, which are called Eilenberg-MacLane spaces. These building blocks will be discussed in Section 3.7 below, but here we will consider the operation used to paste the building blocks together. To convey some intuition, we begin with the topological notion of fiber bundle21 (a vector bundle is a special case of a fiber bundle). Let B, the base space, and F, the fiber space, be two spaces. The Cartesian product F x B can be thought of as a copy of F sitting above each point of B; for B the unit circle S*1 and F a segment this is indicated in the left picture: The product F x B is a trivial fiber bundle, while the right picture shows a nontrivial fiber bundle (a Möbius band in this case). Above every point b G B, we still have a copy of F, and moreover, each such b has a small neighborhood U such that the union of all fibers sitting above U is homeomorphic to the product F x U, a rectangle in the picture. However, globally, the union of the fibers above all of B forms a space E, the total space of the fiber bundle, that is in general different from F x B. More precisely, a fiber bundle is given as p: E —» B, where E,B are spaces and p is a surjective map, such that for every b G B there are a neighborhood U of b and a homeomor-phism h: p^iJJ) —» F x U fixing the second component, i.e., with h(x)2 = p(x) for every x G E. (Other famous examples of nontrivial fiber bundles involve the the Klein bottle with B = F = S1 or the Hopf fibration S3 S2.) For our purposes, we will deal with fiber bundles where the fiber F has "enough symmetries," meaning that there is a group G acting on the fiber F, and this helps in specifying the total space E in terms of B, F, and some additional data which, informally speaking, tell us how E is "twisted" compared to the product F x B. Simplicial groups. In order to define the appropriate simplicial notions, we first need to recall that a simplicial group is a simplicial set G such that, for each k > 0, the set Gk of fc-dimensional simplices forms a group, and moreover, the face and degeneracy operators are group homomorphisms. A parameterized simplicial group and a locally polynomial-time simplicial group are defined in an obvious analogy with the corresponding notions for simplicial sets and chain complexes. 21In the literature on simplicial sets, effective homology and such, one usually speaks about a. fibration, which is a notion more general than a fiber bundle; roughly speaking, a fibration can be regarded as a "fiber bundle up to homotopy." 29 A basic example of a simplicial group is the standard simplicial model of an Eilenberg-MacLane space; see Section 3.7 below. Actually, it is known that every Abelian simplicial group is homotopy equivalent to a product of Eilenberg-MacLane spaces (see [30, Chap. V]), and we will be interested only in the Abelian case. Every simplicial group G is a Kan simplicial set [30, Theorem 17.1], and so continuous maps into |G| have a simplicial representation up to homotopy. A simplicial setting: twisted products. For our purposes, we will deal with fiber bundles where F, B, and E are simplicial sets, and a simplicial group G acts (simplicially) on F. The corresponding simplicial notion is called a twisted Cartesian product (a more general simplicial notion, a counterpart of a fibration, is a Kan fibration; see, e.g., [30, Chap. I,II]). Definition 3.9 (Twisted Cartesian product). Let B and F be simplicial sets, and let an action of a simplicial group G on F be given, i.e., a simplicial map F x G —» F satisfying the usual conditions for a (right) action of a group on a set; that is, ^(77') = (07)7' and 0e/u = (f> ((f> G Fk, 7,7' £ Gk, ek the unit element of Gk)- Moreover, let r = {jkfk=\ be a twisting operator, where r^: Bk —> Gk-i are mappings satisfying the following conditions (we omit the dimension indices for simplicity): (i) cV(/3) = r(91/3)r(90/3)-1; (ii) dtT((3)=T(di+1(3) fori>l; (iii) Sjt(/3) = t(sj_|_i/3) for all i; and (iv) t(sq/3) = ek for all [3 £ Bk, where ek is the unit element of Gk- Then the twisted Cartesian product F xTB is a simplicial set E with Ek = Fk x Bk, i.e., the k-simplices are as in the Cartesian product F x B, and the face and degeneracy operators are also as in the Cartesian product (see Section 3.1), with the sole exception of do, which is given by d0(4>,i3) := (d0(4>)r(i3),d0i3), (0,/3) e Fk x Bk. A twisted Cartesian product F xT B is called principal if F = G and the considered right action of G on itself is by (right) multiplication. Thus, the only way in which F xT B differs from the ordinary Cartesian product F x B is in the 0th face operator. It is definitely not easy to see why this should be the right way of representing fiber bundles simplicially, but for us, it is only important that it works, and we will have explicit formulas available for the twisting operator for all the specific applications. Actually, we will use solely principal twisted Cartesian products. Let F, B be locally polynomial-time simplicial sets, let G be a locally polynomial-time simplicial group, and let the action of G on F and the twisting operator r be polynomial-time maps (again in a sense precisely analogous to polynomial-time simplicial maps or chain maps); we assume that all of these objects are parameterized by the same parameter set I. It is easy to see that then the simplicial set F xT B, again parameterized by I, is locally polynomial-time. We will need that under certain reducedness assumptions, twisted products preserve polynomial-time homology. Proposition 3.10 (Twisted product). Let F and B be simplicial sets with polynomial-time homology, let G be a locally polynomial-time simplicial group with a polynomial-time simplicial 30 action on F, and let r be a polynomial-time twisting operator. Moreover, suppose that G is 0-reduced (a single vertex) or that B is 1-reduced (a single vertex, no edges). Then E := FxTB can be equipped with polynomial-time homology. The effective-homology analogs of this result are due to Rubio and Sergeraert [45, Theorem 132] when B is 1-reduced and due to Filakovsky [14, Corollary 12] when G is 0-reduced. Proof (sketch). Let the polynomial-time homology of F and B be given by strong equivalences C*(F) EF* and C*{B) 4& EB*, respectively. We begin with the ordinary Cartesian product F x B. By the Eilenberg-Zilber theorem (Lemma 3.5 for two factors, where we do not need to assume 0-reducedness), there is a reduction (AW, EML, SHI) : C*{F xB)=^T*, where T* is the tensor product C*(F) C*(£). p Further, by Lemma 3.4 for two factors, we have T* ET* := EF* (g> EB*. So altogether C*(F xB)^T* ^ ET*. (5) Next, by the definition of the twisted product, the chain complex C*{F xT B) has the same chain groups as C*{F x B), but the differential is modified. Writing 5 for the difference of the two differentials, on elements (,/3) the standard basis of Ck{F x B) we get 5((f>,/3) = (d0(4>)T(p),d0p)-(do4>,doP). We recall that in any simplicial set X, every simplex a can be obtained from a unique nondegenerate simplex r by an application of degeneracy operators. Let us refer to the dimension of r as the geometric dimension of a. Given a simplex (0, (3) of F x B, its filtration degree is defined as the geometric dimension of (3. In the present proof, the filtration degree serves as a potential function for controlling nilpotency of the appropriate maps. First, it can be checked that the chain homotopy SHI does not increase the filtration degree, and a simple argument shows that 5 decreases it at least by 1 (see, e.g., [45, Theorem 130], for details). It follows that the composition SHIo^ has constant nilpotency bounds, namely, = k + 1. Therefore, the basic perturbation lemma (Theorem 3.6) shows that C*{FxTB) T[, where T[ is a perturbation of the tensor product complex T*. Next, we would like to propagate the perturbation from T* through the next strong equivalence in (5), which we write more explicitly as T* 44= T* =2t> ET*. Let 8T be the difference of the differential in T^ and in T*. By Lemma 3.7, we get a perturbed version T^ of the middle complex T*, and the difference of its differential minus the differential of T* is 8T = g8Tf, for some chain maps f,g from the reduction T* <<4= T*. We now recall from the proof of Lemma 3.4 that the chain complex T* is constructed as a tensor product of two chain complexes, and that the chain homotopy h in the reduction P T* ET* has the form h = h^ ®id+g^f^ ®h(2\ (6) for some chain maps f^\g^ and chain homotopies h^-\h^2\ ss p In order to apply the basic perturbation lemma to the just mentioned reduction T* =H> ET*, we need to show that hbT has constant nilpotency bounds for every chain homotopy h of the form (6). This follows from the obvious fact that such a chain homotopy never increases 31 the filtration degree by more than 1, plus a result showing that if G is 0-reduced or B is 1-reduced, then 5T decreases the filtration degree at least by 2. We refer to [14, Corollary 9 and 11] for a proof of the latter result (also see the proof of Lemma 3.14 below, where a very similar situation is discussed). Then a constant nilpotency bound with Nk < k + 1 follows, and the proposition is proved. □ 3.5 The bar construction The bar construction, originating in Eilenberg and Mac Lane [11], is an algebraic construction with many uses and generalizations. For us, it provides a way of constructing auxiliary chain complexes for certain reductions and strong equivalences; we will thus introduce it only in the setting of chain complexes. The definition below is somewhat complicated, but most of the details will be irrelevant in the sequel—the important properties will be encapsulated in a couple of lemmas below. We essentially follow [35, Chap. 3], with some minor technical differences. A differential graded algebra is a chain complex A* together with an associative multiplication A* (g> A* —> A* with a unit 1a, ■ We denote the image of a (g> 6 simply by a ■ b. This multiplication is assumed to be a chain map; in particular, for a G Ak and 6 G Ai we have a ■ b G Ak+£. The chain map condition on the multiplication reads d(a ■ b) = d(a) ■ b + (-l)degaa • d(b) (the Leibniz rule). The unit 1a, is necessarily of degree 0. We say that A* is 0-reduced if Aq = TL, generated by 1a, ■ Regarding TL as a chain complex whose all chain groups are zero except for the one in dimension 0, which is TL, there is a unique homomorphism e: A* —> TL of differential graded algebras (i.e., a chain map preserving the unit and the multiplication).23 We call e the augmentation. Its kernel, the augmentation ideal, is denoted by A*. Further, we denote by a^ the shift of A* upwards by one, so that we have aI = a\ = 0, and a\ = Ak_i, k>2. The shifted chain complex comes with the shifted differential dA*{a) = —dA*{a) = —dA*{a). A right differential graded A*-module is a chain complex M* equipped with a chain map M* ® A* M* that satisfies the usual axioms for a module structure. Again the action being a chain map translates into a Leibniz-type rule for the compatibility of the multiplication and the differential. Similarly, a left A*-module N* is equipped with an action A* (g> N* —> N*. Given A*, M*, N* as above, the bar construction produces a chain complex Bar"4* (M*, N*). In order to define it, we first form an auxiliary chain complex given by oo n=0 22For a basis element a ® b of the tensor product T, the filtration degree is defined simply as the degree of b. 23In detail e(n ■ 1a,) = n and, for a of positive dimension, e{a) = 0. 32 We denote the differential in T* by d and call it the tensorial differential. The actual bar construction will be given by a perturbation of this differential. Assuming that each of the chain groups in A*, M*, A* has a distinguished basis, the distinguished bases in T* are made of elements of the form z := x (g) ai (g> • • • (g> an (g> y, where x comes from a distinguished basis in M*, y from one in A*, and a±,..., an 7^ 1^4 from those in A*. (Here we can also explain the origin of the name "bar construction"; in the Eilenberg-Mac Lane founding paper, the tensor product signs (g> in the above notation for z were abbreviated to vertical bars.) The tensorial differential dT(z) is given by the (iterated) formula (3) from Section 3.1. The degree of such a z equals deg(z) = degtens(z) + degres(z), where degtens(z), the tensorial degree of z, equals deg(x) + deg(y) + Y^i=i deg(aj) (with deg(aj) being the degree of <2j in A*), and the residual degree degres(z) = n. Now the chain complex Bar"4* (M*, A*) has the same chain groups as T*, but the differential is modified to dT + 5ext, where 5ext, the external differential, is given by 5ext(x®ai ® ••• ®an (8>y) := (-l)m°x ■ ai 0 a2 ® ■ ■ ■ ® an ® y n—1 + ^2(-l)mix (8> ai (8> • • • (8> aj • ai+i ®---®an®y + (-l)mnx (8> ai (8> • • • (8> an_i ®an-y, where rrij = deg(x) + deg(ai) + • • • + deg(aj) + i. We note that the external differential is the only part of the definition of Barj4*(M*, A*) where the algebra and module structures play a role. This finishes the definition of the bar construction. In our applications, the bar construction will be used with M* equal to TL. Here we endow TL with the right A*-module structure obtained from the augmentation—the unit 1a, acts by identity as it must and the elements from the augmentation ideal act trivially, i.e., a ■ x = 0. We also note that TL acts as a unit element for tensor product, in the sense that C* (g> TL and TL (g> C* can be canonically identified with C* (this is obvious by considering the distinguished bases, for example). Lemma 3.11 (Polynomial-time homology for the bar construction). Let A*, , A* be locally polynomial-time versions of the objects above, with all the multiplications involved being polynomial-time maps, and let us suppose that A*, , A* are equipped with polynomial-time homology. Then Bar"4* (M*, A*) can be equipped with polynomial-time homology. Proof. First we equip T* with polynomial-time homology; this is essentially Lemma 3.4 about tensor products of strong equivalences. The factors M* and A* are not 0-reduced but this can be accommodated, in a way similar to Cartesian products—see the remark following Proposition 3.2. We also note that although T* is an infinite direct sum, the kth chain group involves only elements with n < k from this direct sum, and so Lemma 3.4 is applicable. Next, we apply the basic perturbation lemma and Lemma 3.7, in a way very similar to the proof of Proposition 3.10 on twisted products, to propagate the perturbation of the differential in by the external differential Sext through the strong equivalence. The only issue is to show constant nilpotency bounds. Here one uses that the chain homotopy involved, which is of the form (6) but with an arbitrary number of factors, does not increase the residual degree degres, while Sext, obviously, decreases it by 1. □ 33 The next lemma is a key property of the bar construction, showing that it provides, in a sense, an "inverse" to the operation of tensor product with A*. Indeed, the bar construction Bar"4* (Z, A*) can be regarded as a formal analog of the power series expression 1 = ^ = a + (1 — a)a + (1 — a)2a + • • • for a real number a £ (0, 2). Lemma 3.12. Given a locally polynomial-time 0-reduced differential yraded alyebra A*, there is a reduction Bar"4* (Z, A*) ^ % (where A* is taken as a differential yraded A*-module in the obvious way). More generally, if we consider, in addition, a locally polynomial-time chain complex M* and turn A* (g> M* into a left A*-module by defininy a■ (b M*) 4^ M*. We note that we assume no A*-module structure on M*; the left A*-module structure on A* (g> M* comes from the multiplication in A*. Proof. In the reduction (f,g,h): Bar"4* (Z, A*) Z, f and g are given by the assumed identification of Aq with TL (note that the 0th chain group of Bar"4* (Z, A*) can be canonically identified with Ao); in particular, we have f{a\ (g> • • • (g> an (g> a) =0 unless n = 0. In residual degree 0 we have f{a) = e(a). Denote by a = a — e(a) • 1^4 the projection of a onto the augmentation ideal A*. Then, for a basis element z = a± (g> • • • (g> an (g> a of Bar"4*(Z, A*), we put h(z) := (_l)deg(a1)+...+deg(a„)+deg(a)+n+lai 0 . . . 0 ^ 0 - 0 ^ _ It is simple to check that we indeed get a reduction (see [31]), and polynomiality is obvious. The more general reduction Bar"4*(Z, A* ®M,) M* is then immediately obtained from the previous one by tensoring all the maps with the identity on M*. □ 3.6 The base space (a "twisted division") Here, as in Section 3.4, G is an Abelian simplicial group, and we consider a twisted product, this time a principal one: G xT B. However, while previously we took G, B, r as known, and wanted to compute G xT B (so we did "twisted multiplication"), here we assume that G and G xT B are known, and we want B—so one can think of this as "twisted division". The bar construction is the main tool. Proposition 3.13. Let G be a 0-reduced locally polynomial-time Abelian simplicial yroup, let B be a locally polynomial-time simplicial set, and let r be a polynomial-time twistiny operator. If both G and GxTB are equipped with polynomial-time homoloyy, then B can also be equipped with polynomial-time homoloyy. Proof. We follow the treatment in Real [35]. We let A* := C*{G) be the normalized chain complex of G. The Eilenberg-MacLane product on A* is defined using the operator EML: A*(g> A* —> C*{G x G) as in the proof of Lemma 3.5. Writing EML(a ®6) = Y^i=i ai(lii 79' 71,..., Yn 6 G, we set n a-b:= y^agai, 34 where 7^ is computed using the group operation in G. This multiplication is polynomial-time, and with some work it can be checked that it makes A* into a differential graded algebra. The untwisted case. First we assume that the ordinary Cartesian product G x B is given with polynomial-time homology. Then polynomial-time homology for B is obtained in the following steps: 1. C*{G x B) has polynomial-time homology by the assumption. 2. The Eilenberg-Zilber reduction C*{G x B) A* (g> C*{B) (Lemma 3.5) and the composition of strong equivalences yield polynomial-time homology for A* (g> C*{B). 3. Since A* has polynomial-time homology as well by assumption, Lemma 3.11 yields polynomial-time homology for Barj4*(Z, A* (g> C*(B)). 4. Finally, the reduction Bar"4* (Z, A* (g> C*{B)) C*{B) from Lemma 3.12 and composition of strong equivalences provide polynomial-time homology for C*{B). The twisting. Now we present "twisted analogs" of steps 1-4 above. lr. We assume that polynomial-time homology is available for the twisted Cartesian product G xT B. 2T. As in the proof of Proposition 3.10 (twisted product), applying the basic perturbation lemma to the Eilenberg-Zilber reduction C*(G x B) := A* (g> C*{B) provides a reduction C*{G xT B) =44> Q'^, where Q'^ is obtained by perturbing the differential dP of the tensor product complex to another differential dP . Let 5® := dP — dP be the difference. On Q'^ the multiplication by A* from the left is defined in the same way as on Q*. Using formula (7) below, one can prove that the perturbation 5® is A*-linear. It means that dP satisfies the Leibniz rule and hence Q'^ is a left A*-module. 3r. We have dP' polynomial-time computable (since the basic perturbation lemma provides an explicit formula), and hence we obtain polynomial-time homology for Bar"4* (Z, Q^) by Lemma 3.11. 4r. It remains to exhibit a reduction Bar"4* (Z, Q'^) C*{B); then we obtain polynomial-time homology for B as in the untwisted case above. We begin with the reduction Bar"4* (Z, Q*) C*{B) from Lemma 3.12 and apply the basic perturbation lemma to it. We note that, by the definition of the bar construction, Bar"4*(Z, Q*) and Bar"4*(Z, Q'^) have the same chain groups, and only the differential is modified. Let 5BaT be the differential of Bar"4* (Z, Q'J minus the one of Bar"4* (Z, Q*). We observe that the external differentials in these bar constructions coincide, and the tensorial differentials differ only in one term. Thus, writing a basis element of Bar"4*(Z, Q*) as z = a± (g>• • • (a®6), we have £BarZ = (_1)deg(a1)+...+deg(a„)+deg(a)-nai 0 . . . 0 ^ 0 §Q^ 0 &^ The rest of the proof is delegated to the next lemma, which is essentially Prop. 3.2.3 in [35]. 35 □ Lemma 3.14. If G is a O-reduced simplicial group, A* = C*(G) and Q* = A* ®C*(B) are as above, (f,g,h): Bar"4* {7L, Q*) C*(B) is the reduction from Lemma 3.12, and SBaT is the perturbation of the differential of Bar"4* {7L, Q*) as above, then hSBaT has constant nilpotency bounds, and the perturbed differential in C*(B) obtained from the application of the basic perturbation lemma to the reduction (f,g, h) actually equals the original differential in C*(B), i.e., the resulting perturbation is zero. Proof. There is an explicit expression known for the perturbation 5®, going back to Brown [4] and Shih [50]. We do not need the full explicit formula, just some of its properties. Namely, given G, B, and the twisting operator r, there is a sequence of homomorphisms tk: Ck(B) Cfc-i(G), such that for a G Ce(G), b e Ck(B), we have k 5®(a ®b) = ^(-l)£a • tk-i{bk-i) 0 h, (7) i=0 for some chains bo,..., bk, bo,..., bk, with 6j, 6j £ Ci(B), the multiplication in a ■ tfc-j(^fc-j) being the Eilenberg-MacLane product introduced above.24 Now to = 0 since C-\{G) = 0. Moreover, one can compute (see the proof of [14, Corollary 11]) that t(bi) = t(&i) — eo for all 1-simplices b\ £ B\. Since G is 0-reduced, it follows that ti = 0. Hence the sum in (7) goes only up to i = k — 2, and so 5® decreases the filtration degree (given by the degree in C*(B)) at least by 2. The same applies to 5BaT when we take the filtration on Bar"4*{7L, Q*) given again by the degree in C*(B). Similar to the conclusion of the proof of Proposition 3.10, we obtain constant nilpotency bound of h5BaT. It remains to show that the perturbation of the differential in C*(B) obtained by using the basic perturbation lemma to the reduction (f,g,h): Bar"4* {7L, Q*) C*(B) with the perturbation 5BaT is zero. As was mentioned in connection with the basic perturbation lemma, the considered perturbation equals f5BaT(pg, where ip = YliZo(~l)*(^^Bar)*- We will check that fSBaT = 0. Indeed, the mapping / in the reduction from Lemma 3.12 is obtained from the augmentation e: A* —> TL by tensoring with \Ac^y Thus, if z = ai<8>- • •<&an®(a®b) is a basis element, we have f(z) = 0 unless deg(a) = 0. But the Eilenberg-MacLane product a-tk-i(bk-i) in the formula (7) has degree at least deg(£/u_j(&fc_j)) = k — i — 1. Thus, the degree can be 0 only for k — i — 1 = 0, but in this case tk-i =t±=0, and so fSBaT = 0 as claimed. □ 3.7 Eilenberg MacLane spaces Preliminaries on cochains. Before entering the realm of Eilenberg-MacLane spaces, we recall a few notions related to cohomology. Throughout this section, let tv be an Abelian group. For us, it will often be convenient to regard cochains as homomorphisms from chain groups into 7r. That is, given a chain complex C* (whose chain groups are, as always in this paper, 24In the literature, t is called a twisting cochain, and 5® (a®&) is written as a cap product tC\{a®b). Moreover, t is in general not determined uniquely by G,B,t, since the operator AW in the reduction G»(G x B) G» (G) ® G» (B) is not unique. However, the relevant sources use the same particular AW as we do. 36 free Abelian groups), we define its kth cochain group with coefficients in tt as C (C*;ir) : = Hom(Cfc,7r), with pointwise addition. The coboundary operator 5k'- Ck{C*;ii) —> Ck+1(C*;7r) is then given by (5kCk)(ck+i) := ck(dk+iCk+i) for every fc-cochain ck and every (k + 1)-chain Cfc+i-25 (The notation 5 was earlier used for a perturbation of a differential, but from now on, we will encounter it only in the role of a coboundary operator.) In particular, if X is a simplicial set, the normalized cochain complex C*(X;tv) is C*{C*(X)\ thus, a fc-cochain can be specified by its values on the standard basis, i.e., as a labeling of the nondegenerate fc-simplices by elements of tv—this agrees with the usual definition in introductory textbooks. For us, it will be important that if X has infinitely many nondegenerate fc-simplices, then a fc-cochain in Ck(X) is an infinite object (unlike a fc-chain!). Thus, in algorithms, we will need to use a black-box representation of individual cochains—the black box supplies the value of the cochain on a given simplex (or on a given chain, which is computationally equivalent). To finish our remark on cochains, we recall that if C* is a cochain complex, with coboundary operator 5 = (5k)keZi then Bk := im5k-i is the group of k-coboundaries, Zk := kei 5 k the group of k-cocycles, and Hk = Hk(C*;ii) := Zk/Bk is the kth cohomology group. Eilenberg MacLane spaces tope-logically. For an Abelian group tv and an integer k > 1, the Eilenberg-MacLane space K(tv, k) is defined as any topological space T with TVk(Z) = tv and 7Tj(T) = 0 for alH 7^ k (actually, K(tt, 1) is also defined for an arbitrary group tv, but we will consider solely the Abelian case). It is known, and not too hard to prove, that a K(tv, k) exists for all k > 1 and all tv, and it is also known to be unique up to homotopy equivalence.26 The definition postulates that the homotopy groups of an Eilenberg-MacLane space are, in a sense, the simplest possible, and this makes it relatively easy to understand the structure of all maps from a given space X into K(tt, k). Indeed, a basic topological result says that assuming that X is a "reasonable" space (say a CW-complex). In words, homotopy classes of maps X —> K{tv, k) correspond to the elements of the kth cohomology group of X with coefficients in tv (see, e.g., [30, Lemma 24.4] for this fact in a simplicial setting, and [6] for a geometric explanation). The standard simplicial model. There is a standard way of representing K(tv, k) as a Kan simplicial set, which actually is even a simplicial group. We will work with this simplicial representation, and from now on, the notation K{tv, k) will be reserved for this particular simplicial representation, to be defined next. Let denote the ^-dimensional standard simplex, regarded as a simplicial complex (or a simplicial set; the difference is purely formal in this case). That is, the vertex set is {0, !,...,£} and the fc-dimensional (nondegenerate) simplices are all {k + 1)-element subsets 25Sometimes other conventions are used for the coboundary operator in the literature; e.g. (SkCk)(ck+i) = (—l)fe+1cfe((ife+iCfe+i). But our main sources [30] and [20] use the version without signs. 26Provided that we restrict to spaces that are homotopy equivalent to CW-complexes. (8) 37 that is, each ^-simplex is (represented by) a k-dimensional cocycle on A^. Thus, it can be regarded as a labeling of the fc-dimensional faces of A^ by elements of the group tt; moreover, the labels must add up to 0 on the boundary of every {k + l)-face. It is also easy to define the face and degeneracy operators in K(tt, k). Given an ^-simplex a of K(ir, k), represented as a labeling of the fc-faces of A^, di {0,1,..., £} given by j for j < i, In particular, if a fc-face contains both i and i + 1, then it is labeled by 0, since its r^-image is a degenerate simplex. The simplicial group operation in K(ir, k) is the addition of cocycles in Zk{A^;Tr). In the simplicial setting we have SMap(X, K(tt, k)) ^ Zk(X; tt) (9) for every simplicial set X. That is, simplicial maps X —> K(tt, k) are in a bijective correspondence with 7r-valued fc-cocycles on X (see below for an explicit description of this correspondence). Moreover, two such simplicial maps, represented by cocycles z and z', are nomotopic iff z — z' is a coboundary (see, e.g., [30, Theorem 24.4]). This immediately implies [X,K(TT,k)] ^Hk(X-7r), which was mentioned above in (8). The set E(ir, k). In addition to the simplicial Eilenberg-MacLane space K(tt, k) we also need another simplicial set, denoted by E{jr,k). While the ^-simplices of K{jr,k) are all fc-cocycles on A^, the ^-simplices of E(ir, k) are all fc-cochains: E(Tv,k)e :=Ck(Ae;Tv). The face and degeneracy operators are defined in exactly the same way as those of K(tt, k). Converting between simplicial maps and cochains. We have mentioned that simplicial maps X —> K(ir,k) are in one-to-one correspondence with cocycles in Zk(X;ir). Similarly, simplicial maps X —> E(ir, k) correspond to cochains in Ck(X;7r): SMap(X, E(tt, k)) ^ Ck(X;ir). Let us describe this correspondence explicitly, since we will need it in the algorithm. First we note that a fc-simplex r of E(ir, k) is a fc-cochain on Ak, i.e., a labeling of the single fc-face of Ak by an element of tt. Let us denote this element by ev(r) (here ev stands for "evaluation"). Given a simplicial map /: X —> E(ir,k), the corresponding cochain re G Ck(X;7r) is simply given by re(cr) = ev(/( X that sends the nondegenerate ^-simplex of A^ to a (indeed, a simplicial map has to respect the ordering of vertices, implicit in the face and degeneracy operators). Then f( i-e-' ^ne labels of the fc-faces of a given by re are pulled back to A^. Moreover, if re is a cocycle, then / goes into K(tt, k). 38 A useful fibration. Since an ^-simplex a £ E(tt, k) is formally a fc-cochain, we can take its coboundary 8a. This is a (k + l)-coboundary (and thus also cocycle), which we can interpret as an ^-simplex of K(Ti,k + 1). It turns out that this induces a simplicial map E(tt, k) —> K(tt, k + 1), which is (with the usual abuse of notation) also denoted by 8. This map is actually surjective, since the relevant cohomology groups of are all zero and thus all cocycles are also coboundaries. As is well known, 8: E(tt, k) —> K(tt, k + 1) is a fiber bundle with fiber K(tt, k). There is another simplicial description of E(tt, k) as a twisted product K(ir,k) xT K(ir,k + 1), where r has the following explicit form (see [30, §23] or [45, Sec. 7.10.2]): Let z G Zk+1(Ae; it) be an ^-simplex of K(tt, k + 1), i.e., a labeling of the (k + l)-faces of by elements of ir (satisfying the cocycle condition). Then we want t(z) to be an (I — 1)- simplex of K(ir,k), i.e., a labeling of fc-faces of A^_1. If we write a fc-face of A^_1 as an increasing (k + 1)-tuple (iq, ..., ik), 0 < io < ■ ■ ■ < ik < £ — 1, we set (r(z))(i0, ...,ik)-= z(0, iq + 1, h + 1,..., ik + 1) - z(l,iQ + 1, ii + 1,..., ik + 1). (10) The twisted product K(tt, k) xt K(tt, k + 1) is simplicially isomorphic to E(tt, k) as defined earlier. The isomorphism will be described, in a slightly more general setting, in the proof of Corollary 3.18 below. 3.8 Polynomial-time homology for K(tt, k) A crucial ingredient in our algorithm for computing Postnikov systems is obtaining polynomial-time homology for K(tt, k). Here, as usual, we assume k fixed, and tt is a globally polynomial-time Abelian group (as introduced after Definition 2.3); then K(tt, k) has the same parameter set as 7r. It is easily checked that K(tt, k) is a locally polynomial-time simplicial group. The W construction. Polynomial-time homology for K(tt, k) will be constructed by induction on k. The inductive step is based on a construction W (see [30, pages 87-88]) that, given an Abelian simplicial group G, produces another Abelian simplicial group WG. The fc-simplices have the form uj = (7fc-i,7fc-2) • • • )7o)> where 7« is an i-simplex of G, i = 0,1,..., k — 1, and the group operation in WG is obtained by using the operation of G componentwise. The face operators are d0u := (7fc-2,7fc-3) • • • >7o), di+iui := (dj7fc-i,.. .,di7fc-i,d07fc-i-i+7fc-i-2,7fc-i-3,---,7o), « = 0,1,..., - 1, V-v-' operation in G and the degeneracy operators are given by s0u := (efc,7fc_i,... ,70), si+iu := (sj7fc_i,...,s07fc-j-i,efc-i-i,7fc-i-2,---,7o), i = 0,1,..., - 1, where ek is the unit element of Gk- Topologically, WG is the classifying space of G, usually denoted by BG, but we won't use this fact directly. What we need is the following simplicial isomorphism. 39 Lemma 3.15. For every Abelian group tv and every k > 1, there is a simplicial isomorphism f: K(ir,k + 1) -^WK(ir, k); if k is fixed and tt is globally polynomial-time, then both f and f^1 are polynomial-time maps. Consequently, polynomial-time homology for WK(tv, k) yields polynomial-time homology for K(ir,k + 1). Proof. We define an auxiliary simplicial set WK(tv, k) as the twisted Cartesian product K(tt, k) xT WK(tv, k), where r: K(tt, k + 1) —> K(tt, k) is the twisting operator of 8 introduced at the end of Section 3.7. Then, according to [30, Theorem 23.10], there are simplicial isomorphisms /: K(tt, k + 1) —> WK(tv, k) and F: E(tv, k) —> WK(tv, k) that are compatible with respect to the projection maps 8: E(tv, k) —> K(tt, k + 1) and WK(tv, k) —> WK(tv, k). By [30, Lemma 21.9] and the formula (1) there, the isomorphism / maps z G K(tv, k + l)i to f(z) := (r{z),T{d0z),T{&Qz),...,T{dfr1z)) eWK(7r,k)e where r is the twisting operator as above. Combining these statements together it follows that / is an isomorphism, and to finish the proof, we need to compute its inverse in polynomial time. We describe an inductive algorithm for this. First we note that f(z) = (r(z),f(d0z)). There is only one simplex in dimension at most k in both of the considered simplicial sets, so the isomorphism is given uniquely there. A (k + l)-simplex of WK(tv, k) has the form u = (wk,0,0,...,0), where wk G Zk(Ak;Tv). Defining zk+1 G K(Tv,k + l)k+1 = Zk+1(Ak+1; tt) by zk+1(0,1, 2,..., k + 1) := wk(0, l,...,k), we get f(zk+1) = (r(zk+1), 0,..., 0) = uj, so we have found Next, we suppose that we can compute f^1 for simplices up to dimension £ > k + 1, and let uj = (we, wg-i,..., wq) G WK(tt, n)^+i. In order to obtain z = we first inductively compute z' = f~1(w£-i,... ,wq); then z' = Oqz, and by the definition of do in K(ir, k + 1), we get that for 1 < i$ < i\ < ■ ■ ■ < ik+\ < £ + 1 we have z(i0,k,ik+i) = z'(i0 - 1, i\ - 1,.. •, ik+i - 1). (11) On the other hand, for 0 = io < i\ < ■ ■ ■ < ik+\ < £ + 1, from the formula (10) defining r we obtain T(z)(h - 1,... ,ik+1 - 1) = z(0,h,... ,ik+1) - z(l,h,... ,ik+1) = z(0,h,... ,ik+1) - z'(0,h - 1,... ,ik+1 - 1). (12) From this we can express z(0, i\,..., ik) in terms of t(z) = w£ and z', which are both known. This finishes the construction of the inverse. □ Now we can state the main result of this section. Theorem 3.16. Let k > 1 be a fixed integer. The standard simplicial model of the Eilenberg-MacLane space K(tt, k), where tt is a globally polynomial-time Abelian group, can be equipped with polynomial-time homology. 40 Proof. The proof proceeds by induction on k. The base case is K(tt, 1), and it goes as follows. 1. Polynomial-time homology for KifIL, 1) is the main result of [25]. 2. Polynomial-time homology for KiflLjm, 1) is derived from that for KifIL, 1) in Lemma 3.17 below. 3. For 7r arbitrary, we use the specified polynomial-time isomorphism tv = Ab(m) to write K(tt, 1) = X(Ab(m), 1). Since Ab(m) decomposes into a direct sum of cyclic groups, we can obtain polynomial-time homology for K(tt, 1) using K(7T1 © • • • © 7TS, 1) 2i tf(7ri, 1) X • • • X K{lTs, 1), which is easy to see from the definition of K(tt, 1), plus Proposition 3.2 (product with many factors). The inductive step from K(tt, k) to K{tt, k + 1) is as in [35], and it goes as follows. 1. To get polynomial-time homology for K(tt, k + 1), according to Lemma 3.15 it suffices to obtain polynomial-time homology for WK(tv, k). 2. With G = K{-K,k), let us consider the twisted product G xT WG, where the twisting operator is given by r^(7^_i,..., 70) := 7^-1 (this twisted product was denoted by WG in the proof of Lemma 3.15). Then there is a reduction (/,S,/i):C,(GxTFG)^Z, with /, g defined in the obvious way (note that both G and WG are 0-reduced), and with h given by h^, (7^1,..., 70)) := (em, (7^ 7^,..., 70)), where ee+1 is the unit element of Ge+i (see [30, page 88]). Thus, using Proposition 3.13 (twisted division) with B = WG, we obtain polynomial-time homology for WG from that of G. The proof of Theorem 3.16 is finished, except for the proof of the next lemma. □ Lemma 3.17. Given a polynomial-time homology for K(Z,1)> one can equip K(fL/m,l) (parameterized by the natural number m encoded in binary) with polynomial-time homology. We note that the simplicial set K(fL/m, 1) has finitely many simplices in each dimension (the number is even bounded by a polynomial in m for every fixed dimension). Nevertheless, we cannot treat it as a finite simplicial set, since it is parameterized by the group TLjm, whose encoding size is only logm, and so the number of simplices is exponential in this size. Somewhat paradoxically, we will use the infinite simplicial set KifIL, 1) to get a handle on the finite (in every dimension) KiflLjm, 1). Proof. By the assumption, the simplicial group K(fL, 1) is equipped with polynomial-time homology. We will exhibit a twisting operator r such that the principal twisted Cartesian product P := K(fL,\) xT K{T,/m,l) is simplicially isomorphic to K(fL, 1). Let tp: P ->• K(fL,\) be the isomorphism; assuming that both ip and ip^1 are polynomial-time maps, we can thus equip P with polynomial-time homology as well. Then we obtain the desired polynomial-time homology for KiflLjm, 1) from Proposition 3.13 (twisted division). 41 Conceptually, the isomorphism pi is obtained from the short exact sequence of Abelian groups xm mod m r-77 / 0-> TL-> TL-> TLjm-> 0 by passing to classifying spaces. But our presentation below does not refer to this approach and is completely elementary. In order to define p and r, it will be convenient to use a particular representation of simplices in K(T£,1) and in K(T£/m,l), described next. We recall that the ^-simplices of K(TL, 1) are 1-dimensional integral cocycles on A^, in other words, labelings c of the edges of the complete graph on {0,1,..., £} with integers such that, for every triple i < j < k, c(i,j) — c(i, k) + c(j, k) = 0. It is easy to see that every such labeling is determined by a "potential function" a on the vertex set, i.e., c(i,j) = a(j) — a(i) (from the topological point of view, every cocycle c is a coboundary since is contractible, and a is a 0-cochain with c = 8a). Moreover, w.l.o.g. we can assume that a(0) = 0, and then a is determined uniquely. Then we represent the ^-simplex c by the ^-tuple a = (a±, a2,..., aA, where we write <2j instead of a(i) for typographic reasons. The boundary operators then work as follows: doa = (a2 — ai, «3 — ai, • • •, fl£ — ai), diet = (a1}a2,... ,ai^1}ai+1,... ,ae), i = l,2,...,£. The degeneracy operator sq prepends 0 to the beginning of the sequence, and for i > 1, Sj duplicates the ith term. An analogous representation is used for the simplices of K(T£/m, 1). Now if a = (ai,..., ai) £ K(T£, l)i and (3 = (pi,..., bp) G K(T£/m, 1)^ are simplices represented in this way, the desired simplicial isomorphism p: K(T£,1) xT K(T£/m,l) —> K(T£, 1) is defined by pi(a, f3) := (mai + i(bi),man + ><(be)), where i: TLjm —> TL is the identification of TLjm with {0,1,... ,m} C TL. It is clear that pi is a bijection between the sets of ^-simplices, and that both p and ip^1 are polynomial-time computable. We recall that in the twisted product K(T£, 1) xT K(T£/m, 1) we have Si(a,(3) = (sia,Si(3) for all i, and di(a,(3) = (dia,di(3) for all i > 1. It is then straightforward to check that the mapping tp commutes with sq, ... ,s£ and with di,..., dg. The face operator do is twisted, i.e., do (a, (3) = (t((3) + doa, do/3) (here we write the group operation additively, unlike in the general discussion of twisted products earlier). From the requirement that p> commute with do, we can compute the appropriate twisting operator r. Namely, we have d0tpi(a, 13) = (m(a2 - a±) + t(b2) - ..., m(a£ - a±) + i(be) - , while (p£-!(doa, doj3) = (m(a2 - at) + t(b2 - bt),..., m(a£ - at) + i(be - (where the subtraction in the argument of i is in TLjm, i.e., modulo m). It follows that r has to be given by n{P) = (t(62) - t(6i) - i(b2 - h),i(bA - t(6i) - i(bt - 6x)). This is obviously a polynomial-time map, and a routine check of properties (i)-(iv) of a twisting operator in Definition 3.9 concludes the proof. □ 42 3.9 A pullback from a fibration of Eilenberg MacLane spaces For our construction of Postnikov systems, we will need an operation that is essentially a twisted Cartesian product, but in a somewhat different representation. We will have the following situation. We are given a simplicial set P, plus a simplicial mapping /: P —> K(tt, k + 1), for some Abelian group tv and a fixed k > 1. Now we define a simplicial set Q as the pullback according to the following commutative diagram: Q->E(ir,k) 5 P^-~yK(iv,k + l) This means that Q is the simplicial subset of the Cartesian product P x E(tt, k) consisting of the pairs (a,/3) of simplices a £ P^, (3 6 E(tt, k)^ with f{a) = S(/3). As a simple consequence of Proposition 3.10 (twisted product) and of an explicit isomorphism of the pullback with a suitable twisted product, we obtain the following. Corollary 3.18. Given Ti,k,P,f as above, where tv is a globally polynomial-time Abelian yroup, P is equipped with polynomial-time homoloyy, and f is polynomial-time, all parameterized by the same parameter set I, the pullback Q can be equipped with polynomial-time homoloyy. Proof. Let r be the twisting operator in the twisted product K(tt, k) xT K(tt, k + 1) at the end of Section 3.7, and let r* be the pullback of r by /; that is, r*(a) := r{f{a)). Then Proposition 3.10 yields polynomial-time homology for the twisted product K{ir,k) xT* P. According to [30, Prop. 18.7] (which is formulated in a more general setting), there is a simplicial isomorphism tp: K(tt, k) xT* P —» Q, given by E(tt, k) is the pseudo-section given by ip{z)(iQ, ...,ik):= z(0, i0 + 1, • • •, ik + 1), with the same notation as in the definition of r. Since both tp and its inverse are polynomial-time maps, we obtain polynomial-time homology for Q as needed. In addition, setting P = K(tt, k + 1), we have Q = E(tt, k) and we obtain the isomorphism E(tt, k) = K(tt, k) xT K(tt, k + 1) mentioned at the end of Section 3.7. □ 4 Postnikov systems Let Y be a topological space, which we will assume to be given as a simplicial set equipped with polynomial-time homology. Moreover, we assume that Y is 1-connected. This is needed for the proof of correctness of the algorithm; the algorithm itself does not make use of any certificate of 1-connectedness, and in particular, we do not assume Y 1-reduced. 43 For our purposes, we define a (simplicial) Postnikov system of Y as the collection of simplicial sets and simplicial maps organized into the following commutative diagram, P3 P2 P2 Pi >P0 = * where Pq is a single point, and the following conditions hold: (i) For each k > 0, the map : Y —> Pk induces isomorphisms ip^ : ^i(Y) —> iVi(Pk) of homotopy groups for 0 < i < k, while Tii(Pk) = 0 for i > k + 1. (ii) Each Pk, k > 1, is the pullback according to the following diagram (as in Section 3.9) for some map k^_i: Pk-i —> K^tt^Y), k + 1): Pk ->E(lTk(Y),k) Pk 5 Pk-l^K(7tk(Y),k+l) The simplicial sets Pq, P\,... are called the stages of the Postnikov system, and the mappings kj are called Postnikov classes (the terms Postnikov factors or Postnikov invariants are also used in the literature). In the simplicial Postnikov system as introduced above, each Pk is a simplicial subset of the Cartesian product Pk-i x E{iTk(Y), k), and the map Pk'-Pk^ Pk-i is the projection to the first component. In the rest of this section, we will prove Theorem 1.2. First we should make the statement precise. Theorem 4.1 (Restatement of Theorem 1.2). Let k > 2 be fixed and let (Y(I) : / G X) be a simplicial set with polynomial-time homology, the main example being a finite simplicial complex, and let us suppose that Y is 1-connected (or simple; see the remark following Theorem 1.1). Then there is a polynomial-time algorithm that, given I G X, computes, for each i < k, the isomorphism type = rrij(I) of the homotopy group Tii(Y(I)). Furthermore, we can construct the following objects (i.e., write down the algorithms for the black boxes representing them, which use the black boxes defining Y as subroutines). • Simplicial sets Pq, P\,..., Pk with polynomial-time homology. • Polynomial-time simplicial maps K{-Ki,i + 1), i < k, where we use the notation 7Tj := Ab(mj) for the canonical representation of the Abelian group described by mj (see the text following Definition 2.3). 44 All of these objects are parameterized by X. The Pi{I), the (ifi)i, and the (kj_i)j form a Postnikov system ofY(I). 4.1 The algorithm Representing a simplicial map by an effective cocycle. In the Postnikov system algorithm, we will encounter the following situation. We consider a simplicial set (U(I) : / £ X) with polynomial-time homology; let us write EC^ for the globally polynomial-time chain complex used in the polynomial-time homology, i.e., the one for which C*{U) EC%. Let us also consider a (k + l)-cocycle ipei £ Zk+1(EC^; tt) for some globally polynomial-time Abelian group tt, also parameterized by I; here the superscript "ef" should suggest that the cocycle belongs to the "effective" chain complex EC^ associated to U. Then -0ef can be represented by a finite matrix, since it is a homomorphism from the chain group ECk+1 of finite rank into tt. Now the strong equivalence C*{U) 44=H> EC^ defines, in particular, a chain map /: C*(U) -EC^. We define a cocycle V £ Zk+1(C*(U)) as V = Nei■ As was discussed in Section 3.7, such a ip canonically defines a simplicial map ip: U —> K{ir,k + 1). The point we want to make here is that ip can be regarded as a polynomial-time simplicial map parameterized by pairs (I,ipei). Re-parameterizing the Postnikov system. In Theorem 4.1, we have the Postnikov system parameterized by the same parameter set I as the input simplicial set Y. This simplifies the formulation, but as we have already remarked earlier, it is not very efficient for an implementation, since it stipulates re-computing everything from scratch every time we call one of the black boxes representing the Postnikov system. We are going to organize the algorithm somewhat differently. We are going to define a new parameter set J7fc, whose elements have the form (I,Fk(I)), where Fk is a polynomial-time mapping described below. The computation of Pfc(/) corresponds to a preprocessing, or "construction" of the Postnikov system. Then we will have the Postnikov system parameterized by Jk instead of X, and this will allow for much more effective black boxes. This point of view is also very natural for presentation of the Postnikov system algorithm. What kind of data should be included in Jk to describe the Postnikov system? First, given / £ X, we need the homotopy groups 7Tj(Y(/)), i < k. As in Theorem 4.1, we are going to represent each 7Tj(Y(/)) by its isomorphism type mj, and we use the notation 7Tj = Ab(mj). Thus mi,..., m/u are included in Pfc(7). Next, the Postnikov stage P& is a simplicial subset of the product Pk C £(7ri,l) x ••• x E{irk,k), and for describing it, we need the Postnikov classes kj_i, i < k. We are going to have kj_i represented by a cocycle &f_i £ Z'l+1(EC^~1;7Tj), in the way described above, and reff,..., K;f_i are also a part of Fk(I). This, of course, assumes that Pi-i has already been equipped with polynomial-time homology; indeed, the algorithm will proceed inductively, constructing Pi-± first, then nf-i (and thus kj-i), and then Pj. Here Pj with polynomial-time homology is obtained as the pullback as in the definition of a Postnikov system, using Corollary 3.18. Finally, to describe the maps tpi,... ,tpk, we need even more data. Namely, (fk is, in particular, a simplicial map into E(tti, 1) x • • • x E^Tik, k), and so we can write it as (^i,..., £k), 45 where (4 goes into E(iri,i). Each (4 is going to be specified using a cochain \f G Z%(ECj; 7Tj). The construction of from Aff is described in the algorithm below; it is roughly similar to the construction of kj from reff, but there is a subtlety involved. Hence the parameter J G Jk describing the first k stages of the Postnikov system has the form J = (I, mi, Af, ref, m2,..., Kf_x, mk,Aff). Of course, the re|f and A|f have to satisfy certain consistency requirements, so that they describe a valid Postnikov system (up to stage k). These will be formulated and proved later. The Postnikov system algorithm. Now we describe the way of computing Fk(I), i.e., obtaining the values of mi, Aff, reff,..., Kff_i, m^, Aff from / (using the black boxes specifying Y, of course). As was mentioned above, we proceed by induction. By definition, there is nothing to compute for k = 0 and, in order to make the induction start, we define Pq to be a single point and ipo to be the constant map. Next, we assume that the algorithm for Fk-i, computing the parameters, is given and we are required to compute the components Kf,f_i, mk, and Af,f. 1. Construct the algebraic mapping cone M* := Cone«(((/)j;_i)*), where (ifk-i)* '■ C*(Y) —> C*(Pk-i) is the chain map induced by ifk-i, as a chain complex with polynomial-time homology, by Proposition 3.8. By the proof of that proposition, the corresponding globally polynomial-time chain complex ECf has ECf+1 = EC\ © EC^1. 2. Compute the homology group Hk+i(EC^f) as a globally polynomial-time Abelian group. We let mk be its isomorphism type, and let Tik = Ab(m^). We also have an explicit, polynomial-time isomorphism Hk+i(EC^f) = Tvk, as in the definition of a globally polynomial-time Abelian group. 3. Choose a decomposition of the chain group ECk+1 of the form ECk+1 = EZ k+1®EC k+i, where EZ^+1 is the subgroup of all cycles, and ECk+1 is an arbitrary direct complement. M k+1 P: ECk+i = EZk+i © ECk+1 ->• EZ^+1 ->• Hk+1(EC^) irk. ~ r- Z7"7 fc+1' Let p: EC¥+1 —> nk be given as the projection In other words, every chain c G ECff+1 has a unique expression as c = z + c, z G EZM -M c G ECk , and p(c) is the element of irk corresponding to the homology class [z] G Hk+1(EC^)^Tvk. 4. Using the decomposition of EC^+1 as in Step 1, we denote the restriction of p to EC\ by Xf and the restriction to EC^^1 by n EC^f, let / denote the composite chain map M* —> ECf. Then we obtain a cochain pf: Mk+\ —> Tvk. Again we have a direct sum decomposition Mk+\ = Ck(Y) © Cfc+i(Pfc_i). We define Xk: Ck(Y) —> Tik as the restriction of pf to the summand Ck(Y) and £k : Y —> E(Tik, k) as the corresponding simplicial map; it is clearly polynomial-time. 46 It is easy to see that all the computations can be implemented in polynomial time. Perhaps only the decomposition in Step 3 may need some comment. The computation of EZJf+1 is a part of computing the homology group Hk+i(EC^f). Then, given a basis of EZ^+1, it suffices to extend it to a basis of the free Abelian group EC^+1, which is also straightforward using the Smith normal form. To prove correctness, we will need to verify that tt^ = -kk(Y), that re^fL1 is a cocycle, that the image of the induced map tpk = (tpk-iAk) hes in Pk, and that it satisfies the conditions in the definition of a Postnikov system. The proofs of all these claims are postponed to Section 4.3. Remark: non-uniqueness. A Postnikov system of a space Y is typically not unique. The algorithm above involves some arbitrary choices, namely, the choice of the direct complement of EZff+1 in Step 3, as well as the choice of the isomorphism of Hk+i(EC^f) with Ab(mj). Performing these choices differently may result in a different Postnikov system. At the same time, in an algorithm that uses a Postnikov system, such as the one in Corollary 1.3, we make many calls to the black boxes representing the Postnikov system, and we thus need that each time they refer to the same Postnikov system, for otherwise, the algorithm may not work correctly. This requirement is reflected in the definition of a parameterized simplicial set (X(I) : / £ I), where / determines X(I) uniquely. One way of satisfying this requirement is to use only deterministic algorithms (no randomization). Then, although the algorithm makes some "arbitrary" choices, these choices are always made in the same way for a given input. Another, more conceptual and practical way, is the re-parameterization as above: the results of all of the arbitrary choices are encoded in Fk(I), and then the Postnikov stages Pi(J) are defined uniquely, and similarly for the (kj)j and (ifi)j. In this case the computation of Fk(I) may use randomized algorithms as well, which may be useful, e.g., for a fast computation of the Smith normal form. 4.2 Further properties of Eilenberg MacLane spaces Here we prepare several lemmas needed in the proof of correctness of our algorithm for computing Postnikov systems. The proofs are routine, but we have no good reference for these facts. Here, tv will stand for an Abelian group. We recall that ev: K{jr,k)k = E{ir,k)k —> tv is the mapping assigning to each 7r-valued cocycle z G Zk(Ak;ir) its value on the unique fc-face of Ak. We can extend ev linearly to a homomorphism ev: Cfc(A(7r, k)) —> tv. The first lemma is essentially just re-phrasing of the considerations in Section 3.7 concerning the correspondence of simplicial maps into E(tt, k) with cochains. Lemma 4.2 (Lemma 24.2 in [30]). Let f: X —> E{jr,k) be a simplicial map. Then the cochain re: Cfc(A) —> tv corresponding to it can be expressed as re = ev/*, where /*: C*(A) —> C*(E{jT,k)) is the chain map induced by f. Also see [30, Lemma 24.3] for the corresponding statement for K(tt, k). The next two lemmas deal with maps induced by ev in homology. Lemma 4.3. The homomorphism ev: Cfc(A(7r, k)) —> tv induces an isomorphism Hk(K(Tr, k)) 7T. 47 Proof. First we note that Ck(K(iT,k)) = Zk(K(Ti,k)), since K(-K,k)k-i = {0}. Then ev is easily seen to be surjective, and so it remains to prove that ker(ev) = Bk(K(iT, k)). Let us consider z G K(ir, k)k+i = Zk(Ak+1;ir); thus, z is given by the (k + 2)-tuple (go,..., gk+i), where gi is the value of z on d{Ak+1, and the cocycle condition reads Yli=o(~!)*#* = 0 (in 7r). On the other hand, considering z as a chain in Ck+i(K(iT,k)), we have dz = Yli=o(~ ^y^iZ, and d{Z is the fc-cochain on Ak with value gi (if $j = 0, the term diZ is ignored in dz). Thus ev(dz) = Yli=o(~^)%9i = 0' and so Bk(K(ir, k)) C ker(ev). For the reverse inclusion, we recall that there is a one-to-one correspondence, given by the mapping ev, between the nondegenerate fc-simplices of K(tt, k) and the nonzero elements of 7r. Let us write og for the unique fc-simplex of K{jr,k) with evcr3 = g. Then a fc-chain c G Ck(K(iT, k)) can be written as c = 2^3e7r\{o} ag'ag^ with finitely many nonzero coefficients ag. We have ev(c) = 0 iff 2^3e7r\{0} a9 1, we get that for every g±,g2 G 7r, the chain 1 • agi + 1 • ag2 is homologous to 1 • crgi+g2 (where terms involving o"o are to be ignored). Then by induction we get that a general chain c = 2^3e7r\{o} a9 ' °9 1S homologous to 1 -as, where s = 2^3e7r\{o} ag9- ^n particular, if eve = 0, then c is homologous to the zero chain, and so c G Bk(K(iT, k)) as claimed. □ Lemma 4.4. The homomorphism h ■= ev + ev: Conefc+i(c)*) = Ck{E(ir,k)) © Ck+1{K(ir, k + 1)) ->• tt sending (cr,r) to ever + evr induces an isomorphism Hk+i^one^^S*)) —> tt. Proof. For brevity, we write E = -E(7r, fc) and K = K(tt, k + 1) since there are no other Eilenberg-MacLane spaces in this proof. In order to claim that h induces a map in homology, we verify that it vanishes on all boundaries. Thus, let (ct',t') G Conefc+2(c)*) be a generator, a' G Ek+i, t' G Kk+2- According to the formula (1) in Section 3.3 we have dCone* (a', t') = (-dEa', 5*{a') + dKr'). Since t' is a cocycle, we have ev(dktf) = 0, as we saw in the proof of Lemma 4.3. Moreover, it is easily checked that ev(dEa') = ev(<5*( tt. Now we consider the canonical inclusion C*(K) —> Cone*(<5*), which is a chain map, and thus it induces a map in homology, as in the following diagram (here we use that Ck+i(K) = Zk+1(K) and Ck(E) = Zk(E)): Ck+l{K) —^ Ck{E) © Ck+1(K)= Conefc+i(<$„) tt Hk+1(K) —Hk+1(Cone*(5*)) Here ev* on the left in the bottom row is the isomorphism induced by ev as in Lemma 4.3. The map is an isomorphism by the long exact homology sequence of the pair (Cone(<5*), C*(A)), because the quotient Cone(5*)/C*(K) = C*(E)^ is the shift of the chain complex of a con-tractible simplicial set E (see e.g. [30, Proposition 21.5, Theorem 23.10]), and thus all homology groups of this quotient vanish except for the one in dimension 1. Finally, it suffices to verify that h^i* = ev*, but this is clear, since the composition on the left maps [r] i u > [(0,r)] i h* > evr. □ 48 4.3 Correctness of the algorithm Here we provide a proof of correctness for the algorithm above. It uses more or less standard methods, but we do not know of an accessible presentation in the literature. In this part, we are going to use somewhat more advanced topological notions without defining them; we refer to standard textbooks, such as [20]. We assume the correctness of the algorithm for k — 1. For brevity we write tp = ipk-i, P = iVi, K = K{Tvk, k + 1), and E = E{Tvk, k). Checking 7Tfc = 7Tk(Y). We recall that the algorithm sets up an isomorphism Hk+i{EC^f) = Tik', thus we need to verify that Hk+i{EC^f) = irk(Y). Let Cyl: Y —> P, i.e., the simplicial set (Y x A1 UP)/ ~, where ~ is the equivalence identifying (y, 0) with f(y), y 6 Y. Let us also identify Y with Y x {1}, the "top copy" of Y in Cy\p>. Using the Eilenberg-Zilber reduction, it is easy to check that the chain complex of the pair (Cyl is homotopy equivalent to P, and the assumption 7Tj(P) = 0 for i > k, the long exact sequence of homotopy groups for the pair (Cy\ip,Y) yields that this pair is fc-connected and Tik(Y) = Tik+i(Cylip,Y). Due to the ^-connectedness of (Cy\tp,Y), the Hurewicz isomorphism yields 7r/u+1(Cyl Y) = Hk+i(Cylip, Y). Putting all these isomorphisms together we obtain Tik(Y) = Tik, as desired. The cochain is a cocycle. We recall that is the composition 4_x: ECfri ^ ECl © ECfri = EC]f+1 -A 7rfc The inclusion, being a chain map, preserves boundaries, and p, by definition, vanishes on them. Thus the composite also vanishes on boundaries and is indeed a cocycle. The map takes values in Pj,. First we will need a description of the cocycle Kk-\ similar to that of Xk. Namely, the remark following the proof of Proposition 3.8 says that can be also obtained as a restriction of pf from Step 5 to Ck+i(Pk-i).27 Thus, denoting the inclusions of the two summands by i: Ck+i{Pk-i) —> Mk+i and j: Ck(Y) —> Mk+i, we can write Kk-\ = pfi and Xk = pfj. Now, we will verify that the map ipk = ( Ck+i{P) is the chain map induced by ip and dY is the differential in C*(y). We have nk_ip>* — XkdX = pf(itp* — jdY). As above, pf maps boundaries in M* to 0, so it suffices to show that the images of iip* — jdY are boundaries—but by the formula for the differential in the algebraic mapping cone, we have that for every a £ Yk+i, (iip* — jdY)(a) = dM*(a, 0) is indeed a boundary. 27On the other hand, \k in general cannot be computed solely from A|f and the effective homology of Y. A notable exception to this is when C*(Y) = ECX, as happens e.g. for finite simplicial complexes. In this case we have Xk = A|f. 49 Using Lemma 4.2, we find that Kk-np* = (ev(kfc_i)*) Pk —> P and using the assumption 7Tj(P) = 0 for i > k, it is straightforward to check that iVi(Pk) = 0 for i > k + 1, and that the maps 7Tj(Y) —> Tii(Pk) induced by ipk are isomorphisms for i < k — 1. For establishing condition (i) in the definition of a Postnikov system, it remains to verify that : irk(Y) —> Tik(Pk) 1S an isomorphism as well. To this end, we begin with the diagram Y^Pk where the right square is the pullback diagram defining Pk. Next, we replace each of the spaces in the bottom row with the mapping cylinder of the respective vertical map, so that the vertical maps become inclusions (of the domain in the cylinder); the horizontal maps of the cylinders are then induced in a canonical way. Vk Y Cyl tp->Cy Pk (14) -+Cyl<5 Lemma 4.5. The map TVk+i(Cylip,Y) last diagram is an isomorphism. 7rfc+i(Cylpfc5 Pk) induced by the left square of the We first finish the proof of correctness of the algorithm assuming the lemma. We consider the long exact sequences coming from the pairs (Cy\ip,Y) and (Cylpk, Pk)'- 0 = 7rk+1(Cylip)->7rk+1(Cylip,Y)->7rk(Y)->7rk(Cylip) = 0 0 = 7Tfc+i(Cylpfc) —>7Tk+i(Cylpk,Pk) —>TTk{Pk) —^fc(Cylpfc) = 0 The second vertical isomorphism is proved in the lemma and the other two follow from 7Tj(P) = 0 for i > k, since both of the cylinders deform onto the base P. Then the five-lemma implies that ipk* is an isomorphism on Tik, which completes the proof of condition (i) from the definition of a Postnikov system. All that remains is to prove the lemma. Proof of Lemma 4-5. We will show that both the right square and the composite square induce an isomorphism in the relative homotopy groups of the vertical pairs in dimension k + 1. We start with the composite square. Since both (Cy\ip,Y) and (Cyl 5, E) are fc-connected, it suffices to prove that the square induces an isomorphism on the (k + l)-st homology group. We use that the chain complexes of these pairs are isomorphic to the respective (reduced) algebraic mapping cones. We find 50 that the chain map C*(Cy\ip,Y) —> C*(Cyl<5, E) is actually £k* © k(fc-i)*; this can be seen using the diagram Y kfe-i P-> K. Then we consider the diagram Ck{Y) © Ck+l{P) 4,ffik(fc'1)' ) Ck{E) © Ck+1(K), Xk + kk ev + ev which commutes in view of Lemma 4.2. The left map Xk + Kk-i equals pf, and since both p and / induce isomorphisms in homology, so does Xk + Kk-i- The map ev + ev induces an isomorphism in homology by Lemma 4.4. Therefore the same is true for the horizontal map, and hence the composite square in the diagram (14) induces an isomorphism in the {k + l)st homotopy groups of the vertical pairs, as claimed. It remains to study the right square. Before we passed to mapping cylinders, the original square was a pullback. The original vertical maps are fibrations, and consequently, the induced map on fibers (which are both K(Tik,k)) is an isomorphism. Next, there is an isomorphism 7rfc+i(Cylpfc) Pk) — ^(fibpfc)) an7rk+1(Cyl5, E) 7rfc(fibpfc) ->vrfc(fib<5). commutes. We will thus be able to conclude that -Kk+i{Cy\pk, Pk) —> 7Tfc+i(Cyl5, E) is indeed an isomorphism as required. The required map Tik+i(Cylpk, Pk) —> Tik(nbpk) is defined via representatives. To this end, we represent an element of 7rk+i(Cylpk, Pk) by a map /: Ik+1 —y Cylpk that sends the face Ik (where the last coordinate is zero) to Pk and the union of the remaining faces, which we denote by Jk, to the basepoint (here Ik+1 denotes the unit cube). Now composing / with the projection pr: Cy\pk —> P we obtain g = pro/: Jk+1 —> P; which we lift along pk to g: Ik+1 —y Pk. One may prescribe the values on all the faces except for one. Here we decide that g agrees with / on the only interesting face Ik and that it is constant onto the basepoint on the neighboring faces. Finally, the restriction to the remaining face (opposite to Ik) gives us a map g\: Ik —> nhpk, and this is the representative of the image of [/] under the desired map 7rfc+i(Cylpfc, Pk) 7rfc(fibpfc)- It remains to show that this map is indeed an isomorphism. For this, we consider the following diagram, whose top row is the long exact sequence of the pair (Cylpk, Pk), and whose bottom row is associated with the fibration pk. -> 7rk+iPk-► TTk+i Cy\pk-► 7rfc+i(Cylpfc, Pk -> ^kPk -> TTfc Cylpfc id -^^k+lpk (A) (B) id -^7rfc nbpk 51 The isomorphism will follow from the five-lemma once we show that the squares (A) and (B) commute up to a sign. The square (A) anticommutes because the path through the bottom left corner consists of lifting g as above but with the restriction to Jk being constant onto the basepoint. One can obtain this by first flipping Ik+1 along the last coordinate and then lifting as above. The flipping amounts to multiplication by —1 on 7r/u+1(P). The square denoted by (B) commutes by an easy inspection: the map g± is nomotopic inside P& with f\jk (the image in the top right corner of that square), the required homotopy being g. □ 5 The extension problem Proof of Theorem 1.4- Here we prove the result about testing extendability of a map using tools from [6]. We are given simplicial sets A C X and Y and a simplicial map /: A —> Y, where X is finite, dim A < 2k — 1, and Y is {k — l)-connected. First, by [53, Theorem 7.6.22], a continuous extension of / to X exists, under these assumptions, if and only if the composition (f2k-2f'■ A —> ?2k-2 admits a continuous extension to X, where ?2k-2 is the map in the Postnikov system of Y. By the homotopy extension property, this happens precisely when there exists a map X —> ?2k-2^ whose restriction to A is nomotopic to (f2k-2f • In terms of homotopy classes of maps, this is if and only [ P2U-2-, an which is defined simplexwise (i.e., (/ EE g){o~) = f{o~) EE g(cr)). This easily implies that the restriction map p is a group homomorphism. Given an element (homotopy class) [g] 6 [X, P2/C-2], represented by a simplicial map g, we consider the restriction g\^ as a representative of an element of [.A, P2fc-2]> and we can express it using the generators of [A, P2k-2\- Thus, p is polynomial-time computable, and we can compute the image im p as a subgroup of [A, P2/C-2] (by computing the images of the generators of [X, P2k-2\ an Y, we compute the corresponding element [• Y, decide whether / can be extended to a continuous map /: X —>• Y. All spaces are given as finite simplicial complexes and the map / is simplicial. Recent positive algorithmic results, proved in a series of companion papers, show that for (k — l)-connected Y, k > 2, the extension problem is algorithmically solvable if the dimension of X is at most 2k — 1, and even in polynomial time when k is fixed. Here we show that the condition dirnX < 2k — 1 cannot be relaxed: for dimX = 2k, the extension problem with (k — l)-connected Y becomes undecidable. Moreover, either the target space Y or the pair (X, A) can be fixed in such a way that the problem remains undecidable. Our second result, a strengthening of a result of Anick, says that the computation of 7Tfc(Y) of a 1-connected simplicial complex Y is #P-hard when k is considered as a part of the input. 1. Introduction One of the central themes in algebraic topology is to understand the structure of all continuous maps A —> Y, for given topological spaces A and Y (all maps between topological spaces in this paper are assumed to be continuous). For topological purposes, two maps /,g: A —^ "This research was supported by the ERC Advanced Grant No. 267165. The research of M. C. was supported by the project CZ.1.07/2.3.00/20.0003 of the Operational Programme Education for Competitiveness of the Ministry of Education, Youth and Sports of the Czech Republic. The research by M. K. and J. M. was supported by the Center of Excellence - Inst, for Theor. Comp. Sci., Prague (project P202/12/G061 of GA ČR). The research of L. V. was supported by the Center of Excellence - Eduard Cech Institute (project P201/12/G028 of GA CR). The research by U. W. was supported by the Swiss National Science Foundation (grants SNSF-200020-138230 and SNSF-PP00P2-138948). aDepartment of Mathematics and Statistics, Masaryk University, Kotlářská 2, 611 37 Brno, Czech Republic bDepartment of Applied Mathematics, Charles University, Malostranské nám. 25, 118 00 Praha 1, Czech Republic "Institute of Theoretical Computer Science, ETH Zurich, 8092 Zurich, Switzerland dInstitut de Mathématiques de Geometrie et Applications, École Polytechnique Federate de Lausanne, EPFL SB MATHGEOM, MA CI 553, Station 8, 1015 Lausanne, Switzerland 1 Y are usually considered equivalent if they are homotopic, i.e., if one can be continuously deformed into the other1; thus, the object of interest is [X, Y], the set of all homotopy classes of maps X —> Y. Many of the celebrated results throughout the history of topology can be cast as information about [X, Y] for particular spaces X and Y. In particular, one of the important challenges propelling the research in algebraic topology has been the computation of the homotopy groups of spheres2 irk(Sn), for which only partial results have been obtained in spite of an enormous effort (see, e.g., [Rav04, Koc90]). A closely related question is the extension problem: given A c X and a map /: A —> Y, can it be extended to a map X —> Y? For example, the famous Browner Fixed-Point Theorem can be re-stated as non-extendability of the identity map Sn —> Sn to the ball Dn+1 bounded by the sphere Sn. See [Ste72] for a very clear and accessible introduction to the extension problem, including further examples and applications and covering the earlier developments until the late 1950s. Computational homotopy theory. In this paper, we consider the (theoretical) computational complexity of homotopy-theoretic questions such as the extension problem, the homotopy classification of maps, and the computation of homotopy groups. More precisely, we prove hardness and undecidability results that complement recent positive algorithmic results obtained in a series of companion papers [CKM+11, KMS11, CKM+12]. To put our results into context, we first give more background. By classical uncomputability results in topology (see, e.g., the survey [Soa04]), most of these problems are algorithmically unsolvable if we place no restriction on the space Y Indeed, by a result of Adjan and of Rabin, it is undecidable whether the fundamental group vri(Y) of a given finite simplicial complex Y is trivial, even if Y is assumed to be 2-dimensional. The triviality of vri(Y) is equivalent to [51, Y] having only one element, represented by the constant map, and so [S1, Y] is uncomputable in general. Moreover, by the Boone-Novikov theorem, it is undecidable whether a given pointed map /: S*1 —> Y is homotopic to a constant map, and this homotopic triviality is equivalent to the extendability of / to the 2-dimensional ball D2. Therefore, the extension problem is undecidable as well.3 In these results, the difficulty stems from the intractability of the fundamental group of Y. Thus, a reasonable restriction is to assume that vri(Y) is trivial (which in general cannot be tested, but in many cases of interest it is known), or more generally, that Y is k-connected, meaning that 7Tj(Y) is trivial for all i < k (equivalently, every map Sl —> Y, i < k, can be extended to Dt+1). A basic and important example of a (k — l)-connected space is the sphere Sk. For a long time, the only positive result concerning the computation of [X, Y] was that 1More precisely, / and g are homotopic, in symbols / ~ g, if there is a map F: X x [0,1] —> Y such that F(-,0) = / and F(-, 1) = g. With this notation, [X, Y] = {[/] : /: X Y}, where [/] = {g : g ~ /} is the homotopy class of /. 2 We recall that the fcth homotopy group nk (Y) of a space Y is defined as the set of all homotopy classes of pointed maps /: Sk —> Y, i.e., maps / that send a distinguished basepoint so G Sk to a distinguished basepoint yo £ Y (and the homotopies F also satisfy F(so,i) = yo for all t 6 [0,1]). Strictly speaking, one should write ivk(Y, yo) but for a path-connected Y, the choice of yo does not matter. Moreover, if Y is simply connected, i.e., if 7ri(y) is trivial, then the pointedness of the maps does not matter either and one can identify ivk(Y) with [Sk,Y]. For k > 1, each Tvk(Y) is a group, which for k > 2 is Abelian; the definition of the group operation will be reviewed in Section 4. 3For undecidability results concerning numerous more loosely related topological problems we refer to [Soa04, NW99, NW96] and references therein. 2 of Brown [Bro57], who showed that [A, Y] is computable under the assumption that Y is 1-connected and that all the higher homotopy groups irk(Y), 2 < k < dim A, are finite (the second assumption is rather strong and not satisfied if Y is a sphere, for example). Brown also gave an algorithm that, given k > 2 and a finite 1-connected simplicial complex Y, computes vrfc(y). In the 1990s, three independent collections of works appeared with the goal of making various more advanced methods of algebraic topology effective (algorithmic): by Schön [Sch91], by Smith [Smi98], and by Sergeraert, Rubio, Dousson, and Romero (e.g., [Ser94, RS02, RRS06, RS05]; also see [RS 12] for an exposition). New algorithms for computing higher homotopy groups follow from these methods; see Real [Rea96] for an algorithm based on Sergeraert et al. An algorithm that computes TikiY) f°r a given 1-connected simplicial complex Y in polynomial time for every fixed k > 2 was recently presented in [CKM+12], also relying on [KMS11] and on the methods of effective homology developed earlier by Sergeraert et al. The problem of computing [X, Y] was addressed in [CKM+11], where it was shown that its structure is computable assuming that Y is (k — l)-connected and dim(A) < 2k — 2, for some integer k > 2. These assumptions are sometimes summarized by saying that X and Y are in the stable range. As observed in [CKM+12], the methods of [CKM+11] can also be used to obtain an algorithmic solution of the extension problem. Here dim X can even be 1 beyond the stable range4; thus, given finite simplicial complexes A C X and Y and a simplicial map /: A —> Y, where Y is (k — l)-connected and dim A < 2k — 1, k > 2, it can be decided algorithmically whether / can be extended to a continuous map X —> Y. The algorithm again runs in polynomial time for k fixed, and the same holds for the algorithm mentioned above for computing [A, Y] in the stable range. New undecidability results. For the algorithms for homotopy classification and extend-ability, we have two types of assumptions: The first is that the dimension of A is suitably bounded in terms of the connectivity of Y (in the stable range or at most one more). This is essential for the algorithms to work at all.5 The second assumption is that the relevant dimensional parameter k is fixed, which guarantees that the algorithm runs in polynomial time. Our main result is that for the extension problem, the first assumption is necessary and sharp. Theorem 1.1. Let k > 2 be fixed. (a) (Fixed target) There is a fixed (k — l)-connected finite simplicial complex Y = Yj. such that the following problem is algorithmically unsolvable: Given finite simplicial complexes A C A with dim A = 2k and a simplicial map f:A—>Y, decide whether there exists a continuous map X —> Y extending f. For k even, we can take Y^ to be the sphere Sk. 4In the border case dimX = 2k — 1, the algorithm just decides the existence of an extension, while for dimX < 2k — 2 it also yields a classification of all possible extensions up to homotopy. BWe remark that the stable range assumption guarantees that [X, Y] has a canonical Abelian group structure, which we exploit heavily (for instance, it means that [X, Y] has a finite description even when it is an infinite set). In the special case iikiY) = [Sk, Y], by contrast, the group structure has a different origin and is available for all dimensions k. 3 (b) (Fixed source) There exist fixed finite simplicial complexes A = Ak and X = Xk with A C X and dimX = 2k such that the following problem is algorithmically unsolvable: Given a (k — 1)-connected finite simplicial complex Y and a simplicial map f:A—>Y, decide whether there exists a continuous map X —> Y extending f. The theorem is stated in terms of simplicial complexes since these are a standard input model for topological spaces in computational topology that we assume may be most familiar to most readers. For the purposes of our reductions, we actually work with simplicial sets (see Section 3.2), which offer a more flexible, but still purely combinatorial, way of representing topological spaces. The simplicial sets are then converted into simplicial complexes by a suitable subdivision. When constructing A, X and Y as simplicial sets, we can furthermore ensure that Y has a certain additional property, namely that it is {k — 1)-reduced, which provides an immediate certificate that Y is (k — l)-connected; this is proved in B. Thus, in particular, the difficulty of the extension problem does not lie in verifying the (k — l)-connectedness of Y. While most of the previous undecidability results in topology rely on the word problem in groups and its relatives, our proof of Theorem 1.1 relies on undecidability of Hilbert's tenth problem, which is the solvability of a system of polynomial Diophantine equations, i.e., the existence of an integral solution of a system of the form Pi{xi,...,xr) = tt, i = l,2,...,s, (1) where pi,... ,ps are r-variate polynomials with integer coefficients. This problem is unde-cidable by a celebrated result of Matiyasevich [Mat70], building on earlier work by Davis, Putnam, and Robinson; also see [Mat93, Maz94] for additional background and further references. On the hardness of computing [x, y], When dimX = 2k and Y is (k — l)-connected, we can no longer equip [X, Y] with the group structure of the stable range. Thus, it is not clear in what sense the the potentially infinite set [X, Y] could be computed in general. A natural computational problem in this setting is to decide whether \[X, Y]\ > 1; in other words, whether there is a homotopically nontrivial map X —> Y for given simplicial complexes X and Y as above. We can prove that this problem is NP-hard for every even k > 2; in order to keep this paper reasonably concise, the proof is to be presented in the PhD. thesis of the second author. The reduction is very similar to that of Theorem 1.1. We can show that the problem is at least as hard as deciding the existence of a nonzero integral solution of the quadratic system (Q-SYM) defined in Section 2 below with all the constant terms bq equal to zero. This problem may well be undecidable, but as far as we know, the best known lower bound is that of NP-hardness. #P-hardness. Our second result concerns the problem of computing the higher homotopy groups ttn(Y) = [Sn,Y] for a simply connected space Y, if n is not considered fixed but part of the input (n is given in unary encoding) .6 Anick [Ani89] proved that this problem is 6Note that with a unary encoding of n, the size of input is significantly larger than with a binary (or decimal encoding), and hence the hardness result is correspondingly stronger. 4 #P-hard,7 where Y can even be assumed to be a 4-dimensional space.8 However, Anick's hardness result has the following caveat: it assumes that the input space Y is given in a very concise form, as a cell complex with the degrees of the attaching maps encoded in binary (see Section 5.3 for a review of the construction). A straightforward way of converting this cell complex to a simplicial complex yields a 4-dimensional simplicial complex with an exponential number of simplices, which renders the hardness result meaningless for simplicial complexes. In Section 6.3, we provide a different way of converting Anick's concise encoding of the input space Y into a homotopy equivalent9 simplicial complex that can be constructed in polynomial time, and in particular, has only polynomially many simplices. This yields the following result: Theorem 1.2. It is #P-hard to compute the rank of irn(Y) (i.e. the number of summands of'irn(Y) isomorphic to YL) for a given number n G N (encoded in unary,) and a given simply connected ^-dimensional simplicial complex Y. Outline of the proof of Theorem 1.1. We aim to present our results in a way that makes the statements of the results and the main steps and ideas accessible while assuming only a moderate knowledge of topology on the side of the reader. We thus review a number of basic topological concepts and provide proofs for various assertions and facts that may be rather elementary for topologists. On the other hand, some of the proofs assume a slightly stronger topological background, since reviewing every single notion and fact would make the paper too lengthy. For proving Theorem 1.1, we present an algorithm that converts a given system of Dio-phantine equations into an instance of the extension problem; i.e., it constructs simplicial complexes A, X and Y and a map /': A —>■ Y such that there is an extension of / to all of A iff the given system of equations is solvable. Moreover, as stated in the theorem, there are actually two versions of the reduction: The first uses a fixed target space Y = Yk and encodes the equations into A, A, and /. The second uses a fixed pair (Xk,Ak) of source complexes and encodes the equations into / and Y. We will actually work only with quadratic Diophantine equations of a slightly special form (which is sufficient; see Section 2). The unknowns are represented by the degrees of restrictions of the desired extension / to suitable fc-dimensional spheres. The quadratic terms in the equations are obtained using the Whitehead product, which is a binary operation that, for a space Z, assigns to elements a e irk(Z) and (3 £ ire(Z) an element [a,(3] e -Kk+e-i{Z)\ see Section 4.2. Here is a rough outline of the proof strategy. First we focus on Theorem 1.1 (a) (fixed target) with k even, which is the simplest among our constructions. 7Somewhat informally, the class of #P-hard problems consists of computational problems that should return a natural number (as opposed to YES/NO problems) and are at least as hard as counting the number of all Hamiltonian cycles in a given graph, or counting the number of subsets with zero sum for a given set of integers, etc. These problems are clearly at least as hard as NP-complete problems, and most likely even less tractable. 8Actually, the hardness already applies to the potentially easier problem of computing the rational homotopy groups 7r„(y)®(Q; practically speaking, one asks only for the rank of ivn(Y), i.e., the number of direct summands isomorphic to 7L. 9Spaces X and Y are homotopy equivalent if there are maps /: X —> Y and g: Y —> X such that the compositions fg and gf are nomotopic to identities. Prom the point of view of homotopy theory, such X and Y are indistinguishable and, in particular, irk (X) = irk (Y) for all fc > 0. 5 • The spaces X and A are simplest to describe as cell complexes. The subcomplex A is a union of r spheres S'2fc_1, which intersect only at a single common point. This union is called a wedge sum and denoted by A = S2^1 V • • • V 52fc_1. The space X is homotopy equivalent to another wedge sum, of s spheres Sk; i.e., X ~ Sk V • • • V Sk. • The fixed (k — l)-connected target space Y is the fc-sphere Sk. • Maps X —> Sk can be described completely by their restrictions to the fc-spheres in the wedge sum. Each such restriction is characterized, uniquely up to homotopy, by its degree—this can be an arbitrary integer. Thus, a potential extension / can be encoded into a vector x = ..., xr) of integers. • Similarly, the map /': A —>■ Sk can be described by its restrictions to the (2k — l)-spheres in the wedge sum. Crucially for our construction, the homotopy group iT2k-i(Sk) has an element of infinite order, namely, the Whitehead square [l, l], where l is the identity Sk —> Sk (we still assume k even). We will work with maps / whose restriction to the qth. sphere is (nomotopic to) an integral multiple bq[t, t], for some (unique) integer bq. Thus, / is specified by the vector b = (b±,..., bs) of these integers. • Given arbitrary integers 1 < i < j < r, q = 1, 2,..., s, we construct the pair (X, A) in such a way that, taking /: X —> Y specified by x as above, the restriction of / to the qth. sphere of A is nomotopic to YliL] (here the addition and multiplication by integers are performed in TT2k-i{Sk)). Since [l, l] is an element of TT2k-i{Sk) of infinite order, / is an extension of / iff Yli ■ ■ ■ ' S' (4) l — x-i between the solutions of (4) and those of the system with negated linear terms, the solvability of the constructed system (Q-SYM) is equivalent to the solvability of (4). Next, we show that (Q-SKEW) is no easier than (Q-SYM). Given a general system (Q-SYM), we add new variables xq, yo, x'0, y'0 and, for each i = 1,... ,r, also a^, y-i and y[. We replace each term x-iXj in the original system (Q-SYM) by the antisymmetric expression Xiy'j — x'^yi, and we add the following equations (for i = 1, 2,..., r): xoy'o ~ xoVo = 1, x0yi-Xiyo = 0, x0y-- x-y0 = 0, (x0y-- x-y0) - (xiVo ~ xoVi) = °- This gives a system of the form (Q-SKEW), which we call the new system. It is clear that each solution of (Q-SYM) yields a solution of the new system. Conversely, supposing that the new system has a solution, we claim that it also has a solution with xo = y'o = 1 and yo = x'o = 0- Once we have a solution satisfying these additional conditions, it is easy to check that xi,... ,xr form a solution of the original system. 10 The idea is to represent higher-degree monomials in the general system using new variables; e.g., for the monomial x'iy we can introduce new variables ti, t2, new quadratic equations ti = x2 and t2 = xy, and replace x3y by tit2. 7 To verify the claim, for notational convenience, let us index the x and y variables in the new system by the set I = {0,1,... ,r, 0', 1',..., r'}, where = x\ and y^ = y\. We suppose that (xi ,yi :i£ /) form a solution of the new system. Since xoy'0 — x'0yo = 1, the 2x2 matrix x° x? ) has determinant 1 and thus an integral inverse matrix, which we denote by T. Let us define new values (x{, yi : i G /) by (|*) = T • (y\), i e I. We have xq = y'0 = 1 and yo = x0 = 0, and it remains to show that the X{ and yi satisfy the new system. This is because, for every i,j G /, we have XiVj — XjUi = det ( X% X^ ) = det ( T • { X% X-* = detT • det ( X% X-* ) = x;ij~ — x,i/,'. \yi Vi) U3 3U □ 3. Cell complexes and simplicial sets This section and the next one mostly present known material from topology; in several cases we need to adapt results from the literature to our needs, which is sometimes best done by re-proving them. Readers may want to skim these two sections quickly and return to them later when needed. Here we review two basic ways of building topological spaces from simple pieces: cell complexes and simplicial sets. Cell complexes, also known as CW complexes, are fairly standard in topology, and we will use them for a simple description of the various spaces in our proofs. Simplicial sets are perhaps less well known, and for us, they will mainly be a convenient device for converting cell complexes into simplicial complexes. Moreover, they are of crucial importance in the algorithmic results mentioned in the introduction. For a thorough discussion of simplicial complexes, simplicial sets, cell complexes, and the connections between the three, we refer to [FP90]. 3.1. Cell complexes In the case of cell complexes, the building blocks are topological disks of various dimensions, called cells, which can be thought of as being completely "flexible" and which can be glued together in an almost arbitrary continuous fashion. Essentially the only condition is that each ra-dimensional cell has to be attached along its boundary to the (n — 1)-skeleton of the space, i.e., to the part that has already been built, inductively, from lower-dimensional cells. The formal definition is as follows. We recall that if X and Y are topological spaces and if /: A —> Y is a map defined on a subspace A C X, then the space X UfY obtained by attaching X to Y via f is defined as the quotient of the disjoint union X UY under the equivalence relation generated by the identifications a ~ f(a), a G A. A closed or open n-cell is a space homeomorphic to the closed ra-dimensional unit disk Dn in ra-dimensional Euclidean space or its interior Dn, respectively; a point is regarded as both a closed and an open 0-cell. 8 An m-dimensional cell complex X is the last term of an inductively constructed sequence of spaces X<® C A« C X^ C ... C X^ = A, called the skeleta of A: 1. A(°) is a discrete set of points (possibly infinite) that are regarded as 0-cells. 2. Inductively, the ra-skeleton X^ is formed by attaching closed ra-cells Df (where i ranges over some arbitrary index set) to A^™-1) via attaching maps pi: S'^1 = dDn —> X(n~l\ Formally, we can consider all attaching maps together as defining a map p = Unpi from the disjoint union S^1 to A^"1) and form A(n) = (\Ji Df) A^"1). For every closed cell Df, one has a characteristic map 12 $i: Df -> C A, which restricts to an embedding on the interior Df. The image $i(Df) is commonly denoted by ef, and it follows from the construction that every point of A is contained in a unique open cell (note that these are in general not open subsets of A, however). As a basic example, the ra-sphere is a cell complex with one ra-cell and one 0-cell, obtained by attaching Dn to a point e° via the constant map that maps all of Sn~1 to er> Subcomplexes. A subcomplex A C A is a subspace that is closed and a union of open cells of A. In particular, for each cell in A, the image of its attachment map is contained in A, so A is itself a cell complex (and its cell complex topology agrees with the subspace topology inherited from A). The homotopy extension property. An important fact is that cell complexes have the so-called homotopy extension property: Suppose that A is a cell complex and that A C A is a subcomplex. If we are given a map fo: A —> Y into a some space Y, an extension /o : A —> Y of fo and a homotopy H: Ax [0,1] between fo and some other map fi: A —> Y, then H can be extended to a homotopy H: X x [0,1] Y between fo and some extension fi: A —> Y of f\. Here is an immediate consequence: Corollary 3.1. For a cell complex X, subcomplex A C X, and a space Y, the extendability of a map f: A —> Y to X depends only on the homotopy class of f in [A, Y]. Moreover, the map f: A —> Y has an extension f: X —> Y iff there exists a map g: X —^ Y such that the diagram A —-—> Y commutes up to homotopy, i.e., gi ~ /. Cellular maps and cellular approximation. A map /: A —> Y between cell complexes is called cellular if it maps skeleta to skeleta, i.e., /(I*"') C Y^ for every n. The cellular approximation theorem (see [HatOl, Thm. 4.8]) states that every continuous map /: A —> Y between cell complexes is nomotopic to a cellular one; moreover, if the given map / is already cellular on some subcomplex A C A, then the homotopy can be taken to be stationary on A (i.e., the image of every point in A remains fixed throughout). 11Cell complexes can be also infinite-dimensional, in which case some care has to be taken in defining their topology, but we will deal with cell complexes made of finitely many cells, and thus finite-dimensional. 12The composition of the inclusion D™ <-^> (|J. D™) U with the quotient map. 9 3.2. Simplicial sets For certain constructions it is advantageous to use a special type of cell complexes with an additional structure that allows for a purely combinatorial description; the latter also facilitates representing and manipulating the objects in question, simplicial sets, on a computer. We refer to [Fril2] for a very friendly thorough introduction to simplicial sets. Intuitively, a simplicial set can be thought of as a kind of hybrid or compromise between a simplicial complex (more special) on the one hand and a cell complex (more general) on the other hand. Like in the case of simplicial complexes, the building blocks (cells) of which a simplicial set is constructed are simplices (vertices, edges, triangles, tetrahedra, ...), and the boundary of each ra-simplex An is attached to the lower-dimensional skeleton by identifications that are linear on each proper face (subsimplex) of An; thus, these identifications can be described combinatorially by maps between the vertex sets of the simplices.13 However, the attachments are more general than the one permitted for simplicial complexes; for example, one may have several 1-dimensional simplices connecting the same pair of vertices, a 1-simplex forming a loop, two edges of a 2-simplex identified to create a cone, or the boundary of a 2-simplex all contracted to a single vertex, forming an S2. Moreover, one keeps track of certain additional information that might seem superfluous but turns out to be very useful for various constructions. For instance, even if the identifications force some ra-simplex to be collapsed to something lower-dimensional (so that it could be discarded for the purposes of describing the space as a cell complex), it will still be formally kept on record as a degenerate ra-simplex; for instance, the edges of the triangle with a boundary contracted to a point (the last example above) do not disappear—formally, each of them keeps a phantom-like existence of a degenerate 1-simplex. Formally, a simplicial set X is given by a sequence (Xq, X±, X2,...) of mutually disjoint sets, where the elements of Xn are called the n-simplices of X (we note that, unlike for simplicial complexes, a simplex in a simplicial set need not be determined by the set of its vertices; indeed, there can be many simplices with the same vertex set). The O-simplices are also called vertices. For every n > 1, there are ra+1 mappings do,... ,dn: Xn —> Xn-\ called face operators; the intuitive meaning is that for a simplex a £ Xn, d-io is the face of a opposite to the iih vertex. Moreover, there are ra + 1 mappings sq, ... ,sn: Xn —> Xn+i called the degeneracy operators; the approximate meaning of s-ia is the degenerate simplex which is geometrically identical to a, but with the ith vertex duplicated. A simplex is called degenerate if it lies in the image of some sf, otherwise, it is nondegenerate. We write Xndg for the set of all nondegenerate simplices of X. A simplicial set is called finite if it has only finitely many nondegenerate simplices (if X is nonempty, there are always infinitely many degenerate simplices, at least one for every positive dimension). There are natural axioms that the di and the s« have to satisfy, but we will not list them here, since we won't really use them. Moreover, the usual definition of simplicial sets uses the language of category theory and is very elegant and concise; see, e.g., [FP90, Sec. 4.2]. 13More precisely, the vertex set of each simplex is equipped with an ordering, and the identifications are required to be weakly order-preserving maps (not necessarily injective) between the vertex sets. 10 If A and A are simplicial sets such that An C Xn for every n and the face and degeneracy operators of A are the restrictions of the corresponding operators of X, then we call A a simplicial subset of X. Examples. Here we sketch some basic examples of simplicial sets; again, we won't provide all details, referring to [Fril2]. Let Ap denote the standard p-dimensional simplex regarded as a simplicial set. For p = 0, (A°)n consists of a single simplex, denoted by 0n, for every n = 0,1,...; 0° is the only nondegenerate simplex. The face and degeneracy operators are defined in the only possible way. For p = 1, A1 has two 0-simplices (vertices), say 0 and 1, and in general there are n + 2 simplices in (Ax)n; we can think of the ith. one as containing i copies of the vertex 0 and n + 1 — i copies of the vertex 1, i = 0,1,..., n + 1. For p arbitrary, the n-simplices of Ap can be thought of as all nondecreasing (n + l)-term sequences with entries in {0,1,... ,p}; the ones with all terms distinct are nondegenerate. In a similar fashion, every simplicial complex K can be converted into a simplicial set A in a canonical way; first, however, we need to fix a linear ordering of the vertices. The nondegenerate n-simplices of A are in one-to-one correspondence with the n-simplices of K, but many degenerate simplices show up as well. Geometric realization. Like a simplicial complex, every simplicial set A defines a topological space |A|, the geometric realization of A, which is unique up to homeomorphism. More specifically, |A| is a cell complex with one re-cell for every nondegenerate re-simplex of A, and these cells are glued together according to the identifications implied by the face and degeneracy operators (we omit the precise definition of the attachments, since we will not really use it and refer to the literature, e.g., to [Fril2] or [FP90, Sec. 4.3]). Simplicial maps. Simplicial sets serve as a combinatorial way of describing a topological space; in a similar way, simplicial maps provide a combinatorial description of continuous maps. A simplicial map f: X —> Y of simplicial sets X,Y consists of maps fn: Xn —> Yn, n = 0,1,..., that commute with the face and degeneracy operators. A simplicial map /: A —> Y induces a continuous, in fact, a cellular map |/|: |A| —> \Y\ of the geometric realizations in a natural way (we again omit the precise definition). Often we will take the usual liberty of omitting | • | and not distinguishing between simplicial sets and maps and their geometric realizations. Of course, not all continuous maps are induced by simplicial maps. However, simplicial maps can be used to approximate arbitrary continuous maps up to homotopy. The simplicial approximation theorem (which may be most familiar in the context of simplicial complexes) says that for an arbitrary continuous map tp: |A| —> \Y\ between the geometric realizations of simplicial sets, with A finite, there exist a sufficiently fine subdivision X of A and a simplicial map /: X' —> Y whose geometric realization is nomotopic to ip; see Section 3.4 for more details. Encoding finite simplicial sets. A finite simplicial complex can be encoded in a straightforward way by listing the vertices of each simplex. For simplicial sets, the situation is a bit more complicated, since the simplices are no longer uniquely determined by their vertices, but if A is finite, then we can encode A by the set Andg of its nondegenerate simplices (which we assume to be numbered from 1 to N, where TV is the total number of nondegenerate simplices), plus a little bit of additional information. 11 The simple but crucial fact (see, e.g. [FP90, Thm. 4.2.3]) we need is that every simplex a can be written uniquely as a = st, where r is nondegenerate and s is a degeneracy, i.e., a composition s = Sik ... Si1 of degeneracy operators where k = dimcr — dimr (in particular, a is nondegenerate itself if a = r and s is the identity). Thus, as mentioned above, degenerate simplices a do not need to be encoded explicitly but can be represented by st when needed, where the degeneracy s can be encoded by the sequence (ik, ■ ■ ■, i\) of indices of its components.14 The extra information we need to encode X, in addition to the list of its nondegenerate simplices, is how these fit together. Specifically, for a e X°dg and 0 < i < n, the ith. face can be written uniquely as dio £ Xn_i = st with r nondegenerate, and for each a, we record the {n + l)-tuple of pairs (r, s). Similarly, if /: X —> Y is a simplicial map between finite simplicial sets, then given the encodings of X and Y, we can encode / by expressing, for each a e X°dg, the image f(a) = st, with r g Y^s and recording the list of triples (a, r, s). For a finite simplicial set X, we define size(X) as the number of nondegenerate simplices. If the dimension of X is bounded by some number d, then the number of bits in the encoding of X described above is bounded by 0(size(X) logsize(X)), with the constant of proportionality depending only on d. The notion of size will be a convenient tool that allows us to ensure that our reductions can be carried out in polynomial time, without analyzing the running time in complete detail, which we feel would be cumbersome and not very enlightening. More specifically, our reductions will be composed of a sequence of various basic constructions of simplicial sets, which will be described in the next subsection. For each of these basic constructions, it is straightforward to check15 that when we apply them to finite simplicial sets of bounded dimension, both the running time of the construction (the number of steps needed to compute the encoding of the output from the encoding of the input) as well as the size of the output simplicial set are polynomial in the size of the input. Thus, to ensure polynomiality of the overall reduction, it will be enough to take care that we combine only a polynomial number of such basic constructions, that the size of every intermediate simplicial set constructed during the reduction remains polynomial in the initial input, and that the dimension remains bounded. 3.3. Basic constructions In this subsection, we review several basic constructions for cell complexes and simplicial sets. (One advantage of simplicial sets over simplicial complexes is that various operations on topological spaces, in particular Cartesian products and quotients, have natural counterparts for simplicial sets. This is where the degeneracy operators and degenerate simplices turn out to be necessary.) For more details, we refer to [HatOl, FP90]. Pointed and A>reduced simplicial sets and cell complexes. Several of the constructions are defined for pointed spaces. We recall that a pointed space (X, x$) is a topological space X with a choice of a distinguished point xq g X (the basepoint). If X is a cell complex or a simplicial set then we will always assume that the basepoint to be a vertex (i.e., a 0-cell or 0-simplex, respectively). A pointed map (X,xq) —> (Y,yo) of pointed spaces (cell complexes, 14Moreover, this sequence is unique, by the simplicial set axioms that we have not specified, if one stipulates ik < ■ ■ ■ < h- 16A notable exception are subdivisions, for which we provide more detail in an appendix. 12 simplicial sets) is a continuous (cellular, simplicial) map sending xq to yo- Homotopies of pointed maps are also meant to be pointed; i.e., they must keep the image of the basepoint fixed. The reader may recall that, for example, the homotopy groups irk(Y) are defined as homotopy classes of pointed maps. The set of pointed homotopy classes of pointed maps X Y will be denoted by [X, Y}*. A simplicial set X is called k-reduced, k > 0, if it has a single vertex and no nondegenerate simplices in dimensions 1 through k. Similarly, a cell complex X is fc-reduced if it has a single vertex and no cells of dimensions 1 up to k. It is then necessarily fc-connected. If (y, yo) is a 0-reduced cell complex (or simplicial set), then any cellular (or simplicial) map from a pointed complex (X, x$) into Y is automatically pointed. Moreover, if Y is 1-reduced, then every homotopy is pointed, too, and thus [X, Y] is canonically isomorphic to [X,Y]*. Products. If X and Y are cell complexes, then their Cartesian product X xY has a natural cell complex structure whose ra-cells are products ep x eq, where p + q = n and ep and ep range over the p-cells of X and the g-cells of Y, respectively. Furthermore, if X and Y are simplicial sets then there is a formally very simple way to define their product X x Y: one sets (X x Y)n := Xn x Yn for every n, and the face and degeneracy operators work componentwise; e.g., di(a,r) := (dia,dir). As one would expect from a good definition, the product of simplicial sets corresponds to the Cartesian product of their geometric realizations, i.e., \X x Y\ = \X\ x |Y|.16 The apparent simplicity of the definition hides some intricacies, though, as one can guess after observing that, for example, the product of two 1-simplices is not a simplex—so the above definition has to imply some canonical way of triangulating the product. Remark 3.2. A pair (sa, tr) of degenerate simplices in the factors may yield a nondegenerate simplex in the product, if the degeneracies s and t are composed of different degeneracy operators Sj. However, dim(X x Y) = dimX + dim Y, so the product contains no nondegenerate simplices of dimension larger than dimX + dim Y, and hence size(X x Y) is at most size(X) x size(Y) times some factor that depends only on the dimension17 dim(X x Y). Moreover, if the dimensions are bounded, the product can be constructed in polynomial time. Quotients and attachments. If X, Y and A are cell complexes with A C X and if /: A —> Y is a cellular map, then the space X UfY obtained by attaching X to Y along / is 16To be more precise, the above equality holds literally, with the product topology on the right hand side, only under suitable assumptions on X and Y, e.g., if both X and Y have only countably many simplices. In the general case, one has to interpret the product \X\ x \Y\ differently, in the category of so-called k-spaces, and the same subtlety arises for products of cell complexes, see, e.g., the discussion in the respective appendices in [FP90, HatOl]. For the spaces we will encounter, however, this issue will not arise and the product will be the same as the usual product of topological spaces. 17This follows from the fact about realizations mentioned above. Another way of seeing this is that if dim a = p, dimr = q and dim(sa) = dim(tr) = n > p + q then s and t involve n — p and n — q degeneracy operators Sj with i < n, respectively, so there must be a repetition since n — p + n — q > n. Without further reflection, this immediately implies that size(X x7)< size(X) ■ size(y) ■ (dimX)!(dimy)L In fact, the factor is only singly exponential in the dimensions. For instance, for a product Ap x A9 of two standard simplices, the vertices of Ap x A9 correspond to the grid points in {0,... ,p} x {0,..., q}, and the non-degenerate fc-simplices correspond to subsets of size k + 1 of the grid that are weakly monotone in both coordinates (weakly monotone paths of length k). Thus, the number of non-degenerate simplices of full dimension p + q equals (Pp9), and the number of all non degenerate simplices is at most 4P+9, say. Thus, size(X x Y) < size(X) ■ size(y) x ^x+^y ; say. 13 also a cell complex in a natural way (see, e.g., [FP90, Sec. 2.3]). In particular, X/A is a cell complex, with cells corresponding to the cells of X not contained in A, plus one additional 0-cell (corresponding to the image of A under the quotient map). Similarly, if X is a simplicial set and if ~ is an equivalence relation on each Xn that is compatible with the face and degeneracy operators, then the quotient X/ ~ is also a simplicial set. In particular, this includes simplicial attachments 111/7 of simplicial sets along a simplicial map /: A —^ Y defined on a simplicial subset A C X, and quotients X/A by simplicial subsets. These constructions are compatible with geometric realizations, i.e., Moreover, the size of X U/ Y is at most the size of X plus the size of Y, and in bounded dimension, the attachment can be constructed in polynomial time. Wedge sum (or wedge product). If X\,...,Xm are pointed spaces, then their wedge sum X\ V • • • V Xm is simply the disjoint union of the X;t with the basepoints identified (this is a very special type of attachment). If the X;t are cell complexes or simplicial sets, then so is their wedge sum. Later we will need the following bijection: where the components of this map are given by the restrictions to the respective Aj. Mapping cylinder and mapping cone. For a map /: X —> Y, the mapping cylinder of / is the space Cyl(/) defined as the quotient of (X x [0,1])UY under the identifications (x, 0) ~ f(x) for each x 6 X. The mapping cone Cone(/) is defined as the quotient Cyl(/)/(A x {1}) of Cyl(/) with the subspace X x {1} collapsed into a point. By the discussion concerning attachments, if X and Y are cell complexes and / is cellular then Cyl(/) and Cone(/) are cell complexes as well. Moreover, if / is a simplicial map between simplicial sets, then by taking the analogous simplicial attachments and quotients, we obtain simplicial sets, denoted by Cyl(/) and Cone(/) as well, and called the simplicial mapping cylinder and simplicial mapping cone, respectively. The simplicial constructions are compatible with geometric realizations; i.e., for example, | Cyl(/)| = Cyl(|/|). We will use the mapping cylinder in our construction to replace an arbitrary map /: X —> Y by an inclusion X ^ Cyl(/), which has the same homotopy properties as /. A more precise statement is given in the following lemma (see, e.g., [HatOl, Corollary 0.21]). Lemma 3.3. Let f: X —> Y be a continuous map between topological spaces. We consider X = X x {1} and Y as subspaces of Cyl(/) and denote the corresponding inclusion maps18 byix:X^ Cyl(/) and iy.Y ^ Cyl(/). 18More precisely, the inclusion maps are given as the composition of the respective inclusions X = Xx {1} C X x [0,1] U Y and Y C X x [0,1] U Y with the quotient map X x [0,1] U Y Cyl(/). e.g., IAU/YI-IAIUi/iIYI. [Ax V A2 V • • • V Xm, Y]* ^ [Ax, Y]* x [A2, Y]* x • • • x [Xm, Y]* (5) Cyl(/) 14 (a) Y is a strong deformation retract19 o/Cyl(/). (b) X (considered as a subspace via ix) is a strong deformation retract o/Cyl(/) iff f is a homotopy equivalence. (c) ix ~ iyf are homotopic as maps X —> Cyl(/). (d) If f: X —> Y is a homotopy equivalence and if g: Y —» X is a homotopy inverse for f, then ixg ~ iy as well. Reduced mapping cone and mapping cylinder. If X and Y and / are pointed, with basepoints xq and yo, it will be technically convenient, particularly in Section 6, to consider the spaces Cyl(/) and Cone(/), called the reduced mapping cylinder and the reduced mapping cone, respectively, that are obtained from Cyl(/) and Cone(/) by collapsing the segment xq x [0,1] (whose lower end is identified with yo) to a single point. We will apply this construction only to cellular or simplicial mapping cylinders and cones, in which case contracting the subcomplex xq x [0,1] is a homotopy equivalence. Moreover, if / is a homotopy equivalence then we may assume that its homotopy inverse g is pointed as well and that the homotopies fg ~ idy and gX ~ idx keep the basepoints fixed (see [HatOl, Corollary 0.19]). It follows that Lemma 3.3 remains true if we take C = Cyl(/) as the reduced mapping cylinder (the inclusions are given as those into Cyl(/), followed by the quotient map Cyl(/) —> Cyl(/), which does not make any identifications within X or within Y). By the remarks concerning the size of simplicial products and attachments, the size of the (reduced or unreduced) simplicial mapping cylinder or cone is at most the size of X plus the size of Y, times a factor depending only on dimX. 3.4. Subdivisions and simplicial approximation For simplicial complexes, there is the well-known notion of barycentric subdivision (see, e.g., [Mun84, §15]). An analogous notion of subdivision, called normal subdivision, can also be defined for simplicial sets. Informally speaking, the normal subdivision Sd(X) of a simplicial set X is defined by barycentrically subdividing each simplex of X and then glueing these subdivided simplices together according to the identifications implied by the face and degeneracy operators of X. We refer to [FP90, Section 4.6] for the precise formal definition and just state the facts that we will need in what follows. For the standard simplex Ap, the nondegenerate fc-simplices of Sd(Ap) correspond to chains of proper inclusions of nondegenerate simplices (faces) of Ap. It follows that Sd(Ap) has (p + 1)! nondegenerate p-simplices and, in general, at most 2p+1(p + 1)! nondegenerate simplices of any dimension. Consequently, for any simplicial set X, the size of Sd(X) is at most the size of X times a factor that depends only on dim X and which can be bounded from above by 2dimX+1(dimX + 1)!. Moreover, if the dimension is bounded, Sd(X) can be constructed in time polynomial in size(X). 19We recall that a deformation retraction of a space X onto a subspace A is a map H: X x [0,1] —> X such that H(x,0) = x and H(x, 1) £ A for all x G X and H(a, 1) = a for all a £ A. Thus, a deformation retraction witnesses that the inclusion map ;la ■ A X is a homotopy equivalence with a homotopy inverse r = H(-, 1): X —> A that is a retraction, i.e., that restricts to the identity on A. A deformation retraction is called strong if it keeps A fixed pointwise throughout, i.e., if H(a,t) = a for all a G A and t G [0,1] (some authors include this directly in the definition of a deformation retraction). 15 If /: X —> Y is a simplicial map, then subdivision also induces a map Sd(/): Sd(X) —> Sd(Y), and this is compatible with compositions; i.e., Sd(fg) = Sd(/) Sd(g). For each simplicial set X, there is a simplicial map lastvx: Sd(X) —> X, called the last vertex map20 which is a homotopy equivalence that is compatible with simplicial maps f:X^Y, i.e., /lastvx = lastvy Sd(/).21 22 There is also a simplicial approximation theorem for simplicial sets, which uses iterated normal subdivisions. Specifically, the t-fold iterated normal subdivision of a simplicial set is defined inductively as Sd*(X) := Sd(Sd*"1(X)), where Sd°(X) := X. Theorem 3.4 ([FP90, Thm. 4. 6. 25]). Let X and Y be simplicial sets such that X has only finitely many nondegenerate simplices, and let f: \X\ —> \Y\ be a continuous map. Then there exist a finite integer t (which depends on f) and a simplicial map g: Sd*(X) —> Y such that \g\ is homotopic to the composition f\ lastvy | of f with the iterated last vertex map lastvy : Sdl(X) -> Y. To convert arbitrary simplicial sets into homotopy-equivalent (in fact, homeomorphic) simplicial complexes, another subdivision-like operation is needed, (see, e.g., [Jar04]). Given a simplicial set Z, one can define a simplicial complex B*(Z) inductively, by introducing a new vertex va for every nondegenerate simplex a, and then replacing a by the cone with apex va over B*(da). If the simplicial set Z has a certain regularity property—which is satisfied, for instance, if Z = Sd(X)—then B*(Z) and Z are homotopy equivalent (in fact, homeomorphic).23 We summarize the properties that we need in the following proposition (for completeness, we provide a proof in A). Proposition 3.5. // X is a simplicial set, then the twofold subdivision .B^Sdpf)) is a simplicial complex. Moreover, there is a simplicial map 7x: -B*(Sd(X)) —> X, which is a homotopy equivalence. For a simplicial subset A C X, B*(Sd(A)) is a subcomplex of B*(Sd(X)) andlx\A = lA.2A If X is finite and of bounded dimension, there are algorithms that construct the simplicial complex -B*(Sd(X)) and evaluate the map *yx, both in polynomial time. 4. Homotopy groups We review some further facts about homotopy groups that we will need. For more details see, e.g., [HatOl, Section 4.1]. 20On the standard simplex A", seen as a simplicial set, this map is defined by sending a chain (ao,... , o^) (a fc-simplex of Sd(A™)) to the simplex [vo, ■ ■ ■ ,vk], where vi is the last vertex of the simplex Oi (recall that the vertices in each simplex are ordered). 21In the language of category theory, Sd is a functor and lastv is a natural transformation between Sd and the identity functor on simplicial sets. 22In fact, it is true that X and Sd(X) are not only homotopy equivalent but homeomorphic (as one might expect given the terminology " subdivision"). However, for simplicial sets this is a decidedly nontrivial result, see [FP90, Cor. 4.6.5]. The difficulty is related to the fact that there is no way of defining this homeomorphism for all simplicial sets in such a way that it becomes compatible with simplicial maps. For our purposes, the natural homotopy equivalence lastvx will be sufficient and more convenient. 23 As an illustration that this fails for general simplicial sets, consider the case where Z = Ep is the simplicial set model of the d-sphere with only two nondegenerate simplices, one in dimension 0 and one in dimension d. In this case, S»(Ed) is a 1-dimensional simplex. 24In fact, the construction B, Sd is functorial and 7 is a natural transformation (like the construction Sd and the map lastv), but we will never use this stronger fact. 16 4.1. Basic facts So far, we used the definition of the nth homotopy group 7rn(A, x$) of a pointed space (X,xq) as the set of homotopy classes of pointed maps (Sn,po) —> (X,xq), where po G Sn is an arbitrarily chosen basepoint, and the homotopies are required to keep the basepoint fixed. Equivalently, the elements of irn(X, xq) can be viewed as homotopy classes [/] of maps /: (Dn,dDn) —> (X,xq) sending all of dDn to xq, modulo homotopies that keep the image of dDn fixed (as before, we will often drop the basepoint from the notation).25 In what follows, we will also need the Abelian group operation in 7rn(A, xq), n > 2, which can be defined as follows: Suppose fi,...,fm are maps (Dn, dDn) —> (X, xq). Suppose we have a cellular decomposition of Dn as a cell complex Dn/m with ra-cells e™,..., (in Section 6.1 below we will provide a concrete geometric construction of Dn/m). Then we can define a map / from Dn = Dn/m to (X, xq) representing the homotopy class [fi] + ... + [fm] by sending the (n — l)-skeleton of Dn/m to xq, and by defining the restriction of / to each open cell ef to be fi. A very important special case of homotopy groups are those of spheres. We will use the following well-known facts: • The sphere Sn is (n — l)-connected. • For all n > 1, irn(Sn) is isomorphic to % and generated by the homotopy class t of the identity. For each map ip: Sn —>■ Sn, there is a unique integer a G % such that [ip] = at; it is called the degree of ip and denoted by deg ip. The degree is obviously invariant under homotopy. • We have ^(S*2) = Z. The group is generated by the famous Hopf map26 rj: S3 —^ S*2. We will also need the following simple fact: Lemma 4.1. Let g: Sn —> Sn be a map of degree b G 7L. Then, for any map f: Sn —> X, we have [fg] =&•[/]£ 7rn(A). Proof. Consider the ra-dimensional unit cube In = Dn, where I = [0,1] is the unit interval. We identify Sn with the quotient In/dln. From the map of sets (In, dln) —> (In, dln) given by (si,..., sn-i, sn) i—> (si,..., sn-i, bsn mod 1) we obtain g^: Sn —^ Sn by passing to quotients. By the definition of the addition of homotopy classes, on the one hand, [go] is the 6-fold sum of the identity, and hence a particular example of a map of degree b. On the other hand, fgo is a representative of b ■ [/], the b-fold sum of [/]. Since [fg] depends only on the homotopy class [g], which is uniquely determined by the degree of g, the lemma follows. □ Let A be a cell complex and A C A a subcomplex. Then the homotopy groups of the spaces A, X and A/A in a certain range are connected by an exact sequence. Theorem 4.2. Let A C A be cell complexes. Let p, q > 0 be integers, q < p + 1. If A is p-connected and X is q connected, then X/A is also q-connected and there is an exact sequence 7tp+q(A) 7T,(A) 7T,(A) 7T,(A/A) 7Tj_l (A) 7tq+1(X/A). 2BThe claimed equivalence is obtained by identifying Sn with the quotient Dn/dDn of the n-disk by its boundary and po with the image of dDn under the quotient map. 26See [HatOl, Ex. 4.45] for the definition (which is not difficult, but which we will not need). 17 Here the maps iii(A) —> 7Tj(A) and 7Tj(A) —> ir^X/A) are induced by the inclusion and the projection, respectively, and the exactness means that the kernel of each homomorphism equals the image of the preceding one. Proof. One can define homotopy groups of any pair (X, A), A C X, and these homotopy groups fit into the following exact sequence ----> irt(A) irt(X) irt(X, A) tt^A) ..., i > 1; see [HatOl], Section 4.1. Prom the exactness and the connectivity assumptions it is easy to show that iri(X,A) = 0 for i < q. Then, according to [HatOl, Proposition 4.28], the map TTi(X, A) —> iri(X/A) induced by the quotient map X —> X/A is an isomorphism for i < p + q. Substituting iri(X/A) in this range into the exact sequence above, we get the exact sequence from the statement of the theorem. □ In the proof of Theorem 1.1 we will need a description of the nth homotopy group of a cell complex Y obtained from T by attaching (n + l)-cells ee, 1 < £ < m, by attaching maps 2 be an integer. Suppose that T is a 1-connected cell complex and Y is a cell complex obtained from T as described above. Then Tvn{Y) ^7rn(r)/([^i],[^2],...,[^m]), where ([m]) is the subgroup of irn{T) generated by the homotopy classes of tpe, 1 < £ < m. Proof. It is sufficient to prove the statement for a single cell attached; then we can proceed by induction. Consider the reduced mapping cylinder Cyl -Cyly->QAv/Sn = Y T which commutes up to homotopy. Applying Theorem 4.2 for A = Sn, X = Cyltp, p = n — 1 and q = 1, we obtain the exact sequence 7r„(5n) 7rn(Cyl^) ^ Tvn(Y) Tvn^(Sn) = 0. If we replace the inclusion Sn ^ Cyl p> by the map p>: Sn —> T, we get 7tn(Sn) ^ 7tn(T) ^ 7tn(Y) ^ 0. Hence irn(Y) = irn(T)/(ip*(L)), where t is the homotopy class of the identity on Sn, and thus P>*(l) is the homotopy class of p>. □ 18 4.2. Whitehead products and wedge sums of spheres Whitehead products. There is another type of operation on elements of homotopy groups that we will need. Consider two spheres Sk and Se with their standard structures as cell complexes (one vertex and one cell of the top dimension). Then the product Sk x Se is also a cell complex, with one vertex, one respective cell ek and ee in dimensions k and £, and one cell ek x ee in dimension k + £. In particular, the (k + £ — l)-skeleton of the product is a wedge Sk V Se, to which the (k + £)-ce\\ is attached via a map ip: Sk+i-1 ^ d(Dk+e) Sk V Se. Now, if /: Sk X and g: Se X are (pointed) maps, we can combine them to a map / V g: Sk V Se —>■ X. If we compose this with the attachment map ip discussed before, we get a map [/, g]: Sk+i~x —> X, called the Whitehead product of / and g. The homotopy class of this product clearly depends only on the homotopy classes of the factors, so we get a well-defined product ir^X) x ir^X) —> irk+e-i(X), again denoted by [•, •]. As a quite trivial but nonetheless useful example, if X = Sh x Se, then the attachment map ip itself equals the Whitehead product [tSk, tge] of the two inclusions tSk : Sk ^ Sk V Se and tse: Se ^ Sk V Se. In our proofs we will use that the Whitehead product is natural, graded commutative and bilinear, i.e. Ma, 13] = [ha,U(3], [a,(3] = (-l)M[(3,a], [a + 7,/3] = [a,(3] + [~f,(3], [a, 13 + 5] = [a, f3] + [a, 5] where a, 7 e 7rfc(X), f3, 5 G ^(X) and /: X —> Y. For the proof see [Whi78], Chapter X, 7.2, Cor. 7.12 and Cor. 8.13. In the proof of Theorem 1.1 we will need some facts about the homotopy groups of spheres and their wedge sums. Theorem 4.4 ([HatOl, Cor. 4B.2],[Whi78, XI, Thm. 2.5]). There is a homomorphism (called the Hopf invariant) H: TT2k-i{Sk) —> Z such that for d even H([l,l]) = ±2. Let us note that for k odd the Whitehead product G i^2k-i{Sk) is of order two, i.e. 2[l,l] = 0. Whitehead products play a crucial role in Hilton's theorem which converts the computation of homotopy groups of a wedge of spheres to the computations of homotopy groups of spheres. We do not need this theorem in its full generality as it was proved in [Hil55], and so we restrict ourselves to a special case. Let k > 2 and r, s > 1 be integers. Let t = v • • • v sk v sl*-1 v • • • v sf-1 (6) be the wedge sums of r copies of Sk and s copies of S2k^1. Denote by v,t and fiq the homotopy classes of the inclusions Sk ^ t and S2^1 ^ t onto the iih. copy of Sk and the qih. copy of S2k^1, respectively. Then the homotopy groups ^(T) and 7r2fc-i(T) can be described by the following special case of Hilton's theorem. Theorem 4.5 ([Hil55, Thm. A]). With the notation as above, there are isomorphisms ^(T) - 0 7Tk(Sk), l 2 is odd, then the elements fiq, 1 < q < s, and [v-i, vf\, 1 < i < j < r are integrally independent in 7r2fc_i(T). If k > 2 is even, then the elements fiq, 1 < q < s and [ui, vf\, 1 < i < j < r are integrally independent in 7r2fc_i(T). Proof. The reason is that every element in the list comes from a different direct summand and is of infinite order. □ In the case k = 2 and s = 0 we can say even more: Corollary 4.7 ([HatOl, Ex. 4.52]). The homotopy group Tr^{\J'i=1 S2) is a free Abelian group generated by the Whitehead products \v,i,vf\, 1 < i < j < r, and homotopy classes uin, where r]\ S3 —^ S2 is the Hopf map. 5. The constructions for Theorem 1.1 presented as cell complexes Here we present the essence of the proof of Theorem 1.1. Namely, for every system of quadratic Diophantine equations of the form (Q-SYM) (for k even) or (Q-SKEW) (for k odd), we construct cell complexes A, X, Y, and a continuous map /: A —> Y, where Y is (k — 1)-connected and dim A = 2k, such that / is extendable to A iff the Diophantine system has a solution. Moreover, one of (A, A) and Y can be assumed to be fixed, as in Theorem 1.1 (a) and (b). We will also see the role of Whitehead products and Hilton's theorem in the proof. What remains for the next section is to convert A, A,Y into finite simplicial complexes and / into a simplicial map, so that the solvability of the extension problem remains unchanged. Moreover, the construction has to be algorithmic. While discussing the cellular constructions of A, A, Y, it is also natural to describe the cell complex used by Anick in the proof of his #P-hardness result. Indeed, his construction uses tools very similar to those employed in our constructions. The generalized extension problem. In order to simplify the presentation, it is convenient to remove the assumption in the extension problem that A is a subspace of A, or in other words, that the map A —^ A is an inclusion. Instead, we consider three spaces A, W, Y and (arbitrary) maps g: A —^ W and /: A —> Y, and we ask if there is a map h:W^Y making the following diagram commutative up to homotopy: A —f—> Y (GEP) 20 For a generalized extension problem as above, we obtain an equivalent extension problem by setting x = Cyl(g) (where a is considered as a subspace of the cylinder in the usual way). This is easy to see, but we nonetheless briefly describe a proof of this fact that only uses the homotopy extension property for pairs of cell complexes and the properties of the mapping cylinder summarized in Lemma 3.3. This means that we can replace the mapping cylinder Cyl(g) by any other cell complex that has these properties, and the same proof will still apply. This will be useful for our simplicial constructions later on, for which it will be convenient to work with so-called generalized mapping cylinders (see Section 6.2). Let %a and iyy be the inclusions of a and w into x. On the one hand, given a solution /: x —> y of the extension problem, i.e., j%a = /, we can define h := fiyy as the restriction of / to W. Then hg = fiwd ~ Ha = /, so h is a solution to the generalized extension problem. On the other hand, given a solution h for the generalized extension problem (GEP), let r: x —> w be the retraction from x to w and define / := hr. Then ]%a = hr%a ~ hg ~ /, so / is an extension of a map homotopic to /, and since extendability depends only on the homotopy class of a map (Corollary 3.1), / can be extended as well. Thus, we are free to consider the generalized extension problem with dim w < 2k and dim A < 2k - 1. 5.1. Fixed target We describe an instance of the generalized extension problem for part (a) of Theorem 1.1, where the target y is fixed. The system of equations will be encoded into cell complexes a, w and the maps g: a ->• w, f: a ->• y. Fixed target with k even. Here y = Sk, a = sf-1 v••• \tsf~1, w = s1y---vskr. (8) Then the diagram (GEP) becomes a = sf-1 V • • • v sf-1 sk w = s*{v • • • v sk According to (5) from the discussion of wedge sums in Section 3.3, the homotopy class of /: a —> Sk is specified completely by the homotopy classes of its restrictions to the spheres forming a. We will use f*pq = [f]pq 6 7T2k-i(Sk) to denote these, where pq is the homotopy class of the inclusion of the qih. sphere S*2^1 into a. Our particular choice is f*Vq = bq[L,l]. (9) Similarly, the homotopy class of g: a —> w is given by its restrictions as 9*Vq= Yl aif[vi>vj]> (10) l Sk be an arbitrary map and write h*Vi = x\i G -Kk{Sk) for some integers x\ G 7L. According to (5) again, the diagram (GEP) commutes up to homotopy iff (hg)*fiq = f*fiq, i.e. iff h*{ E a^[Vi,Vj])=bq[i,i] (11) 1 W as before, we can take Y = Sk V Sk and specify / by f*^q = bq[il,L2], (12) where t\ and t2 are inclusions of Sk onto the first and the second summand in Sk V Sk, respectively. Using Hilton's theorem (Theorem 4.5) for irk(Sk V Sk), the homotopy class of a general map h:W^Y satisfies Ki/i = xiL1+yiL2, Xi,yi^Z. (13) Using the fact that [ti, l2] = — [t2, ti], it is easy to show that the commutativity of the diagram (GEP) is equivalent to the system of s equations in Ti2k-i{Sk V Sk), (E aif(x*yi - xjVi))L2] + (E aifXiXi)^ + (E ^viVj)K ^] = bq[ii, l2]. By Corollary 4.6 of Hilton's theorem the element l2] G TT2k-i{Sd V Sd) is of infinite order, while [ti, li] and [l2, l2] are of order 2. Multiplying all the equations in (Q-SKEW) by 2, we get an equivalent system, in which all the a;^ are even. For this system, the above equation is exactly the one from (Q-SKEW). We get the following: Proposition 5.2. Let the maps f: A —>■ Sk V Sk and g: A —>■ W be as in (12) and (10) above. Then f can be extended to X = Cyl(g) if and only if the system (Q-SKEW) has a solution. 5.2. Fixed source The idea for the first step of the proof of Theorem 1.1 (b) is similar, only the constructions involve attaching cells and also the usage of Hilton's theorem is more substantial. 22 Fixed source with k even. We put A = S2k-\ W = Sk where the homotopy class of g: A —> W is [g] = [l, l]. A given system of equations (Q-SYM) will be encoded in the target space Y and in the homotopy class of /: A —> Y. The target space Y is a cell complex obtained from the wedge of spheres T defined in (6) by attaching (2fc)-cells eij, 1 < i < j < r and en, 1 < i < r, i.e. Y = (Sf V • • • V Sk V Sf-1 V • • • V Sf -1) U [J etjU [j e^ (14) N ^ ' l T whose homotopy classes are, respectively, ipij = [vi,Vj\- E <4jW (fa = l Y of the homotopy class [/] = 2b1fi'1+2b2fi'2 + --- + 2bafi'3. Since 7rk(Y) ^ 7rfc(T) ^ irk(S!f) © • • • ©vrfc(5^) by Theorem 4.5, a general map h: W ->• Y has a homotopy class [h] = x\v'x + X2V2 + • • • + xrv'r with arbitrary integer coefficients x;t. To show that the commutativity of the diagram (GEP) (up to homotopy) is equivalent to the satisfaction of the system (Q-SYM), we will need the following lemma. Lemma 5.3. Let Y be the cell complex as above. Then the classes g!q £ 7r2k-i(Y), 1 < q < s, are integrally independent and K = E "ifv'v 1 < i < J < r> l Y is again determined by its restrictions along ti, L2, namely Kli = x\v'x + X2v'2 H-----V xri/r, h*l2 = yiv[ + y2^2 "I-----1" VrKi where the x-i and yi can be arbitrary integers. The composition [hg] £ 7r2fc_i(Y) equals =[ Y XiU'i' Y ^^i] = H xiyiM^j] l 2 let the maps f:A^Y and g: A^W be as above. Then f can be extended to X = Cyl(g) if and only if there is a solution to the system (Q-SYM) when k is even, or (Q-SKEW) when k is odd. 5.3. Anick's 4-dimensional cell complexes Here we introduce complexes constructed by Anick [Ani89, p. 42] for his hardness result. These are compact 4-dimensional cell complexes which arise from the wedge W = S2 V • • • V S2 of r copies of S2 by attaching s 4-cells. According to Corollary 4.7, the homotopy class of a general attaching map has to be an integral combination of the homotopy classes uin and the Whitehead products Vj], where rj is the homotopy class of the Hopf map S*3 —> S2 and v,t is the homotopy class of the inclusion S2 —> W on the ith copy of S2. Together with [HatOl, Proposition 0.18] this implies that, up to homotopy equivalence, a completely general way of attaching 4-cells to W is described by integers for 1 < i < j < r and q = 1,2, ...,s. Specifically, the qth 4-cell is attached via a map Sq —> W representing the homotopy class in irs(W) defined by Vq= Yl aii)iirl+ Y aif[Li^j}- l 2 (encoded in unary) and a given integer vector a (represented in binary). In Section 6, we will show that, given a, we can construct, in polynomial time, a finite 4-dimensional simplicial complex homotopy equivalent to Y4. Together with Anick's result, this will imply Theorem 1.2. 6. Simplicial constructions In this section, we prove that the constructions of cell complexes and cellular maps from the last section can be converted into homotopy equivalent finite simplicial complexes and simplicial maps. Moreover, we exhibit algorithms for constructing such simplicial sets and maps that run in time polynomial in the encoding size of the integer vector af^ (and possibly bq) represented in binary. The constructions involve only simplicial products, attachments (in particular, mapping cylinders), quotients, and subdivisions, which are all algorithmic. The polynomial bound for the running time is needed only for Anick's space, where polynomial running time is important; for the undecidability results we could use less efficient (and simpler) techniques. However, there is almost no overall saving in constructing only Anick's space with a polynomial bound and doing the other constructions more wastefully, since all of the involved spaces are similar. Moreover, we expect the tools developed here to be useful, e.g., for future NP-hardness or #P-hardness results, where polynomiality of the constructions is crucial, of course. Let us denote by TP a "model" of the sphere Sp as a simplicial set with only two nonde-generate simplices, one in dimension 0 and the other in dimension p. 6.1. Constructing the sum of several maps Sp —> Y. In this short section we describe how, given simplicial maps fi,... ,fm: YP —> Y, we can construct a simplicial representative of the sum [ff\ + • • • + [fm] 6 irp(Y). To this end, we have to change the domain to a simplicial set with a larger number of simplices. We define the simplicial set Dp/m, which is a union of m copies of Ap, where the ith copy is glued by its <9i-face to the <9o-face of the (i + l)st copy. The union of the remaining faces (the <9i-face of the first copy, the <9o-face of the last copy and all the effaces with i > 1) is denoted by dDp/m. Here is a picture of D2/m: with the double arrows denoting the boundary dD2/m. Another point of view is, that D1/m is a chain of m copies of the 1-simplex A1 and each Dp/m is a cone over Dp -l 25 There is a simplicial map Dp/m —> Ap that sends the first copy of Ap in Dp/m onto Ap by the identity, while the rest is sent to the degeneracy of the <9o-face of Ap. It induces a simplicial map q:Dp/m/dDp/m^Tp, which is a homotopy equivalence (it is easy to see this, e.g., from homology). There is another simplicial map that collapses the whole (p — l)-skeleton of Dp/m. The map factors through Dp/m/dDp/m as Dp/m-> Dp/m/dDp/m —i+ Tp V • • • V Tp. We specify a simplicial map /: Tp V • • • V TP by mapping the iih. copy of Tp to 7 by The maps q, 5, and / fit into a diagram Dp/m/dDp/m Tp\J...\JTp^Y g ~ „ - " Tp - - " " " Since q has a continuous homotopy inverse, there is a unique homotopy class of maps Tp —> Y extending [f5] up to homotopy, namely the homotopy class of [fi] + • • • + [fm]-By the naturality of the subdivision, we also have maps q: Sd\Dp/m/dDp/m) -+ Tp, 6: Sd\Dp/m/dDp/m) -+ Sd*(£p) V • • • V Sd*(£p) (the map q is the composition of the subdivision of the original q with the iterated last vertex map Sd*(£p) Tp) that will serve to add representatives fu ..., fm: Sd\Tp) Y. 6.2. Generalized mapping cylinders In the above approach, in order to construct simplicial maps Tp —> Y, we replaced the domain Tp by a homotopy equivalent simplicial set. This will be very useful for the proof of part (a) of Theorem 1.1. For part (b), the domain has to be left unchanged, and thus a different construction has to be used.27 It is roughly "dual" to the previous one: it replaces the target Y by a homotopy equivalent simplicial set. Thus, instead of subdividing the sphere Tp, we will replace the target space Y by a "generalized mapping cylinder". This solution works also for domains other than Tp. Thus, for a map /: X —> Y, we will be interested in diagrams, commutative up to homotopy, of the following form. Y //* . X--y M Definition 6.1. Let M be a pointed simplicial set with two simplicial subsets X, Y C M containing the basepoint of M. Let ix ■ X —> M and iy: Y —> M be the corresponding inclusion maps, and let /: \X\ —> \Y\ be a pointed continuous map. We say that M is a 27There is a further issue with the subdivision—it is not polynomial. The construction of a representative of a multiple b[f] of a map /: TP —> Y requires b simplices, and this number is exponential in the number of bits of b. 26 generalized mapping cylinder for /, with upper rim X and lower rim Y, if iy is a homotopy / equivalence and ix ~ iyf- We denote this situation by M: X—$Y. We remark that the above definition depends only on the homotopy class of /; we may thus say that M is a generalized mapping cylinder for the homotopy class [/]. By Lemma 3.3 and the remark following it, the reduced mapping cylinder Cyl(/) of /: X —> Y is an example of such a generalized mapping cylinder with upper rim X and lower rim Y. Moreover, if / is a homotopy equivalence with a homotopy inverse g, one can easily see from the definition that a generalized mapping cylinder M for / is also a generalized mapping cylinder Mop for g with upper rim Y and lower rim X (i.e., the roles of upper and lower rim are interchanged).28 The important property of generalized mapping cylinders, that we are going to use heavily, is that they may be used for attaching cells. Proposition 6.2. Let M: S^V- • - VEm-^y be a generalized mapping cylinder for a pointed map f, whose restriction to the ith summand is /j: |Sf| —> \Y\. Then the composition Y M pr°J> Mj(S^ V • • • V Em) extends to a homotopy equivalence where the cell on the left is attached to Y along the map fi. Proof. Put X = V • • • V Tpm. Then the space from the statement, obtained from Y by attaching cells, is the mapping cone of /. By [Bre93, Theorem 1.14.19] the mapping cone of /: X —> Y is homotopy equivalent to that of iyf - X —> M (since iy is a homotopy equivalence). Further, by [Bre93, Theorem 1.14.18] it is also homotopy equivalent to the mapping cone of ix '■ X —> M (since iyf ~ ix)- By [Bre93, Theorem VII.1.6] the mapping cone of ix is homotopy equivalent to M/X. All the involved maps respect Y (which is naturally a subspace of all the mapping cones and also maps by proj iy to the quotient M/X), proving that the resulting homotopy equivalence is indeed an extension of the composition proj iy. □ Generalized mapping cylinders can be composed in an obvious way: Lemma 6.3. Let f: X —> Y and g: Y —» Z be pointed continuous maps, and let M and N be generalized mapping cylinders for f and g, respectively. Let NM := N Uy M be the simplicial set obtained by identifying the lower rim of M with the upper rim of N. Then NM is a generalized mapping cylinder for gf. Proof. Consider the diagram Y U (ef+1 U • • • U e^+1) » M/(E? V • • • V E£J X z 28- 'When / is injective, one can use Y as a generalized mapping cylinder for /. 27 where ix, iy, Jy, iz, 'm, are inclusions, both triangles commutes up to homotopy and the square commutes strictly. Consequently, the triangle formed by the spaces X, Z and JVUyM commutes up to homotopy, too. To show that N Uy M is a generalized mapping cylinder for gf, it suffices to prove that the inclusion ijy is a homotopy equivalence. It is well known (see [HatOl, Theorem 4.5]) that to every inclusion iy.Y —>■ M which is a homotopy equivalence there is a deformation retraction r: M —> Y. Then the map h: N Uy M —>■ N defined as jyr on M and as the identity on N is a homotopy inverse to iN- □ We will also need simplicial maps representing (the homotopy classes of) a constant number of specific maps, such as the Whitehead product [l, l] : 52d_1 —> Sd of the identity on Sd with itself, the Whitehead product [ti, l2]: S2d_1 ->• Sf V of the inclusions Sf ->• Sf V S| and the Hopf map rj: S3 —>■ S2. In each case, it is possible to construct these explicitly, but we will use the following general lemma: Lemma 6.4. Let X and Y be finite simplicial sets and let f: \X\ —> \Y\ be an arbitrary but f fixed pointed continuous map. Then there exists a generalized mapping cylinder X-^-Y. It is of dimension maxjdimX + 1, dim Y}. The point here is that, in contrast with Theorem 3.4, we can prescribe the exact triangula-tions of the upper and lower rim, which will make it easy to compose the resulting generalized mapping cylinders. Proof. By the simplicial approximation theorem for simplicial sets (Theorem 3.4), there exist an iterated barycentric subdivision X' = Sd*(X) of X and a simplicial map g: X —> Y homotopic to f\£\, where £: X —> X is the natural homotopy equivalence (the iterated last vertex map). Let M := Cyl(^) and N := Cyl(g) be the corresponding reduced simplicial mapping cylinders. Since £ is a homotopy equivalence, we can also view M as a generalized mapping cylinder Mop for a homotopy inverse h: \X\ —> \X'\ of \£\, with upper rim X and lower rim X'. Thus, NMop is a generalized mapping cylinder for \g\h ~ f\£\h ~ f. □ The following proposition plays a crucial role in our simplicial constructions: Proposition 6.5. Let Y be a finite simplicial set and let f±,..., fm: Sd* TP —> Y be given simplicial maps. Then there is an algorithm that, given an integer vector c = (ci,... ,cm), f constructs a generalized mapping cylinder TP -^s- Y for the homotopy class [f] = Cl[/l] + • • • + Cm[fm] G 7tp(Y) = [TP, Y}*, in time polynomial in the (binary) encoding size of c. The proof will be given in a series of lemmas. Before going into the proof, we will generalize this proposition slightly. A homotopy class of a pointed map /: £f V • • • V Ts —> Y is determined uniquely by its restrictions Tpk —> Y. When each restriction is expressed as an integral combination of the fi, we may use Proposition 6.5 together with Lemma 6.7 to provide a generalized mapping cylinder for /. 28 Lemma 6.6. There is an algorithm that, given an integer of the form c = ±2d, d G N, constructs a generalized mapping cylinder Nc: £p £p for the map of degree c. Moreover, if p is fixed then s\ze(Nc) is linear in d + 1 and the running time of the algorithm is polynomial in d + 1, which is the encoding size of c. Proof. Consider maps g-i,g2: |SP| —> |SP| of degrees —1 and 2, respectively, and choose a generalized mapping cylinder Ni for each g-i according to Lemma 6.4. For p constant, these are fixed simplicial sets. Thus, by Lemma 6.3, N9d := N2 ■ ■ ■ N2 d factors is a generalized mapping cylinder for (g2)d, a map of degree 2d. By further composing this with N-i, if necessary, we obtain a generalized mapping cylinder Nc for a map of degree c. Moreover, if p is fixed then we can precompute the generalized mapping cylinders iV_i, N2, which leads to s\ze(Nc) and running time as requested. □ Lemma 6.7. Suppose that X\,..., Xm and Y are pointed simplicial sets and that Mi: X,i^>Y are generalized mapping cylinders for pointed maps fi: \Xi\ —> \Y\, 1 < i < m. Then there is f an algorithm that constructs a generalized mapping cylinder M: X\ V • • • V Xm-^Y for the map f: \Xi V • • • V Xm\ —> \ Y\ with restrictions f\\xt\ = fi- Moreover, if p is fixed then s\ze(N) is linear in ^size(Mj) and the running time is polynomial. Proof. The wedge sum M' = Mi V • • • V Mm is a generalized mapping cylinder m'\ i1v---vim'^^yv---vy. We attach to M' the mapping cylinder of the folding map V: Y V ■ ■ ■ V Y —^ Y to obtain the required generalized mapping cylinder M. □ Lemma 6.8. Let Mi,..., Mm: Sp^s- Y be generalized mapping cylinders for [f\],..., [fm] £ 7TP(Y). Then there is an algorithm that constructs a generalized mapping cylinder M: Sp ~s- Y for the homotopy class [f\] + ... + [fm] G irp(Y), in polynomial time if p is fixed. Proof. Let us consider the following chain of maps: sp *iL BP/m/dB>/m AsJv-vE^y, where / restricts to fi on the ith. summand. The first two maps are simplicial and thus their mapping cylinders provide generalized mapping cylinders for any homotopy inverse q of q and for 5, respectively. A generalized mapping cylinder for / was constructed in Lemma 6.7. Composing these cylinders gives the result, since fSq ~ fi + • • • + fm\ see Section 6.1. □ fi Proof of Proposition 6.5. Let M«: TP—-~^Y, i = 1,..., m, be generalized mapping cylinders. Using the binary expansion of an integer c, Lemma 6.8, and Lemma 6.6, we can construct the generalized mapping cylinder Nc for every map YP —> YP of degree c in time polynomial (at most quadratic) in the bit length of c. The composition MiNCi is a generalized mapping cylinder for Cj[/i]. Lemma 6.8 then constructs a generalized mapping cylinder for the sum ci[/i]H-----\-cm[fm\. □ 29 6.3. Proofs of the main results In Section 5 we described the relevant spaces as cell complexes. It remains to construct them as finite simplicial complexes and the map /: A —> Y as a simplicial map. Proof of Theorem 1.1 (a). We will give details only for k even. Using the notation from Section 5.1, we triangulate the target sphere Y = Sk in an arbitrary manner and fix simplicial maps w+,w_: Sd\T2k-1) Sk that represent the homotopy classes of the Whitehead square and its negative, [w±] = ±[l,l] G 7r2fc-i(S*) (by the simplicial approximation theorem, a sufficiently fine subdivision Sd*(£2fc_:L) and the required simplicial maps exist, and they can be hard-wired into the algorithm). Let now b be the vector of the right hand sides of an arbitrary system of the form (Q-SYM) and let 1 < Q < s. By adding \bq\ times the map w±, we obtain a simplicial map A'q := Sd« {D2k-\bJdD2k-\M) JU Sk that represents bq[t, t].29 Finally, we take A' = A[ V • • • V A's and specify f':A'^ Sk by its restrictions to the A'q, namely, the maps f'q. We recall that the space A is constructed as the mapping cylinder of a map g: A -^W that was expressed in terms of the Whitehead products [i/i, Uj] and the coefficients of the system (Q-SYM). In the simplicial setup it will be more convenient to use generalized mapping cylinders for this purpose. As explained during the discussion of the generalized extension problem in the beginning of Section 5, the extension problems are equivalent. Using a fixed representatives w'± : Sd*(£2fc_:L) —> Efc V Efc, we may construct the generalized mapping cylinder A': A'—with the inclusion denoted by i': A' —> A', of the composition A[ v • • • V A's qV-Vq > Sf -1 V • • • V Ef-1 AsJv-VEj. A' AW Thus, we have constructed an extension problem, given by i' and /', and by Proposition 5.1, its solvability is equivalent to the solvability of the system (Q-SYM) that we started with. Finally, we replace the simplicial sets A! and X by the simplicial complexes B*(Sd(A')) and -B*(Sd(A')) (see Proposition 3.5). The map /' is replaced by the composition f'^a' in the diagram £*(Sd(A')) A' Sk £*(Sd(A'))-^A where the maps ^a' and 7x' were also defined in Proposition 3.5. Since both ^x' and 7^ are homotopy equivalences, the extendability of |/'| is equivalent to that of \f'jA'\ by Corollary 3.1. □ 29When bq = 0, we take A'q = Sd^E2^1) and f'q: Sd'(E2 Sk the constant map onto the basepoint. 30 Proof of Theorem 1.1 (b). Again, we work out the case k even. Let A, A, Y, / and g be as in Proposition 5.1 and fix an arbitrary pair of simplicial sets (A', A') whose geometric realization is homotopy equivalent to (A, A). Using generalized mapping cylinders for this purpose, we may assume that A' = £2fc_1. We fix some simplicial maps w'±: Sd\T2k-1) -^Efc VEfc representing the Whitehead product and its negative. According to Proposition 6.2, the cell complex Y of (14) is homotopy equivalent to the quotient M/S, where M is an arbitrary generalized mapping cylinder M: S~^>T for the map \T\ between the geometric realizations of the simplicial sets s=v,<, sr1 v v, sr\ t=\i% ^ v v, ^ whose restrictions to the spheres of S are the attaching maps ifij and ipa for the cells of Y; see Section 5. The generalized mapping cylinder M is constructed by Proposition 6.5. Since the image of /: A —> Y lies in T, the replacement of Y by M/S results in replacing / by the composition /: S2fc-i T _JHL> M M/S. (the homotopy equivalence Y ~ M/S restricts to projiy on T by Proposition 6.2). It remains to replace / by a simplicial map. But since / is a combination of the Whitehead products and the remaining maps %t and proj are simplicial, we may achieve this by replacing M/S further by the generalized mapping cylinder Y': E^^M/S as in Section 6.2. We denote the inclusion £2fc_1 —> Y' by /'. From the definition of the generalized mapping cylinder, iu/sf ~ /' and iu/s 1S a homotopy equivalence, and therefore the extendability of / is equivalent to that of /'. This finishes the construction of a simplicial replacement of the extension problem. To make everything into simplicial complexes, we apply B* Sd to all the involved simplicial sets A' = E2*-1, A', Y' and the simplicial map /'. □ Proof of Theorem 1.2. Let us fix some simplicial representatives h: Sd*(E3) —>■ E2, w: Sd*(E3) E2 V E2, m2, m_i: Sd*(E2) E2 for the Hopf map rj, the Whitehead product [^1,^2], and the maps of degree 2 and — 1, respectively. We may then build the generalized mapping cylinder M: E? V-- - VE^E? V-- - V E2, for the map tpa whose restriction to the kth. summand E| is given by = Yl "if W + Yl aif[^L3]- l•<-• while Sd^A1) is •<-•-The barycentric subdivision Sd*(X) is related to the original simplicial set x via an initial vertex map Sd*(X) —> x, which is a homotopy equivalence. Moreover there is a universal way of associating a simplicial complex with any simplicial set x: it has the same vertex set as x and a collection of vertices spans a (unique) simplex if and only if there exists a simplex in the original simplicial set x with this vertex set. An alternative, equivalent definition of b*x is that it is the simplicial complex associated in this way with Sd*(X). Proof of Proposition 3.5. The face operators di can be iterated to obtain more general face operators. Since each di leaves out the i-th vertex of a simplex, by iterating we obtain face operators that leave out a set of vertices. When this set is / C {0, ...,n}, we write the corresponding operator as <9/. It is easy to observe that we can express di as dj = dil--- dik, where i\ < ■■■ < ik is the ordering of the elements of / = ... ,ik}. We call k the codimension of di. Similarly, we can iterate the s-i and obtain general degeneracy operators sj. Since we are interested in the computational side of the story, we will describe the simplicial complex _B„,(Sd(.X")) explicitly. Its vertices are the chains , f1 , , & , , $k , cr = -> o\ )-> .............. )-> Ok, where -> T\ >-> .............. >-> T£ (still with T£ non-degenerate and all face operators gi of codimension at least 1) is a subchain of cr, which we write as cr > t, if there exists an injective monotone map (a subsequence) 32 if: {0,..., £} —> {0,..., k} with £ < k and a commutative diagram (the top maps are the appropriate compositions of the where every arrow o^i)—£tj is an iterated degeneracy operator p,t for which p-iTi = The commutativity means that the respective compositions of operators are equal. For each ip, there exists at most one subchain t, but for a given t, the choice of ip is not unique. The composition a$ —> 0^(0) —> tq gives a canonical operator tq. It is not too hard to show30 that this operator depends only on a and t and not on the choice of ip. The ra-simplices of -B*(Sd(X)) are then formed by the subsets {er°,..., ern} for all decreasing sequences er° > • • • > an of chains; we order the vertices in each simplex according to the subchain relation. The simplicial map 7: -B*(Sd(X)) —> X is defined on vertices by sending er to the last vertex of a$. For a simplex specified by er° > • • • > ern, we have a canonical chain (*°)0—K^)o—>..............—K^n)o of operators and we use these to map the last vertices lastv(( • • • > crn is then the simplex of (crn)0 spanned by these vertices (it might be degenerate, e.g. when some of the (cr*_1)o —> ( ■ ■ ■ > (o~l)o on these choices. 33 some of the inputs are 0-reduced or 1-reduced. A typical example is the computation of the homology groups of a loop space flX of a simplicial set X. First, we remark, that it is impossible to compute these homology groups for general X, as otherwise we would obtain an algorithmic computation of iri(X), which is known to be impossible by (cite). On the positive side, there is a very old method for the computation of these homology groups which, however, works only for 1-reduced X (using the so-called cobar construction and homological perturbation theory; see (cite)).32 It is thus natural to ask if the undecidability of the extension problem of Theorem 1.1 might only be caused by Y being (k — l)-connected but not (k — l)-reduced. In this section, we will prove a version of Theorem 1.1 with (k — l)-reduced Y. The simplicial set Y' appearing in the proof of part (a) of Theorem 1.1 might be chosen to be either Sfc or SfcVSfc (depending on the dimension), both of which are {k — l)-reduced and no further work is needed. To finish the proof of part (b), we need to replace Y' by some (k — l)-reduced simplicial set without changing the extendability. To this end, we introduce a very useful notion of an n-equivalence. Let 0 < n < oo. A continuous map Y —> Z is said to be an n-equivalence if it induces an isomorphism on all homotopy groups up to dimension n — 1 and a surjection in dimension n (the oo-equivalences are usually called weak homotopy equivalences). We will need the following basic property of ra-equivalences. Proposition B.l. Let X be a cell complex of dimension n, f: A —> Y a continuous map defined on a subcomplex A C X and h: Y —» Z an n-equivalence. Then f is extendable to X if and only if hf is extendable to X. Proof. If / has an extension g, then hf extends to hg. The other direction is [Spa66, Section 7.6, Theorem 22]. □ With the previous proposition in mind, we construct a replacement of Y by brute force, i.e. by going through all "candidate replacements" and checking if they give equivalent extension problems. In detail, we fix (X',A') as in Section 6.3 and make a list of all pairs (Z1, h'), where Z' is a finite (k — l)-reduced simplicial set and h': Y' —> Z' a simplicial map. In each step we test whether h! is a (2fc)-equivalence. If that is the case, then the problem of extending the composition h'f: A' —> Z' to X is equivalent to that of f':A'^ Y', which we proved to be undecidable. By the Hurewicz theorem, h! is a (2fc)-equivalence if and only if Cone(/i') has zero homology groups up to dimension 2k. This can be tested easily using a Smith normal form algorithm. The pair (Z1, h') with the above properties exists by the following theorem, finishing the proof of Theorem 1.1 with (k — l)-reduced target. Theorem B.2. Let n > k > 2 and let Y be a [k — l)-connected simplicial set whose homology groups Hi(Y), i < n, are finitely generated. Then there exist a finite {k — l)-reduced simplicial set Z and an n-equivalence ip: Y —> Z. We believe that the theorem should be known in some form but we were not able to find it in the literature. For its proof, we will need a couple of more advanced notions. Accordingly, the proof will be more sketchy. 32 On the other hand it is possible to compute these homology groups for any 1-connected X. This is another application of the "brute force" version of Theorem B.2 that is explained just prior to its statement. 34 Let An be the standard ra-simplex (regarded as a simplicial set). For 0 < k < n, the kth n-horn is the simplicial subset A£ C An spanned by all the proper faces of An with the exception of the k-th. face. A simplicial set Z is said to be a Kan complex if every simplicial map /: Xrkl —> Z can be extended to a simplicial map An —> Z. The map / is called a horn in Z and we say that this horn can be filled if the extension exists. A usual method for constructing Kan complexes is the successive filling of horns, which is described, e.g., in [FP90, Proofs of Prop. 4.5.5 and 4.5.6]. Given a simplicial set Y and a horn /: Ak —> Y in Y, we can form a larger simplicial set FU/A" by attaching An to Y along /; this larger simplicial set (continuously) deformation retracts to Y, and, by construction, the horn /: Ak —> Y can be filled in the larger simplicial set. We refer to this operation as a single horn filling. If we simultaneously attach fillings for all unfillable horns in Y, we obtain a simplicial set K.(Y) that contains Y and such that all horns in Y can be filled in K.(Y). Iterating this procedure , we obtain a sequence Y C K(Y) C K2{Y) C ..., where, by construction, every horn in !Cn(Y), can be filled in !Cn+1(Y). Let JC°°(Y) be the union of the simplicial sets Kn{Y), n6N. Proposition B.3. • The simplicial set K.°°(Y) is a Kan complex. • The inclusion Y —> K.°°(Y) is an oo-equivalence. • If Y is (d — l)-reduced then so is K.(Y) and consequently also K.°°(Y). • Let L C )C°°(Y) be a finite simplicial subset. Then L lies in a simplicial subset obtained from Y by a finite sequence of single horn fillings. Proof. Any horn in K°°{Y) lies in some Kn{Y) and is thus tillable in Kn+l{Y) C K°°{Y). The proof of the second point is similar, using a deformation retraction of K.n(Y) onto Y. The third point is clear. For the last point, L lies in some K.n(Y). By induction, Ln/Cn_1(Y) uses only a finite number of single horn fillings. A finite number of single horn fillings is required to cover L. □ Thus, there exists a homotopy equivalence Y —> tC°°{Y) of any simplicial set with a Kan complex. For the proof of Theorem B.2, we will need that every Kan complex contains a minimal Kan complex as a deformation retract [May92, Theorem 9.5] and that a minimal (k — l)-connected Kan complex is in fact (k — l)-reduced. Thus, composing the inclusion Y —> tC°°{Y) with the deformation retraction yields an oo-equivalence c. Y^ZofY with a (k — l)-reduced Kan complex Z. Proof of Theorem B.2. Let Z° C Z denote the image of i and lq : Y —> Z° the restriction of l. By the following proposition, there exists a simplicial set Z', containing Z° as a subset, and a simplicial {n + Inequivalence Z' —> Z. Since this map is the identity on Z°, there 33Formally, we define K.°(Y) := Y and K,n(Y) := K-QC1^1 {Y)) for n > 1. 35 is a canonical map h: Y' —> Z' making the diagram 1Z commutative (namely the composition of lq : Y —> Z° with the inclusion Z° c—>Z'). Since i is an oo-equivalence and if induces an isomorphism on homotopy groups up to dimension n, the same is true for h! and in particular, it is an re-equivalence. □ Proposition B.4. Let re > k > 2 and let Z be a [k — l)-connected Kan complex whose homology groups Hi(Z), i < n, are finitely generated. Then there exist a finite {k — l)-reduced simplicial set Z' and an n-equivalence ip: Z' —> Z. If Z° is an arbitrary finite (k — l)-reduced subset of Z, then Z' can be chosen to contain Z° as a subset if to be the identity on Z°. To prove Proposition B.4, we follow the argument in [HatOl, Proposition 4C.1] but make the attachment maps simplicial by using the idea of filling horns described above. Proof of Proposition B.4- We proceed by induction on n. For n < k — 1, we can take Z' = Z°. Assume that we have constructed a finite simplicial set Z"1^1 and a map ipn~x: Zn~x —> Z that is an (n — Inequivalence. Let Z be the simplicial set obtained from the simplicial mapping cylinder Cyl(V'n_1) of i\)n~x: Zn~x —> Z by collapsing Z° x A1 onto the base Z°. Since i\)n~x is the identity on Z°, the usual deformation retraction of Cyl(V'n_1) onto Z induces a deformation retraction of Z onto Z. We enlarge the pair (Z, Z"1^1) to a Kan pair (K, L) by filling horns. Since Zn~x is (k — l)-reduced, so is L. By the assumption on ipn~x and by the Hurewicz theorem, we have H{(K,L) = 0 for i < n — 1. Consider the exact sequence of homology groups for the pair (K, L): ... Hn(K) Hn(K, L) ^ ffn_i(L) ^ ffn_i(if) ^ Hn-iiK, L) = 0. Pick generators ^ of Hn(K,L). Since Hn(K) ^ Hn(Z) and Hn-i(L) ^ Hn^Z12-1) are finitely generated, a finite number of generators suffices. By the relative Hurewicz theorem, Hn(K, L) = 7rn(K, L, *) (simplicial homotopy groups, since we are working with a Kan pair). Thus, we can choose ra-simplices gj of K representing the jj, whose faces lie in L. Let K' be the simplicial subset of K spanned by L and the simplices gj. Then the natural homomorphism Hn(K',L) —> Hn(K,L) is surjective by the choice of the simplices gj. Since these relative homology groups are zero in lower dimensions, it follows from the long exact sequence of the triple (A, K', L) that Hi(K, K') = 0 for i < n. In effect, the inclusion K' —^ K is an n-equivalence (by the relative Hurewicz theorem again). Composing with an arbitrary deformation retraction of K onto Z we obtain an n-equivalence K' —^ Z satisfying all the required properties except that K' is infinite. Thus, it remains to replace K' by a finite simplicial set. Since there are only finitely many simplices gj, there is a simplicial set V with Zn~x C V C L, obtained from Zn~x by filling finitely many horns, and such that the boundaries of all the simplices gj lie in V. We take Zn to be the finite simplicial set spanned by L' and the simplices gj. Since \L'\ is a deformation retract of \L\, we get that \Zn\ is a deformation retract of \K'\. Thus, Zn has all the required properties. □ 36 References [Ani89] D. J. Anick. The computation of rational homotopy groups is #p-hard. Computers in geometry and topology, Proc. Conf., Chicago/Ill. 1986, Lect. Notes Pure Appl. Math. 114, 1-56, 1989. [Bre93] G. Bredon. Topology and Geometry. Graduate Texts in Mathematics 139. Springer-Verlag, Berlin etc., 1993. [Bro57] E. H. Brown (jun.). Finite computability of Postnikov complexes. Ann. Math. (2), 65:1-20, 1957. [ČKM+11] M. Čadek, M. Krčal, J. Matoušek, F. Sergeraert, L. Vokřínek, and U. Wagner. Computing all maps into a sphere. Preprint, arXiv: 1105.6257, 2011. Extended abstract in Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA 2012). [ČKM+12] M. Čadek, M. Krčal, J. Matoušek, L. Vokřínek, and U. Wagner. Polynomial-time computation of homotopy groups and Postnikov systems in fixed dimension. Preprint, arXiv:1211.3093, 2012. [FP90] R. Fritsch and R. A. Piccinini. Cellular structures in topology, volume 19 of Cambridge Studies in Advanced Mathematics. Cambridge University Press, Cambridge, 1990. [Fril2] G. Friedman. An elementary illustrated introduction to simplicial sets. Rocky Mountain J. Math., 42(2):353-423, 2012. [HatOl] A. Hatcher. Algebraic Topology. Cambridge University Press, Cambridge, 2001. Electronic version available at http://math.Cornell.edu/hatcher#ATl. [Hil55] J. P. Hilton. On the homotopy groups of union of spheres. J. London Math. Soc, 3:154-172,1955. [Jar04] J. F. Jardine. Simplicial approximation. Theory Appl. Categ., 12:No. 2, 34-72, 2004. [KMS11] M. Krčal, J. Matoušek, and F. Sergeraert. Polynomial-time homology for simplicial Eilenberg-MacLane spaces. Preprint, arXiv:1201.6222. To appear in Journal of Foundations of Computational Mathematics, 2011. [Koc90] S. O. Kochman. Stable homotopy groups of spheres. A computer-assisted approach. Lecture Notes in Mathematics 1423. Springer-Verlag, Berlin etc., 1990. [Mat70] Yu. Matiyasevich. The Diophantineness of enumerable sets. Dokl. Akad. Nauk SSSR, 191:279-282, 1970. [Mat93] Yu. V. Matiyasevich. Hilbert's tenth problem. Foundations of Computing Series. MIT Press, Cambridge, MA, 1993. Translated from the 1993 Russian original by the author, With a foreword by Martin Davis. [May92] J. P. May. Simplicial objects in algebraic topology. Chicago Lectures in Mathematics. University of Chicago Press, Chicago, IL, 1992. Reprint of the 1967 original; the page numbers do not quite agree with the 1967 edition. 37 [Maz94] B. Mazur. Questions of decidability and undecidability in number theory. Journal of Symbolic Logic, 59(2):353-371, 1994. [Mun84] J. R. Munkres. Elements of Algebraic Topology. Addison-Wesley, Reading, MA, 1984. [NW96] A. Nabutovsky and S. Weinberger. Algorithmic unsolvability of the triviality problem for multidimensional knots. Comment. Math. Helv., 71(3):426-434, 1996. [NW99] A. Nabutovsky and S. Weinberger. Algorithmic aspects of homeomorphism problems. In Tel Aviv Topology Conference: Rothenberg Festschrift (1998), volume 231 of Contemp. Math., pages 245-250. Amer. Math. Soc, Providence, RI, 1999. [Rav04] D. C. Ravenel. Complex Cobordism and Stable Homotopy Groups of Spheres (2nd ed.). Amer. Math. Soc, 2004. [Rea96] P. Real. An algorithm computing homotopy groups. Mathematics and Computers in Simulation, 42:461—465, 1996. [RRS06] A. Romero, J. Rubio, and F. Sergeraert. Computing spectral sequences. J. Symb. Comput., 41(10):1059-1079, 2006. [RS02] J. Rubio and F. Sergeraert. Constructive algebraic topology. Bull. Sci. Math., 126(5):389-412, 2002. [RS05] J. Rubio and F. Sergeraert. Algebraic models for homotopy types. Homology, Homotopy and Applications, 17:139-160, 2005. [RS12] J. Rubio and F. Sergeraert. Constructive homological algebra and applications. Preprint, arXiv: 1208.3816, 2012. Written in 2006 for a MAP Summer School at the University of Genova. [Sch91] R. Schon. Effective algebraic topology. Mem. Am. Math. Soc, 451:63 p., 1991. [Ser94] F. Sergeraert. The computability problem in algebraic topology. Adv. Math., 104(l):l-29, 1994. [Smi98] J. R. Smith. m-Structures determine integral homotopy type. Preprint, arXiv:math/9809151vl, 1998. [Soa04] R. I. Soare. Computability theory and differential geometry. Bull. Symbolic Logic, 10(4):457-486, 2004. [Spa66] E. H. Spanier. Algebraic topology. McGraw Hill, 1966. [Ste72] N. E. Steenrod. Cohomology operations, and obstructions to extending continuous functions. Advances in Math., 8:371-416, 1972. [Whi78] G. W. Whitehead. Elements of homotopy theory, volume 61 of Graduate Texts in Mathematics. Springer-Verlag, New York, 1978. 38 Algorithmic solvability of the lifting-extension problem Martin Cadek Marek Krcal Lukas Vokfinek December 10, 2016 Abstract Let X and Y be finite simplicial sets (e.g. finite simplicial complexes), both equipped with a free simplicial action of a finite group G. Assuming that Y is d-connected and dimX < 2d, for some d > 1, we provide an algorithm that computes the set of all equivariant homotopy classes of equivariant continuous maps \X\ —> \ Y\; the existence of such a map can be decided even for dimX < 2d + 1. This yields the first algorithm for deciding topological embeddability of a fc-dimensional finite simplicial complex into W1 under the condition k < |n — 1. More generally, we present an algorithm that, given a lifting-extension problem satisfying an appropriate stability assumption, computes the set of all homotopy classes of solutions. This result is new even in the non-equivariant situation. 1. Introduction Our original goal for this paper was to design an algorithm that decides existence of an equivariant map between given spaces under a certain "stability" assumption. To explain our solution however, it is more natural to deal with a more general lifting-extension problem. At the same time, lifting-extension problems play a fundamental role in algebraic topology since many problems can be expressed as their instances. We start by explaining our original problem and its concrete applications and then proceed to the main object of our study in this paper - the lifting-extension problem. *The research of M. C. was supported by the project CZ.1.07/2.3.00/20.0003 of the Operational Programme Education for Competitiveness of the Ministry of Education, Youth and Sports of the Czech Republic. The research by M. K. was supported by the Center of Excellence - Inst, for Theor. Comput. Sci., Prague (project P202/12/G061 of GA CR) and by the Project LL1201 ERCCZ CORES. The research of L. V. was supported by the Center of Excellence - Eduard Cech Institute (project P201/12/G028 of GA CR). 2010 Mathematics Subject Classification. Primary 55Q05; Secondary 55S91. Key words and phrases. Homotopy classes, equivariant, fibrewise, lifting-extension problem, algorithmic computation, embeddability, Moore-Postnikov tower. 1 Equivariant maps. Consider the following algorithmic problem: given a finite group G and two free G-spaces X and Y, decide the existence of an equivariant map /: X —> Y. In the particular case G = Z/2 and Y = Sn~1 equipped with the antipodal Z/2-action, this problem has various applications in geometry and combinatorics. Concretely, it is well-known that if a simplicial complex K embeds into IRn then there exists a Z/2-equivariant map (K x K) \ Ak —>■ Sn~1; the converse holds in the so-called metastable range dimK < %n — 1 by [26]. Algorithmic aspects of the problem of embed-dability of K into IRn were studied in [17] and, with the exception of low dimensions, the meta-stable range was the only remaining case left open. Theorem 1.4 below shows that it is solvable. Equivariant maps also provide interesting applications of topology to combinatorics. For example, the celebrated result of Lovasz on Kneser's conjecture states that for a graph G, the absence of a Z/2-equivariant map B(G) —> S"1^1 imposes a lower bound x(G) > n+2 on the chromatic number of G, where B(G) is a certain simplicial complex constructed from G, see [14]. Building on the work of Brown [2], which is not applicable for Y = Sn~1, we investigated in papers [4, 5] the simpler, non-equivariant situation, where X and Y were topological spaces and we were interested in [X, Y], the set of all homotopy classes of continuous maps X —> Y. Employing methods of effective homology developed by Sergeraert et al. (see e.g. [19]), we showed that for any fixed d > 1, [X, Y] is polynomial-time computable if Y is (i-connected and dim A" < 2d.1 In contrast, [6] shows that the problem of computing [X, Y] is #P-hard when the dimension restriction on X is dropped. More strikingly, a related problem of the existence of a continuous extension of a given map A —>• Y, defined on a subspace A of X, is undecidable as soon as dim A" > 2d + 2. Here we obtain an extension of the above computability result for free G-spaces and equivariant maps. The input G-spaces X and Y can be given as finite simplicial sets (generalizations of finite simplicial complexes, see [9]), and the free action of G is assumed simplicial. The simplicial sets and the G-actions on them are described by a finite table. Theorem 1.1. Let G be a finite group. There is an algorithm that, given finite simplicial sets X and Y with free simplicial actions of G, such that Y is d-connected, d > 1, and dim A" < 2d + 1, decides the existence of a continuous equivariant map X —> Y. If such a map exists and dimX < 2d, then the set [X,Y] of all equivariant homotopy classes of equivariant continuous maps can be equipped with the structure of a finitely generated abelian group, and the algorithm outputs the isomorphism type of this group. The isomorphism type is output as an abstract abelian group given by a (finite) number of generators and relations. Furthermore, there is an algorithm that, given an equivariant simplicial map I: X —> Y, computes the element of this group that £ represents. In the opposite direction, although every homotopy class can be represented by a simplicial map 1An extension of [4] to the case of a simply connected Y whose non-stable homotopy groups, i.e. the groups Trn(Y) for n > 2d, wee finite (e.g. an odd-dininsional sphere) that works for X of arbitrary dimension can be found in [25]. 2 X' —> Y for some subdivision X' of X, we do not know of effective means of producing such representatives.2 As a consequence, we also have an algorithm that, given two equivariant simplicial maps X —> Y, tests whether they are equivariantly homotopic under the above dimension restrictions on X. Building on the methods of the present paper, [12] removes the dimension restriction for the latter question: it provides a homotopy-testing algorithm assuming only that Y is simply connected. A work in progress that started in [11] has a goal to extend the results of the present paper to non-free G-actions; for this extension, it seems necessary to work with diagrams of fixed points of various subgroups H < G and maps between them, while free actions allow to work with a single space (namely, the fixed points of the trivial subgroup). Lifting-extension problem. We obtain Theorem 1.1 by an inductive approach that works more generally and more naturally in the setting of the (equivariant) lifting-extension problem, summarized in the following diagram: A--—f Y 4> (1.2) x'—t^b The input objects for this problem are the solid part of the diagram and we require that: • A, X, Y, B are free G-spaces; • f: A^tY and g: X —>• B are equivariant maps; • l: A ;—y X is an equivariant cofibration (simplicially: an inclusion); • ip: Y—» B is an equivariant fibration (simplicially: a Kan fibration, see [15]); and • the square commutes (i.e. gi = ipf). The lifting-extension problem asks whether there exists a diagonal in the square, i.e. an equivariant map I: X —> Y, marked by the dashed arrow, that makes both triangles commute. We call such an £ a solution of the lifting-extension problem (1.2). Moreover, if such an £ exists, we would like to compute the set [X, Y]^ of all solutions up to equivariant fibrewise homotopy relative to A.3 More concretely, in the cases covered by our algorithmic results, we will be able to equip [X, Y]^ with a structure of an abelian group, and the algorithm computes the isomorphism type of this group. To be more precise, this structure is only canonical up to a choice of zero, with various choices differing by translations, so that [X, Y]^ really has an "affine" nature (in very much the same way as an affine space is naturally a vector space up to a choice of its origin). For an abstract point of view, see [24]. 2It is possible, for a given homotopy class z G [X, Y], to go through all subdivisions X' and all possible simplicial maps X' —> Y and test if they represent z. However, such a procedure does not seem to be very effective. 3A homotopy h: [0, 1] x X —>• Y is fibrewise if if)(h(t, x)) = g(x) for all t G [0,1] and x G X. It is relative to A if, for a G A, h(t, a) is independent of t, i.e. h(t, a) = f(a) for all t G [0,1] and a G A. 3 Generalized lifting-extension problem. Spaces appearing in a fibration f): Y —» B must typically be represented by infinite simplicial sets4, and their representation as inputs to an algorithm can be problematic. For this reason, we will consider a generalized lifting-extension problem, where, compared to the above, ip: Y —> B can be an arbitrary equivariant map, not necessarily a fibration. In this case, it makes no sense from the homotopy point of view to define a solution as a map X —> Y making both triangles commutative. A homotopically correct definition of a solution is as a pair [£, h), where £: X —> Y is a map for which the upper triangle commutes strictly and the lower one commutes up to the specified homotopy h: [0,1] x X —> B relative to A. We will not pursue this approach any further (in particular, we will not define the right notion of homotopy of such pairs) and choose an equivalent, technically less demanding alternative, which consists in replacing the map ip by a homotopy equivalent fibration. To this end, we factor ip: Y —> B as a weak homotopy equivalence j: Y ^> Y' followed by a fibration ip': Y' —» B (in the simplicial setup, see Lemma 7.2). We define a solution of the considered generalized lifting-extension problem to be a solution £': X —> Y' of the lifting-extension problem A Y Y' X'—g->B If ip was a fibration to begin with, we naturally take Y = Y' and j = id, and then the two notions of a solution coincide. With some abuse of notation, we write [X, Y]^ for the set [X, Y']^ of all homotopy classes of solutions of the above lifting-extension problem. Clearly, for every diagonal £: X —> Y (i.e. a map £ satisfying f = £i and g = ip£), the composition £' = j£ is a solution and, in this way, £ represents a homotopy class in [X, Y]g. On the other hand, not every homotopy class is represented by a diagonal £: X —> Y. We remark that Y' is used merely as a theoretical tool - for actual computations, we use a different approximation of Y, namely a suitable finite stage of a Moore-Postnikov tower for f}\ Y —> B; see Section 4. Moreover, Y' is not determined uniquely, and thus neither are the solutions of the generalized lifting-extension problem. However, rather standard considerations show that the existence of a solution and the isomorphism type of [X, Y']^ as an abelian group are independent of the choice of Y'. Examples of lifting-extension problems. In order to understand the meaning of the (generalized) lifting-extension problem, it is instructive to consider some special cases. (i) (Classification of extensions.) First, consider G = {e} trivial (thus, the equivariance conditions are vacuous) and B a point (which makes the lower triangle in the lifting-extension problem superfluous). Then we have an extension problem, asking for the 4If tp is a Kan fibration between finite simply connected simplicial sets then its fibre is a finite Kan complex and it is easy to see that it then must be discrete. Consequently, ip is a covering map between simply connected spaces and thus an isomorphism. 4 existence of a map £: X —> Y extending a given f-.A^-Y. We recall that this problem is undecidable when dimX is not bounded, according to [6]. Moreover, [X, Y]A is the set of appropriate homotopy classes of such extensions.5 (ii) (Equivariant maps.) Consider G finite, A = 0, and B = EG, a contractible free G-space (it is unique up to equivariant homotopy equivalence). For every free G-space Z, there is an equivariant map cz: Z —> EG, unique up to equivariant homotopy. If we set g = Cx and ip = cy in the generalized lifting-extension problem, it can be proved that [x,y]%g is in a bijective correspondence with equivariant maps X —> Y up to equivariant homotopy. This is how we obtain Theorem 1.1. Note that we cannot simply take B to be a point in the lifting-extension problem with a nontrivial G, since there is no free action of G on a point. Actually, EG serves as an equivariant analogue of a point among free G-spaces. (iii) (Extending sections in a vector bundle.) Let G = {e}, and let ip: Y —> B be the inclusion BSO(n — k) —> BSO(n), where BSO(n) is the classifying space of the special orthogonal group SO(n). Then the commutative square in the generalized lifting-extension problem is essentially an oriented vector bundle of dimension n over X together with k linearly independent vector fields over A. The existence of a solution is then equivalent to the existence of linearly independent continuations of these vector fields to the whole of X. We remark that, in order to apply our theorem to this situation, a finite simplicial model of the classifying space BSO(n) would have to be constructed. As far as we know, this has not been carried out yet. We briefly remark that for non-oriented bundles, it is possible to pass to certain two-fold "orientation" coverings and reduce the problem to one for oriented bundles but with a further Z/2-equivariance constraint. Main theorem. Now we are ready to state the main result of this paper. Theorem 1.3. Let G be a finite group and let an instance of the generalized lifting-extension problem be input as follows: A, X, Y, B are finite simplicial sets with free simplicial actions of G, A is an equivariant simplicial subset of X, and f, g, ip are equivariant simplicial maps. Furthermore, both B and Y are assumed to be simply connected, and the homotopy fibre6 ofip: Y —>• B is assumed to be d-connected for some d>l. There is an algorithm that, for dimX < 2d + 1, decides the existence of a solution. Moreover, if dim X < 2d and a solution exists, then the set [X,Y]^ can be equipped with the structure of an abelian group, and the algorithm computes its isomorphism type. 5 The problem of computing homotopy classes of solutions (under our usual condition on the dimension of X) was considered in [5], but with a different equivalence relation on the set of all extensions: [5] dealt with the (slightly unnatural) coarse classification, where two extensions £q and £\ are considered equivalent if they are nomotopic as maps X —> Y, whereas here we deal with the fine classification, where the equivalence of £q and £\ means that they are nomotopic relative to A. 6The homotopy fibre of ip is the fibre of ip', where ip is factored through Y' as above. It is unique up to homotopy equivalence, and so the connectivity is well defined. 5 As in Theorem 1.1, the isomorphism type means an abstract abelian group (given by generators and relations) isomorphic to [X, Y]g. Given an arbitrary diagonal I: X —> Y in the considered square, one can compute the element of this group that I represents. Constructing the abelian group structure on [X, Y]g will be one of our main objectives. In the case of all continuous maps X —> Y up to homotopy, with no equivariance condition imposed, as in [4], the abelian group structure on [X, Y] is canonical. In contrast, in the setting of the lifting-extension problem, the structure is canonical only up to a choice of a zero element. This non-canonicality of zero is one of the phenomena making the equivariant problem (and the lifting-extension problem) substantially different from the non-equivariant case treated in [4]. We will have to deal with the choice of zero, and working with "zero sections" in the considered fibrations. Embeddability and equivariant maps. Theorem 1.1 has the following consequence for embeddability of simplicial complexes: Theorem 1.4. Let n be an integer. There is an algorithm that, given a finite simplicial complex K of dimension k < |n — 1, decides the existence of an embedding of K into W1. The algorithmic problem of testing embeddability of a given /c-dimensional simplicial complex into IRn, which is a natural generalization of graph planarity, was studied in [17]. Theorem 1.4 clarifies the decidability of this problem for k < %n — 1; this is the so-called metastable range of dimensions, which was left open in [17]. Briefly, in the metastable range, the classical theorem of Weber (see [26]) asserts that embeddability is equivalent to the existence of a Z/2-equivariant map (KxK)\Ak —> S^1 whose domain is equivariantly homotopy equivalent to a finite simplicial complex7 with a free simplicial action of Z/2. Thus, Theorem 1.4 follows immediately from Theorem 1.1; we refer to [17] for details. We also remark that the algorithm of Theorem 1.4 does not produce an actual map (K x K) \ Ak —> Sn~1 and, thus, we do not know of an effective way of producing an actual embedding (in addition, we have not analyzed Weber's proof sufficiently well to be able to tell whether it produces an embedding from an equivariant map in an algorithmic way). Polynomial running times. We remark that, for fixed G and d, the algorithms of Theorems 1.1 and 1.3 run in polynomial time. The algorithm of Theorem 1.4 also runs in polynomial time when the dimension n is fixed. These claims are proved in an extended version [0] of the present paper. Outline of the proof. In the rest of this section, we sketch the main ideas and tools needed for the algorithm of Theorem 1.3. Even though the computation is in some aspects 7The complex is (the canonical triangulation of) the union of all products a x t of disjoint simplices er, t G K, a n t = 0. 6 similar to that of [4], there are several new ingredients which we had to develop in order to make the computation possible. We describe these briefly after the outline of the proof. Our first tool is a Moore-Postnikov tower Pn for ip: Y —> B within the framework of (equivariant) effective algebraic topology (essentially, this means that all objects are representable in a computer); it is enough to construct the number of stages equal to the dimension of X. It can be shown that [X, Y]g = [X, Pn]s lor n > dim X and so it suffices to compute inductively [X, Pn]s from [X, Pn_i]^ for n < dimX. This is the kind of problems considered in obstruction theory. Namely, there is a natural map [X, Pn]s —> [X, Pn-i]g and it is possible to describe all preimages of any given homotopy class [£] G [X, Pn-i]^ using, in addition, an inductive computation of [A1 x X, Pn_i]^A xX)u(A xA\ jn general however, [X, Pn-i]^ is infinite and it is thus impossible to compute [X, Pn]^ as a union of preimages of all possible homotopy classes [£] (on the other hand, if these sets are finite, the above description does provide an algorithm, probably not very efficient, see [2, 25]). For this reason, we use in the paper to a great advantage our second tool, an (effective) abelian group structure on the set [X, Pn]s of homotopy classes of diagonals, which only exists on a stable part n < 2d and, of course, only if this set is non-empty. The group structure comes from an "up to homotopy" abelian group structure on Pn (or, in fact, a certain pullback of Pn) which we make algorithmic - this is the heart of the present paper. We remark that the abelian group structure on [X, Pn]s was already observed in [16]; however, this paper did not deal with algorithmic aspects. In the stable part of the Moore-Postnikov tower, the natural map [X, Pn]s —> [X, Pn_i]^ is a group homomorphism and the above mentioned computation of preimages of a given homotopy class [£] may be reduced to a finite set of generators of the image; the computation is conveniently summarized in a long exact sequence (4.17). This finishes the rough description of our inductive computation. New tools. In the process of building the Moore-Postnikov tower, and also later, it is important to work with infinite simplicial sets, such as the Moore-Postnikov stages Pn, in an algorithmic way. This is handled by the so-called equivariant effective algebraic topology and effective homological algebra. The relevant non-equivariant results are described in [19, 5]. In many cases, only minor and/or straightforward modifications are needed. One exception is the equivariant effective homology of Moore-Postnikov stages, for which we rely on a separate paper [23]. Compared to the previous work [4], the main new ingredient is the weakening of the H-space structure that exists on Moore-Postnikov stages. This is needed in order to carry out the whole computation algorithmically. Accordingly, the construction of this structure is much more abstract. In [4], we had B = * and Postnikov stages carried a unique basepoint. In the case of nontrivial B, the basepoints are replaced by sections and Moore-Postnikov stages may not admit a section at all - this is related to the possibility of [X, Y]g being empty. It might also happen that we choose a section of Pn-i which does not lift to Pn. In that case, we need to change the section of Pn-i and compute [X, Pn_i]^ again from scratch. 7 Plan of the paper. In the second section, we give an overview of equivariant effective homological algebra that we use in the rest of the paper. The third section is devoted to the algorithmic construction of an equivariant Moore-Postnikov tower. The proofs of Theorems 1.1 and 1.3 are given in the following section, although proofs of its two important ingredients are postponed to Sections 5 and 6. In the fifth section, we construct a certain weakening of an (equivariant and fibrewise) H-space structure on pointed stable stages of Moore-Postnikov towers. In the sixth section, we show how this structure enables one to endow the sets of homotopy classes with addition in an algorithmic way. Finally, we derive an exact sequence relating [X, Pn]s to [X, Pn_i]^ and [A1 x X, Pn_i]^A xX)u(A Xj4) anci thus enabling an inductive computation. In the seventh section, we provide proofs that we feel would not fit in the previous sections. 2. Equivariant effective homological algebra 2.1. Basic setup. For a simplicial set, the face operators are denoted by dt, and the degeneracy operators by Sj. The standard m-simplex Am is a simplicial set with a unique non-generate m-simplex and no relations among its faces. The simplicial subset generated by the i-th face of Am will be denoted by diAm. The boundary dAm is the union of all these faces and the i-th horn A™ is generated by all faces djAm, j ^ i. Finally, we denote the vertices of Am by 0,..., m. Sergeraert et al. (see [19]) have developed an "effective version" of homological algebra, in which a central notion is an object (simplicial set or chain complex) with effective homology. Here we will discuss analogous notions in the equivariant setting, as well as some other extensions. For a key result, we rely on a separate paper [23] which shows, roughly speaking, that if the considered action is free, equivariant effective homology can be obtained from non-equivariant one. We begin with a description of the basic computational objects, sometimes called locally effective objects. The underlying idea is that in every definition one replaces sets by computable sets and mappings by computable mappings. For us, a computable set will be a set whose elements have a finite encoding by bit strings, so that they can be represented in a computer. On the other hand, it may happen that no "global" information about the set is available; e.g. it is algorithmically undecidable in general whether a given computable set is nonempty. A computable subset of a computable set T is a subset 5CT equipped with an algorithm that decides, for a given element of T, whether it belongs to S. A mapping between computable sets is computable if there is an algorithm computing its values. We will need two particular cases of this principle - simplicial sets and chain complexes. 2.2. Simplicial sets. A locally effective simplicial set is a simplicial set X whose simplices have a specified finite encoding and whose face and degeneracy operators are specified by algorithms. Our simplicial sets will be equipped with a simplicial action of a finite group G that is also computed by an algorithm (whose input is an element of G and a simplex of 8 X). We will assume that this action is free and that a distinguished set of representatives of orbits is specified - such X will be called G-cellular. In the locally effective context, we require that there is an algorithm that expresses each simplex x G X (necessarily in a unique way) as x = ay where a G G and y G X is a distinguished simplex. Remark. We will not put any further restrictions on the representation of simplicial sets in a computer - the above algorithms will be sufficient. On the other hand, it is important that such representations exist. We will describe one possibility for finite simplicial sets and complexes. Let X be a finite simplicial set with a free action of G. Let us choose arbitrarily one simplex from each orbit of the non-degenerate simplices; these simplices together with all of their degeneracies are the distinguished ones. Then every simplex x G X can be represented uniquely as x = asjy, where a G G, sj is an iterated degeneracy operator (i.e. a composition s«m • • • with «!<•••< im), and y is a non-degenerate distinguished simplex. With this representation, it is possible to compute the action of G and the degeneracy operators easily, while face operators are computed using the relations among the face and degeneracy operators and a table of faces of non-degenerate distinguished simplices. This table is finite and it can be provided on the input. A special case is that of a finite simplicial complex. Here, one can prescribe a simplex (degenerate or not) uniquely by a finite sequence of its vertices. 2.3. Chain complexes. For our computations, we will work with nonnegatively graded chain complexes G* of abelian groups on which G acts by chain maps; denoting by ZG the integral group ring of G, one might equivalently say that G* is a chain complex of ZG-modules. We will adopt this terminology from now on. We will also assume that these chain complexes are ZG-cellular, i.e. equipped with a distinguished ZG-basis; this means that for each n > 0 there is a collection of distinguished elements of Cn such that the elements of the form ay, with a G G and y distinguished, are all distinct and form a Z-basis of Cn. In the locally effective version, we assume that the elements of the chain complex have a finite encoding, and there is an algorithm expressing arbitrary elements as (unique) ZG-linear combinations of the elements of the distinguished bases. We require that the operations of zero, addition, inverse, multiplication by elements of ZG, and differentials are computable.8 A basic example, on which these assumptions are modelled, is that of the normalized chain complex G*AT of a simplicial set X (the quotient of the usual chain complex by the subcomplex spanned by degenerate simplices): for each n > 0, a Z-basis of CnX is given by the set of nondegenerate n-dimensional simplices of X. If X is equipped with a free simplicial action of G, then this induces an action of G on C*X by chain maps, and a ZG-basis for each CnX is given by a collection of nondegenerate distinguished n-dimensional simplices of X, one from each G-orbit. 8 These requirements (with the exception of the differentials) are automatically satisfied when the elements of the chain complex are represented directly as ZG-linear combinations of the distinguished bases. 9 If X is locally effective as defined above, then so is C*X (for evaluating the differential, we observe that a simplex x is degenerate if and only if x = SidiX for some i, and this can be checked algorithmically). Convention 2.4. We fix a finite group G. All simplicial sets are locally effective, equipped with a free action of G and G-cellular in the locally effective sense. All chain complexes are non-negatively graded locally effective chain complexes of free ZG-modules that are moreover ZG-cellular in the locally effective sense. All simplicial maps, chain maps, chain homotopies, etc. are equivariant and computable. Later, Convention 5.1 will introduce additional standing assumptions. Definition 2.5. An effective chain complex is a (locally effective) chain complex equipped with an algorithm that generates a list of elements of the distinguished basis in any given dimension (in particular, the distinguished bases are finite in each dimension). For example, if a simplicial set X admits an algorithm generating a (finite) list of its non-degenerate distinguished simplices in any given dimension, then its normalized chain complex C*X is effective. 2.6. Reductions, strong equivalences. We recall that a reduction (also called contraction or strong deformation retraction) C* =>• between two chain complexes is a triple (a, (3,i]) such that a: C* —> and (3: C^ —> C* are equivariant chain maps such that a/3 = id (i.e. (3 is an inclusion with retraction a) and rj is an equivariant chain homotopy on C* with drj + rjd = id —(3a (i.e. rj is a deformation of C* onto C*); moreover, we require that i](3 = 0, ai] = 0 and rji] = 0. The following diagram illustrates this definition: (a,P,V):C.^Cl = • that restricts to a reduction D* =^ D'^, i.e. such that a(D*) C D'^, (3(D'/) C D*, and i](D*) C D*. From this reduction, we get an induced reduction C*/D* =^ C'^/D'^ of the quotients. We will need to work with a notion more general than reductions, namely strong equivalences. A strong equivalence C* <^ is a pair of reductions C* <^= C* =>• C*, where 10 C* is some chain complex. Similarly, a strong equivalence (C*,D*) -<=>- (C^,D'A is a pair of reductions (C*,D*) -<= (C*,D*) =>- (C*,.D^). Strong equivalences can be (algorithmi-cally) composed: if C* -<=>- and -<=>- C", then one obtains C* -<=>- C" (see e.g. [5, Lemma 2.7]). Definition 2.8. Let C* be a chain complex. We say that C* is equipped with effective homology if there is specified a strong equivalence C* -<=>- C^rf of C* with some effective chain complex Cf. Effective homology for pairs (C*,D*) of chain complexes is introduced similarly using strong equivalences of pairs. A simplicial set X is equipped with effective homology if C*X is. Finally, a pair (X, A) of simplicial sets is equipped with effective homology if (C*X, C*A) is. Remark. In what follows, we will only assume (X, A), Y, B to be equipped with effective homology. Consequently, it can be seen that Theorems 1.1 and 1.3 also hold under these weaker assumptions. The dimension restriction on X can be weakened to: the equivariant cohomology groups of (X, A), defined in Section 2.15, vanish above dimension 2d. By passing to the mapping cylinder X' = (A1 x A) UX, we may even relax the condition on the pair (X, A) to each of A, X being equipped with effective homology separately since then the pair (X', A) has effective homology (this is very similar to but easier than Proposition 5.11) and the resulting generalized lifting-extension problem is equivalent to the original one. The following theorem shows that, in order to equip a chain complex with effective homology, it suffices to have it equipped with effective homology in the non-equivariant sense. Theorem 2.9 ([23]). Let be a chain complex (of free %G-modules). Suppose that, as a chain complex of abelian groups, can be equipped with effective homology (i.e. in the non-equivariant sense). Then it is possible to equip with effective homology in the equivariant sense. This procedure is algorithmic. The original strong equivalence C* -<=>- Cf gets replaced by an equivariant one \—r* BCf, where BCf is a bar construction of some sort; see [23] for details. Thus, although non-equivariant effective homology is not the same as equivariant effective homology, it is possible to construct one from the other. In this paper, effective homology will be understood in the equivariant sense, unless stated otherwise. We recall that the Eilenberg-Zilber reduction is a particular reduction C*(X x Y) => C*X (g) C*Y; see e.g. [8, 5, 19]. It is known to be functorial (see e.g. [8, Theorem 2.1a]), and hence it is equivariant. We extend it to pairs. Proposition 2.10 (Product of pairs). If pairs (X,A) and (Y,B) of simplicial sets are equipped with effective homology, then it is also possible to equip the pair (X, A) x (Y, B) = (X x Y, (A x Y) U (X x B)) with effective homology. 11 Proof. The Eilenberg-Zilber reduction C*(X x Y) =>- C*X ® C*Y is functorial, which implies that it restricts to a reduction C*((A x y) U (X x 5)) ^ (CU ® C*F) + (C*X ® C*B) = D*. The strong equivalences C*X -<=^ C^fA" and C*Y -<=^ C^fY induce a strong equivalence (by [19, Proposition 61], whose construction is functorial, and hence applicable to the equivariant setting) C*X ® C*Y CfX ® CfY that, again, restricts to a strong equivalence of the subcomplex D* above with its obvious effective version Df. The composition of these two strong equivalences finally yields a strong equivalence C*((X, A) x (Y, B)) (CfX ® CfY, Df). □ Important tools, allowing us to work efficiently with reductions, are two perturbation lemmas. Given a reduction C* =^ C*, they provide a way of obtaining a new reduction, in which the differentials of the complexes C*, are "perturbed". Again, we will need versions for pairs. Definition 2.11. Let C* be a chain complex with a differential d. A collection of mor-phisms 5: Cn —> Cn_i is called a perturbation of the differential d if the sum <9 + S is also a differential. Since there will be many differentials around, we will emphasize them in the notation. Proposition 2.12 (Easy perturbation lemma). Let (a, (3, rj): (C*,D*,d) =>• (C^D^d1) be a reduction and let 5' be a perturbation of the differential d' on satisfying b~'(D'^) C D'^. Then (a, (3, rj) also constitutes a reduction (C*, D*,d + (35'a) =>- (C*, D'^, & + 5'). Proposition 2.13 (Basic perturbation lemma). Let (a,(3,i]): (C*,D*,d) =>• (C^,D'^,d') be a reduction and let 5 be a perturbation of the differential d on C* satisfying S(D*) C D*. Assume that for every c G C* there is a v G N such that (j]S)u(c) = 0. Then it is possible to compute a perturbation 5' of the differential d' on C1^ and a reduction K(3',i):(C*,D*,d + 5)^ {C'„D'„& + 5'). The absolute versions (i.e. versions where all considered subcomplexes are zero) of the perturbation lemmas are due to [20]. There are explicit formulas provided there for 5' etc. (see also [19]), which show that the resulting reductions are equivariant (since all the involved maps are equivariant). Similarly, these formulas show that in the presence of subcomplexes D* and D'^, these are preserved by all the maps in the new reductions (since all the involved maps preserve them). The following proposition is used for the construction of the Moore-Postnikov tower in Section 3. Here Zn+i(CA denotes the group of all cycles in Cn+i- Proposition 2.14. Let C* be an effective chain complex such that Hi(CA = 0 for i < n. Then there is a (computable) retraction Cn+i —> Zn+i(CA, i.e. a homomorphism that restricts to the identity on Zn+i(CA. Proof. We construct a contraction9 a of C* by induction on the dimension, and use it for 9We recall that a contraction is a map a of degree 1 satisfying da + ad = id. 12 splitting Zn+i(C*) off Cn+i- It suffices to define a on the distinguished bases. Since every basis element x G Co is a cycle, it must be a boundary. We compute some y G C\ for which x = dy, and we set o~(x) = y; since G is finite, we may treat d: C\ —> Cq as a Z-linear map between finitely generated free Z-modules and solve for y using Smith normal form. Now assume that a has been constructed up to dimension i — 1 in such a way that da + ad = id, and we want to define a(x) for a basis element x G Cj. Since rr — o"(9rr) is a cycle, we can compute some y with x — a(dx) = dy, and set a(x) = y. This finishes the inductive construction of a. The desired retraction Cn+i —> Zn+i(C^) is given by id — ad. □ 2.15. Eilenberg MacLane spaces and fibrations. For an abelian group n, there is a simplicial abelian group K(it, n +1), whose m-simplices are the normalized (n + l)-cocycles on Am, i.e. K(tt, n + l)m = Zn+1(Am, it). It is a standard model for the Eilenberg-MacLane space. We will also need a standard model for its path space, which is the simplicial abelian group E(-k,n)m = Cn(Am,7r) of normalized cochains. The coboundary operator 5: E(tt, n) —> K(tt, n + 1) is a fibration with fibre K(tt, n). The Eilenberg-MacLane spaces are useful for their relation to cohomology. Here we only summarize the relevant results, details may be found in [15, Section 24] or [5, Section 3.7] (both in the non-equivariant setup though). When 7r is a ZG-module, there is an induced action of G on both K(-k, n) and E(tt, n). We note that, in contrast to our general assumption, this action is not free and consequently, these spaces may not possess effective homology. This will not matter since they will not enter our constructions on their own but as certain principal twisted cartesian products, see [15] for the definition. Firstly, K(ir,n) possesses non-equivariant effective homology by [5, Theorem 3.16]. The principal twisted cartesian product P = Q xTK(iT,n) has a free G-action whenever Q does and [10, Corollary 12] constructs the non-equivariant effective homology of P from that of Q and K(ir,n). Theorem 2.9 then provides (equiv-ariant) effective homology for P. It is easy to see that the addition in the simplicial abelian groups K(ir,n), E(ir,n) and the homomorphism S between them are equivariant. Moreover, for every simplicial set X, there is a natural isomorphism map(X, E(n,n)) = Cn(X;nf between equivariant simplicial maps and equivariant cochains, that sends /: X —> E(ir,n) to /*(ev), where ev G Cn(E('k, n); tt)g is the canonical cochain that assigns to each n-simplex of E(-k,n)n, i.e. an n-cochain on An, its value on the unique non-degenerate n-simplex of An. The set map(X, E(tt, n)) is naturally an abelian group, with addition inhereted from that on E(-k,n), and the above isomorphism is and isomorphism of groups. When X is finite, this isomorphism is computable (objects on both sides are given by a finite amount of data). When X is merely locally effective, then an algorithm that computes a simplicial map X —> E(ir,n) can be converted into an algorithm that evaluates the corresponding cochain in Cn(X;7r)G, and vice versa. 13 The above isomorphism restricts to an isomorphism map(X, K(n,n)) ^ Zn(X;nf. We will denote the cohomology groups of C*(X;tt)g by Hq(X;it).10 We have an induced isomorphism [X,K(n,n)]^H^(X;n) between homotopy classes of equivariant maps and these cohomology groups. By the naturality of these isomorphisms, the maps which are zero on A correspond precisely to relative cocycles and consequently [(X,A),(K(n,n),0)}=mX,A;n). 2.16. Constructing diagonals for Eilenberg MacLane fibrations. When solving the generalized lifting-extension problem, we will replace ip: Y —> B by a fibration built inductively from Eilenberg-MacLane fibrations 5: E(ir,n) —> K(ir,n + 1). The following lemma will serve as an inductive step in the computation of [X, Y]g. It also demonstrates how effective homology of pairs enters the game. Lemma 2.17. There is an algorithm that, given a commutative square A--->E(n,n) T * y / 6 y X^^K(n,n + l) where the pair (X, A) is equipped with effective homology, decides whether a diagonal exists. If it does, it computes one. If Hq+1(X, A; 7r) = 0, then a diagonal exists for every c and z. Let us remark that although our main result, Theorem 1.3, assumes X finite, we will need to use the lemma for infinite simplicial sets X, and then the effective homology assumption for (X, A) is important. Proof. Thinking of c as a cochain in Cn(A; 7r)G, we extend it to a cochain on X by mapping all n-simplices not in A to zero. This prescribes a map c: X —> E(ir,n) that is a solution of the lifting-extension problem from the statement for z replaced by Sc. Since the lifting-extension problems and their solutions are additive, one may subtract this solution from the previous problem and obtain an equivalent lifting-extension problem A--->E(n,n) T x c°/" 8 X^—>K(n,n + l) z—oc 10Our groups Hq(X; it) are the equivariant cohomology groups of X with coefficients in a certain system associated with tt (see the remark in [1, Section 1.9]) or, alternatively, they are the cohomology groups of X/G with local coefficients specified by ir. 14 A solution of this problem is an (equivariant) relative cochain cq whose coboundary is zq = z — 5c (this Co yields a solution c + cq of the original problem). If C*(X,A) is effective, then such a c0 is computable whenever it exists (and it always exists in the case H^1(X,A;n)=0). However, C*(X,A) itself is not effective in general, it is only strongly equivalent to an effective complex. Thus, we need to check that the computability of a preimage under S is preserved under reductions in both directions. Let (a,(3,i]): C* => C* be a reduction. First, let us suppose that z'0: C* —> 7r is a cocycle with z'0a = Scq. Then z'0 = z'0a(3 = (5c0)(3 = 5(c0(3), and we may set c'0 = c0(3. Next, suppose that z0: C* —> 7r is a cocycle with z0(3 = Sc'0. Then z0 = z0(di] + i]d + /3 a) = z0r]d + 5c'0a = 5(z0r] + c'0a), and we may set c0 = ZqI] + c'Qa. □ 3. Moore—Postnikov tower We recall that we defined Y' by factoring ip as a composition Y Y' —» B of a weak homotopy equivalence followed by a fibration; such a factorization exists by Lemma 7.2. Using this approximation, [X, Y]g was defined as the set of homotopy classes [X, Y']g. In order to compute this set, we approximate Y' by the Moore-Postnikov tower of Y over B. Then the computation will proceed by induction over the stages of this tower, as will be explained in Section 4. For now, we give a definition of an equivariant Moore-Postnikov tower of a simplicial map ip: Y —> B and review some of the statements of the last section in the context of this tower. The actual construction of the tower, when both simplicial sets Y and B are equipped with effective homology, will be carried out later in Section 7. Definition 3.1. Let ip: Y —> B be a map. A (simplicial) extended Moore-Postnikov tower for ip is a commutative diagram satisfying the following conditions: 1. The induced map Lpn*: 7fi(Y) —> 7Tj(Pn) is an isomorphism for i < n and an epimor-phism for i = n + 1. 2. The induced map ipn* : 7Tj(Pn) —y 7Tj(P) is an isomorphism for i > n+2 and a monomor-phism for i = n + 1. 3. The map pn: Pn —> Pn-\ is a Kan fibration induced by a map k'n: Pn_i -> ir(7rn,n + 1) for some ZG-module 7rn, i.e. there exists a pullback square Pn---> E(nn, n) J Pn-i—r^K(nn,n + 1) identifying Pn with the pullback Pn_i Xx(7r„,n+i) E(irn,n). Alternatively, one may identify Pn as the principal twisted cartesian product Pn xr K(irn,n) - this will be used to equip Pn with effective homology. A Moore-Postnikov tower for ip is then obtained from the extended Moore-Postnikov tower by removing the space Y and the maps B, i.e. the fibre of Y' —> B. Definition 3.2. We say that an extended Moore-Postnikov tower has effective homology if Y and all the stages Pn have effective homology and all the maps B is also a Moore-Postnikov tower for the replacement ip': Y' —> B. They are different as extended Moore-Postnikov towers and, in fact, we will be able to equip the former with effective homology, while we do not know of a way of doing the same for the latter (because of the space Y'). Another example is Addendum 3.4. 16 Theorem 3.3. There is an algorithm that, given a map ip-.Y^-B between simply connected simplicial sets with effective homology and an integer uq, constructs an n^-truncated extended Moore-Postnikov tower for ip and equips it with effective homology. The proof of the theorem, as well as its addendum below, is postponed to Section 7. Addendum 3.4. There is an algorithm that, given the data of Theorem 3.3 and a computable map (3: B —>• B whose domain B has effective homology, constructs an n^-truncated Moore-P ostnikov tower with stages Pn = B xB Pn and equips it with effective homology. We remark that the Pn form a Moore-Postnikov tower for the natural map Y = B x b Y' —>• B from the homotopy pullback Y of Y along (3, but we do not know of a way of dealing effectively with Y. This is the reason why we are not able to equip the extended Moore-Postnikov tower for Y —> B with effective homology. We obtain a new lifting-extension problem from the Moore-Postnikov tower for ip where fn = Pn inducing a bijection (p'nif: [X,Y']g —> [X,Pn]^ for every n-dimensional simplicial set X with a free action of G. The theorem should be known but we could not find an equivariant fibrewise version anywhere. For this reason, we include a proof in Section 7. From the point of view of Theorem 1.3, we have reduced the computation of [X, Y]g = [X,Y']g to that of [X, Pn]g, where n = dimX. Before going into details of this computation, we present a couple of results that are directly related to the Moore-Postnikov tower. They will be essential tools in the proof of Theorem 1.3. 3.6. Inductive construction of diagonals. We slightly reformulate Lemma 2.17 in terms of the Moore-Postnikov tower in the following proposition, which works for stages of a Moore-Postnikov tower. Proposition 3.7. There is an algorithm that, given a diagram A-f-->Pn t y ' Pn X--—> Pn-i where the pair (X, A) is equipped with effective homology, decides whether a diagonal exists. If it does, it computes one. When Hq+1(X, A; nn) = 0, a diagonal exists for every f and g. 17 Proof. We will use property (3) of Moore-Postnikov towers, which expresses pn as a pull-back: A- ■+Pn i / / Pn J * Pn-1 ~ b' 5 Thus, diagonals £ are exactly of the form (g,c): X —> Pn-i > E(irn, n) is an arbitrary diagonal in the composite square and thus computable by Lemma 2.17. □ We obtain two important consequences as special cases. The first one is an algorithmic version of lifting homotopies across Pn —» Pm. Proposition 3.8 (homotopy lifting/extension). Given a diagram (ixI)U (A1 x A)-j- Pn A1 x X-► P„ where i G {0,1} and (X,A) is equipped with effective homology, it is possible to compute a diagonal. In other words, one may lift and extend homotopies in Moore-Postnikov towers algorithmically. Proof. It is possible to equip (A1 x X, (i x X) U (A1 x A)) with effective homology by Proposition 2.10. Moreover, this pair has zero cohomology since there exists a (continuous) equivariant deformation of A1 x X onto the considered subspace. Thus a diagonal can be constructed by a successive use of Proposition 3.7. □ The second result concerns algorithmic concatenation of homotopies. Let A2 denote the first horn in the standard 2-simplex A2, i.e. the simplicial subset of the standard simplex A2 spanned by the faces d2A2 and d0A2. Given two homotopies h2, h0: A1 x X —> Y that are compatible, in the sense that h2 is a homotopy from £0 to £\ and ho is a homotopy from £\ to £2, one may prescribe a map A2 x X —> Y as h2 on d2A2 x X and as h0 on Y and the restriction of H to d\A2 x X gives a homotopy from £q to £2, which can be thought of as a concatenation of h2 and ho. We will need the following effective, relative and fibrewise version; the proof is entirely analogous to that of the previous proposition and we omit it. Proposition 3.9 (homotopy concatenation). Given a diagram (A2 x X) U (A2 x A) 4?„ A2 x X- -f P 18 where (X, A) is equuipped with effective homology, it is possible to compute a diagonal. In other words, one may concatenate homotopies in Moore-Postnikov towers algorithmically. 4. Computing homotopy classes of maps In this section, we prove Theorems 1.1 and 1.3. First, we explain our computational model for abelian groups, since these are one of our main computational objects and also form the output of our algorithms. There are two levels of these computational models: semi-effective and fully effective abelian groups. They are roughly analogous to locally effective chain complexes and effective ones. There is, however, one significant difference: while an element of a chain complex is assumed to have a unique computer representation, a single element of a semi-effective abelian group may have many different representatives. We can perform the group operations in terms of the representatives but, in general, we cannot decide whether two representatives represent the same group element. This setting is natural when working with elements of [X, Pn]g, i.e. homotopy classes of diagonals. The representatives are sim-plicial maps X —> Pn, and at first, we will not be able to decide whether two given such maps are homotopic. Given a semi-effective abelian group, it is not possible to compute its isomorphism type (even when it is finitely generated); for this we need additional information, summarized in the notion of a fully effective abelian group. A semi-effective abelian group can be made fully effective provided that it is a part of a suitable exact sequence, additionally provided with set-theoretic sections; this is described in Lemma 4.5. This suggests a computation of [X, Pn]s hi two steps. First, in Theorem 4.13, we endow it with a structure of a semi-effective abelian group (whose addition comes from the weak H-space structure on Pn constructed later in Section 5.14). Next, we promote it to a fully effective abelian group by relating it to [X, Pn_i]^ and [A1 x X, Pn_i]^A xX)u(A xA"> through a long exact sequence of Theorem 4.16 and using induction. We note that the long proofs of Theorems 4.13 and 4.16 are postponed to later sections. This enables us to complete the proof of the main Theorem 1.3 in the present section. 4.1. Operations with abelian groups. This subsection is a short summary of a detailed discussion found in [4]; results not included there are proved. In our setting, an abelian group A is represented by a set A, whose elements are called representatives; we also assume that the representatives have a finite encoding by bit strings. For a £ A, let [a] denote the element of A represented by a. The representation is generally non-unique; we may have [a] = [(3] for a ^ (3. We call A represented in this way semi-effective, if algorithms for the following three tasks are available: provide an element o £ A with [o] = 0 (the neutral element); given a, (3 G A, compute 7 G A with [7] = [a] + [/?]; given a £ A, compute (3 £ A with = -[«]. 19 For semi-effective abelian groups A, B, with sets A, B of representatives, respectively, we call a mapping /': A —>• B computable if there is a computable mapping ip: A —> B such that /([a]) = [ each coefficient z,i is unique within Z/g^. The proofs of the following lemmas are not difficult. The first is [4, Lemma 3.2 and 3.3]. Lemma 4.2 (kernel and cokernel). Let f: A —>• B be a computable homomorphism of fully effective abelian groups. Then both ker(/) and coker(/) can be represented as fully effective abelian groups. This implies formally that the same holds for im(/), since it equals the kernel of the projection B —> coker(/). Example 4.3. Clearly, every chain group Cn in an effective chain complex C* is fully effective. Thus, so are the subgroups of cocyles Zn(C*) and boundaries Bn(C*) and, consequently, also the homology groups Hn(C*) = Zn(C*)/Bn(C*). The same applies to cohomology groups of effective cochain complexes. Definition 4.4. A semi-effective exact sequence (of abelian groups) is an exact sequence _v A v A d" v A v A _v • • • -> -> An -> /ln_i -> Ai-2 -r ' ' ' of semi-effective abelian groups and computable homomorphisms such that the induced isomorphisms dn: coker dn+i —> ker dn-\ have computable inverses, called sections. If the sequence is bounded from either side, we require sections only for inner homomorphisms. Since An/kertin is represented by An and imdn by a subset of An-i, this amounts to computable partial mappings pn-i '■ An-i An, defined on representatives of imdn, such that dn[pn-i(l)] = [l]- In general, it may happen that [7] = [7'], while [pn-i(7)] 7^ [Pn-l(Y)]- Lemma 4.5 (5-lemma). There is an algorithm that, given a semi-effective exact sequence a d-2 a di . do . d-i . A2-> Ax-> A0-> A_i-> A_2, with all A-2, A-i, A\ and A2 fully effective, makes also Aq fully effective. 20 Proof. Consider the induced short exact sequence 0 —> cokerc^ d± > Aq d° > kercLi —> 0. Viewing sections as maps from the kernel to the cokernel, it is still a semi-effective exact sequence. Now apply [4, Lemma 3.5]. □ Definition 4.6. We say that a mapping /': A —>• B between groups is an affine homomor-phism if its translate f° : A —>• B, given by f°(a) = f(a) — /(0), is a group homomorphism. This is equivalent to f(a + b) = f(a) + f(b)-f(0) (4.7) Clearly, for semi-effective A and B, an affine homomorphism / is computable iff f° and the constant /(0) are computable. We will also need the following simple lemma. Lemma 4.8 (preimage). Let f: A —>• B be a computable affine homomorphism of fully effective abelian groups. Then there is an algorithm that, given b G B, decides whether it lies in im/. If it does, it computes a preimage a G Proof. Equivalently, we ask for f°(a) = b — /(0). Compute the images f°(ai),..., f°(ar) of the generators of A. Next, decide if the equation x1f{a1) + --- + xrf{ar) = b-f{G) has a solution (this is done by translating to the direct sum of cyclic groups and solving there using standard methods). If a solution exists, output a = x\d\ + • • • + xrar. □ 4.9. Making Eilenberg MacLane spaces fibrewise. The description of Pn in the definition of a Moore-Postnikov tower as a pullback is both classical and useful for the actual construction of the tower. For the upcoming computations, it has a major disadvantage though - the spaces appearing in the pullback square are not spaces over B. This is easily corrected by replacing the Eilenberg-MacLane space by the product Kn+i = B x K(irn,n + 1) and the "path space" by En = B x E(irn,n). Denoting by kn the fibrewise Postnikov invariant, i.e. the map whose first component is the projection ipn-i: Pn-i -+ B and the second component is the original (non-fibrewise) Postnikov invariant k'n, we obtain another pullback square p _t_► E n 7 J-/n Pn J 8 P'n-l 7 T Kn+l We will need that Ln = B x K(irn,n) is a fibrewise abelian group: for two elements : (6, z') and w = (6, w') of Ln The same applies to En and Kn+i. z = (6, z') and w = (6, w') of Ln lying over the same b G B, we define z + w == (6, z' + w' 21 Since we know that homotopy classes of maps into Eilenberg-MacLane spaces correspond to cohomology groups and these are easy to compute, the following result should not be surprising; in its statement, the fixed map A —> Ln is the only fibrewise map (over B) with values on the zero section, i.e. (gt, 0): 4->5x K(irn, n); we call it the zero map and denote it 0. Lemma 4.10. Let (X,A) be equipped with effective homology. Then it is possible to equip [X, Ln]g with a structure of a fully effective abelian group; the elements are represented by algorithms that compute (equivariant) fibrewise simplicial maps X —> Ln that take A to the zero section. Proof. We start with isomorphisms [X, Ln\AB = [(X, A), (K(n, n), 0)] - H^X, A; tt) = H^X, A; where the group on the right is the cohomology group of the "effective" cochain complex C*f (X, A; 7r)G = H.omiG(Cf (X, A),tt) of equivariant cochains on the effective chain complex of (X, A); the last isomorphism comes from effective homology of (X, A). Elements of these groups are represented by algorithms that compute the respective (equivariant) simplicial maps or equivariant cocycles and it is possible to transform one such representing algorithm into another, so that the isomorphisms are computable in both directions. The last group is fully effective by Example 4.3. □ It will also be useful to generalize the above lemma to the case of maps whose restriction to A is fixed to a non-zero map. For practical reasons, we will formulate this for [X, Kn+i]g and will assume that the fixed restriction is of the form Sc for some fibrewise map c: A —> En- Lemma 4.11. Let (X,A) be equipped with effective homology. Then it is possible to equip [X, Kn+1]g with a structure of a fully effective abelian group; the elements are represented by algorithms that compute (equivariant) fibrewise simplicial maps X —> Kn+1 whose restriction to A equals Sc. Proof. We denote the group from the statement [X, Kn+i\^c and start with the computation of its zero. Namely, it is possible to compute an extension c: X —> En as in the proof of Lemma 2.17. The zero is then represented by Sc. There is an isomorphism [X, Kn+1]A/ [X, Kn+1]A^C, [£} ^[i + 5c\, computable in both directions. The group on the left has been endowed with a fully effective abelian group structure in Lemma 4.10. □ We remark that the homotopy class of the zero is independent of the choice of c: it is the only homotopy class in the image of S*: [X, En]^ —> [X, Kn+i]^ - the domain has a single element since En is (fibrewise) contractible. We denote this homotopy class 0 = [Sc\. 22 Semi-effectiveness of [X, Pn]^ for stable stages Pn. Definition 4.12. We call a Moore-Postnikov stage Pn stable if n < 2d, where d is the connectivity of the homotopy fibre of ip: Y —> B (as in the introduction). We remark that d is also the connectivity of the homotopy fibre of ipn: Pn —> B and, thus, stability may be defined without any reference to Y. The significance of the stability condition lies in the existence of an abelian group structure on [X, Pn]s- The construction of this structure is (together with the construction of the Moore-Postnikov tower) technically the most demanding part of the paper and we postpone it to later sections. For its existence, we will have to assume that [X, Pn]^ is non-empty; in fact, the structure depends on the choice of a zero of this group, i.e. an element [on] G [X,Pn]^. Theorem 4.13. Suppose that Pn is a stable stage of a Moore-Postnikov tower with effective homology and that (X, A) is equipped with effective homology. Then, for any given solution on: X —> Pn, the set [X,Pn]g admits a structure of a semi-effective abelian group with zero [on], whose elements are represented by algorithms that compute diagonals X —> Pn. The proof of the theorem occupies a significant part of the paper. First, we construct a "weak H-space structure" on Pn (or, in fact, a pullback of it) in Section 5 and then show how this structure gives rise to addition on the homotopy classes of diagonals in Section 6. 4.14. Exact sequence relating consecutive stable stages. To promote the semi-effective group structure on [X, Pn]s to a fully effective one, we will apply Lemma 4.5 to a certain exact sequence relating two consecutive stable stages of the Moore-Postnikov tower. The sequence involves the groups [X, Ln]g and [X, Kn+i]g, where the fixed restrictions are the zero map A —> Ln and the composite 5qnfn: A Pn -*-> En A Kn+\. Theorem 4.15. Suppose that n < 2d and that (X, A) is equipped with effective homology. For any given zero [on_i] G [X, Pn_i]^; the computable map km in [X,Pn]i ^ [X,Pn^]i [X,Kn+1]i is an affine homomorphism and impnt = k~^(0). In the next theorem, a given zero [on] G [X, Pn]^ induces naturally, for all i < n, zeros [oj] G [X, Pi]g and Theorem 4.13 then provides [X, P,^ with a group structure. Further, the group [A1 x X, Pi]^A xX')U(-A xA^ consists of homotopy classes of homotopies Oj ~ Oj relative to A (this prescribes the fixed restriction to the subspace (dA1 x X) U (A1 x A)), whose zero is the homotopy class of the constant homotopy at Oj. 23 Theorem 4.16. Suppose thatn < 2d, that (X,A) is equipped with effective homology, that a zero [on] G [X, Pn]s is given and that [A1 x X, Pi]^A xX')U(-A xA^ is fully effective for all i < n — 1. Then there is a semi-effective exact sequence [A1 x X,Pr^]^X)^A) [X,Ln]AB ^ [X,Pn]^ [X,Pn_^ [X,Kn+1]A (4.17) of abelian groups. The exactness itself ought to be well known and is nearly [3, Proposition II.2.7]. The proofs are postponed to Section 6.8. 4.18. Proof of Theorem 1.3. Let us review the reductions made so far. By Theorem 3.5, it is enough to compute [X, Pn]^ for n = dim X < 2d. The rest of the proof does not depend on the dimension of X. Concretely, using induction with respect to n < 2d, we provide algorithms for the following two tasks, where (X, A) is now allowed to be an arbitrary pair with effective homology: (a) decide if [X, Pn]s is non-empty and, if this is the case, compute an element [on]; (b) given a zero [on] G [X, Pn]^, make [X, Pn]s into a fully effective abelian group. These clearly suffice to prove the theorem. Since Pq = B, we have [X, -Pols = * an<^ both tasks are trivial in this case. To get (a), use (a) and (b) inductively to decide if [X,Pn_i]^ is empty, in which case [X, Pt^b is also empty, or to compute an element [on_i] G [X, Pn_i]^ and make [X, Pn_i]^ into a fully effective abelian group with the zero [on_i]. Next, use Lemma 4.8 to decide if 0 lies in the image of kn* (which is affine by Theorem 4.15). If not, [X, Pn]^ is empty by Theorem 4.15. Otherwise, still using Lemma 4.8, compute a preimage [o'n_1] G k~}(0). Finally, lift o'n_1: X —> Pn-i to on: X —> Pn using Proposition 3.7 - a lift exists by Theorem 4.15. We have thus computed an element [on] G [X, Pn]^. To get (a), use Theorem 4.13 to make [X,Pn]^ into a semi-effective abelian group. According to Theorem 4.16, this group fits into an exact sequence with all remaining terms fully effective either by Lemma 4.10, Lemma 4.11 or by induction, since they concern diagonals into Pn-i (the domain (A1 x X, (dA1 x X) U (A1 x A)) of the leftmost term admits effective homology by Proposition 2.10). Lemma 4.5 makes [X, Pn]^ fully effective. Deciding existence for n = dimX = 2d + 1. Since H£+1(X,A;nn) = 0, Lemma 2.17 guarantees the existence of a diagonal X —> Pn as a lift of any partial diagonal X —> Pn-i and it is thus enough to decide whether the stable [X, Pn_i]^ is non-empty. □ 4.19. Proof of Theorem 1.1. We describe how the set of equivariant homotopy classes of maps [X, Y] between two G-simplicial sets can be computed as a particular stable instance of the lifting-extension problem, namely [X, Y]®EG, so that Theorem 1.3 applies. 24 This instance is obtained by setting B = EG, where EG (known as the Rips complex) is a non-commutative version of E(tv,0). It has as n-simplices sequences (a^,... ,an) of elements at G G, and its face and degeneracy operators are the maps di(a0,..., an) = (a0,..., <2j_i, gsj+i, ..., an) Si(ao,..., an) = (ao, • • •, Q-i-i, a%, Oj+i, • • •, an). There is an obvious diagonal action of G which is clearly free. As every A;-simplex of EG is uniquely determined by its (ordered) collection of vertices, it is clear that a simplicial map g: X —> EG is uniquely determined by the mapping Qq: Xq —> G of vertices and g is equivariant if and only if g0 is. A particular choice of a map X —> EG is thus uniquely specified by sending the distinguished vertices of X to (e); it is clearly computable. Moreover, any two equivariant maps X —> EG are (uniquely) equivariantly homotopic (vertices of A1 x X are those of 0 x X and 1 x X). Factoring Y —> EG as Y y^>- Y' —» EG using Lemma 7.2, the geometric realization of Y' equivariantly deforms onto that of Y. This shows that the first map in [X,Y]^[X,Y']^[X,Y'fEG is a bijection and it remains to study the second map. As observed above, for every simplicial map X —> Y', the lower triangle in commutes up to homotopy. Since Y'—» EG is a fibration, one may replace £ by a homotopic map for which it commutes strictly, showing surjectivity of [X, Y'~fEG —> [X,Y']. The injectivity is implied by uniqueness of homotopies - every homotopy of maps X —> Y' that are diagonals is automatically vertical. It remains to show how to identify a given equivariant map I: X —> Y as an element of the computed group [X,Pn]EG. By its fully effective abelian group structure, it is enough to find the corresponding diagonal X —> Pn. As above, compute a homotopy h from ip£ to g: X —> EG; then, using Proposition 3.8, compute a lift of h that fits into A1 x X-► EG h The restriction of h to 1 x X is the required diagonal X —> Pn. □ We remark that it is also possible to compute [X, Y] as [X, X x Y]x. 25 5. Weak H-spaces Our goal for the following two sections is to equip [X, Pn]s with a semi-effective abelian group structure. We will do this indirectly - we replace Pn, a space over B, by a certain pullback Pn, a space over B. Proposition 6.7 will then give an isomorphism [X, Pn]s — [X, Pn]^, computable in both directions, and will thus reduce our task to a similar one for Pn. The main advantage of Pn over Pn is that the projection ipn: Pn —>• B admits a section dn: B —>• Pn that we may think of as a choice of a point in each fibre of ipn (made in a "continuous" way) - we say that Pn is pointed. Our next step is to give Pn a structure of a fibrewise H-space; again, one could think of this as a choice of an H-space structure on each fibre that is made in a "continuous" way; the section dn then serves as the basepoint for this H-space. The fibrewise H-space structure on Pn induces an abelian group structure on the set of fibrewise homotopy classes of maps to Pn as usual; this is described in Section 6. To simplify the notation, i.e. in order to deal with Pn rather than Pn, we will assume in this section that Pn itself is pointed (and stable) and equip it with a fibrewise H-space structure and treat the general case only in the next section. First, we explain a simple approach to constructing a strict fibrewise H-space structure, which we were not able to make algorithmic, but which introduces ideas employed in the actual proof of Theorem 4.13, and which also shows why a weakening of the H-space structure is needed. We start with additional running assumptions. Convention 5.1. In addition to Convention 2.4, all simplicial sets are equipped with a map to B and all maps, homotopies, etc. are fibrewise, i.e. they commute with the specified maps to B. In the case of homotopies, this means that they remain in one fibre the whole time or, in other words, that they are vertical. When P is equipped with a map to B as above, we also say that P is a space over B (and we really mean a simplicial set over B; the same applies to H-spaces). Definition 5.2. We say that a space P over B, with projection ip: P—» B, is pointed if there is provided a section o: B —> P, i.e. a map such that ipo = id. We will call this distinguished section o the zero section. 5.3. Fibrewise H-spaces. Let P be a pointed space over B with projection ip: P—» B and zero section o: B —>• P. We recall that the pullback P Xg P consists of pairs (x,y) with ip(x) = ip(y). Associating to (x,y) this common value makes P x# P into a space over B. We recall that a (fibrewise) H-space structure on P is a (fibrewise) map add: PxBP P, where we write &dd(x,y) = x + y, that satisfies a single condition - the zero section o should act as a zero for this addition, i.e. for x G P lying over b = ip(x) we have 26 o(b) + x = x = x + o(b). In the proceeding, we will abuse the notation slightly and write o for any value of o, so that we rewrite the zero axiom &so + x = x = x + o. After all, there is a single value of o for which this makes sense. It will be convenient to organize this structure into a commutative diagram PVbP with PVBP the fibrewise wedge sum, P\fB P = (B xB P) U (P xB B) (where B C P is the image of the zero section o), and with V denoting the fold map given by (o,x) \—> x and (x,o) \—> x. As explained, all maps are fibrewise over B. Under this agreement, the above diagram is a definition of a (fibrewise) H-space structure. We say that the H-space structure is homotopy associative if there exists a homotopy (x + y) + z ~ x + {y + z) (i.e. formally a homotopy of maps PxBPxBP^-P) that is constant when restricted to x = y = z = o. Homotopy commutativity is defined similarly. Finally, it has a right homotopy inverse if there exists a map inv: P —> P, denoted x \—> —x, such that — o = o and such that there exists a homotopy x + {—x) ~ o, constant when restricted to x = o. We have already met an example of an H-space, namely Ln = B x K(irn,n). We recall that Pn is a stable stage if n < 2d, where d is the connectivity of the homotopy fibre of ip. In general, we have the following theorem, whose proof can be found in Section 7. Theorem 5.4. Every pointed stable Moore-Postnikov stage Pn admits a fibrewise H-space structure. Any such structure is homotopy associative, homotopy commutative and has a right homotopy inverse. It is unique up to homotopy relative to Pn \/B Pn. The importance of this result does not lie in the existence of an H-space structure itself but in its uniqueness and its properties. After all, we will need to construct this structure and, in this respect, the above existential result is not sufficient. 5.5. H-space structures on pullbacks. We describe a general method for introducing H-space structures on pullbacks since Pn is defined in this way. Let us start with a general description of our situation. We are given a pullback square P-yR J •2—x—>s with ip a fibration. We assume that all of Q, R and S are H-spaces over B, and that R and S are strictly associative, commutative and with a strict inverse. If both ip and x preserved the addition strictly we could define addition on P C Q x R componentwise. In 27 our situation, though, x preserves the addition only up to homotopy and, accordingly, the addition on P will have to be perturbed to (x, y) + (V, y') = (x + x', y + y' + M(x, x')). (5.6) There are two conditions that need to be satisfied in order for this formula to be correct: if)M(x,x') = x(x + x') — (x(x) + x{x')) (so fnaf tne right-hand side of (5.6) lies in the pullback) and M(x,o) = o = M(o,x) (to get an H-space). Both are summed up in the following lifting-extension problem PVrP^^R B M / 4> -a with m(x,x') = x(x + x') ~ (x(x) + x{x'))- In our situation, ip is 5: En —> Kn+i. Thus, Lemma 2.17 would give us a solution if the pair (P x b P, P Vb P) had effective homology. However, we have not been able to prove this and, consequently, we cannot construct the addition on the pullback. In the computational world, we are thus forced to replace this pair by a certain homotopy version (P x B P, P VB P) of it that admits effective homology. This transition corresponds, as will be explained later, to a passage from H-spaces to a weakened notion, where the zero section serves as a zero for the addition only up to homotopy. After this rather lengthy introduction, the plan for the rest of the section is to introduce weak H-spaces and then to describe an inductive construction of weak H-space structure on pointed stable stages of Moore-Postnikov towers. We believe that to understand the weak version, it helps significantly to keep in mind the above formula for addition on P. For the same reason, we give a formula for a right inverse in P, assuming that it exists in Q (and in R and S, as required earlier): -(x,y) = (~x,-y - M(x,-x)). (5.7) 5.8. Weak H-spaces. We will need a weak version of an H-space. Roughly speaking this is defined to be a fibrewise addition x + y together with left zero and right zero homotopies A: y ~ o + y and p: x ~ x + o that become homotopic as homotopies o ~ o + o. In simplicial sets, a homotopy between homotopies can be defined in various ways. Here we will interpret it as a map rj: A2 x B —> P that is a constant homotopy on d2A2 x B and restricts to the two unit homotopies on g^A2 x B and P with similar properties to the strict H-space structure. The space P Xg P will be a special case of the following construction which works for any commutative square (of spaces over B) S = Z\ —>z2 that we denote for simplicity by S. We define |«S| and its subspace d2\S\ as particular small models of the homotopy colimit of the square S and of the homotopy pushout of Zq and Zi along Z; namely, |5| = (A2 x Z) U (diA2 x ZQ) U (d0A2 x Zt) U (2 x Z2), d2\S\ = (d2A2 x Z) U (0 x Zq) U (l x Z±), where we assume for simplicity that all maps in S are inclusions; otherwise, the union has to be replaced by a certain (obvious) colimit. In the case of inclusions, |«S| is naturally a subspace of A2 x Z2 and as such admits an obvious map to A2 x B whose fibres are equal to those of Z, Zq, Z\ or Z2 (over B), depending on the point of A2. In the picture below, B = {*} and |«S| is thus depicted as a space over A2; here, Z2 is a 3-simplex, Zq and Z\ its edges and Z their common vertex. VO The construction |«S| possesses the following universal property: to give a map /: |«S| —> Y is the same as to give maps /«: Zi —> Y (for i = 0, 1, 2), homotopies him. fi ~ f2Vi (for 29 i = 0, 1) and a "second order homotopy" H: A2 x Z —> Y whose restriction to Y is specified by /o: Zq —> Y and fi: Z\ —> Y as above and a homotopy JqUq ~ Ji^i- In order to apply this definition to weak H-spaces, we consider the square def B xBB >-► B xB P = Pright SP = P^ = P^BB)->PxBP (the subspaces consist of pairs where one of the two components, or both, lie on the zero section). We will denote B xB B for simplicity by B, to which it is canonically isomorphic. Definition 5.9. Let P —> B be a Kan fibration. We define simplicial sets P\jBP = d2\SP\, PxBP=\SP\. We denote the inclusion by $: P \/B P —^ P xB P. Furthermore, we define a "fold map" V: P \/B P —> P, prescribed as the identity map on 0 x Pright and 1 x Pieft and as the constant homotopy at o on d2A2 x B. We remark that P \/B P and P xB P are weakly homotopy equivalent to P \/B P and P xB P, respectively; this is proved in Lemma 7.4. Now, we are ready to define weak H-spaces. Definition 5.10. A weak H-space structure on P is a (fibrewise) map add: P xB P —> P that fits into a commutative diagram PVBP PxBP We denote the part of add corresponding to 2 x (P xB P) by x + y = add(2, x, y), the part corresponding to g^A2 x Prigrit, i.e. the left zero homotopy, by A, and the part corresponding to d0A2 x Pieft, i.e. the right zero homotopy, by p. Finally, we define a "diagonal" A: P —y P xB P by x i—> (2,x,x). All these associations are natural, making P P, P xB P into functors and V, $, A into natural transformations. Proposition 5.11. Assume that all the spaces in the square S have effective homology. Then so does the pair (\S\, d2\S\). The proof is given in Section 7. The following special case will be crucial in constructing a weak H-space structure on pointed stable stages of Moore-Postnikov towers. add 30 Corollary 5.12. Let Pn be a pointed stage of a Moore-Postnikov tower with effective homology. Then it is possible to equip the pair (Pn x#Pn, Ph^bPh) with effective homology. Proof. According to Addendum 3.4, it is possible to equip Pn x#Pn with effective homology. Thus, the result follows from the previous proposition. □ Remark. Alternatively, we may construct effective homology of Pn xB Pn at the same time as we build the tower for Y —>• B but, compared to Pn, with all Eilenberg-MacLane spaces and all Postnikov classes "squared". The following proposition will be used in Section 5.14 as a certificate for the existence of a weak H-space structure on Pn; namely, it will guarantee that all relevant obstructions vanish. Proposition 5.13. For any Moore-Postnikov stage Pn, the pair (Pn xB Pn, Pn Vb Pn) is (2d + l)-connected, where d is the connectivity of the homotopy fibre of ip: Y —>• B (or equivalently of ipn: Pn —>• B). In particular, the cohomology groups iJ^.(Pnxb-Pn, Ph^bPh', tt) of this pair with arbitrary coefficients 7r vanish up to dimension 2d + 1. The proof can be found in Section 7. 5.14. Constructing weak H-spaces. Prime examples of weak H-spaces are the strict ones and, in particular, every fibrewise simplicial group is a weak H-space. In the proceeding, we will make use of the trivial bundles Kn+1 = Bx K(irn, n+1) and En = Bx E(irn, n). Since Kn+i is a fibrewise simplicial group, we have a whole family of weak H-space structures on Kn+i, one for each choice of a zero section o: B —> Kn+1; namely, we define addition z +Dw = z + w — o (the inverse then becomes — Dz = —z + 2o). A similar formula defines an H-space structure on En for every choice of its zero section. We denote the usual zero section by 0. We are now ready to prove the following crucial proposition. Proposition 5.15. If Pn is a pointed stable stage of a Moore-Postnikov tower with effective homology, with a zero section on, it is possible to construct a structure of a weak H-space on Pn with a strict right inverse. Proof. The proof is by induction and the base case is trivial since Pq = B. Let Pn-i be a Moore-Postnikov stage and kn: Pn-\ —> Kn+1 the respective (fibrewise) Postnikov invariant. There is a pullback square p _t_► E n 7 J-/n Pn J s (5.16) n+l of spaces over B. We denote the images of the zero section on: B —> Pn by on_i = pnon in Pn_i, by qnon in En and by /cnon_i in Kn+i. In this way Kn+i is equipped with two 31 sections, the zero section 0 and the composition knon-\. We will see that the fact that these do not coincide in general causes some technical problems. Assume inductively that there is given a structure of a weak H-space on Pn-\. Pn-l V_b Pn-l Pn-l XB -Pn-l add ■+ -Pn-l In analogy with Section 5.5, we form the "non-additivity" map m: Pn-i x_b -Pn-i —> Kn+i as the difference of the following two compositions -Pn-l XB -Pn-l add^^ ^^knXkn Pn-l Kn+i xB Kn+i n+l where addfcn0n_1 is the H-space structure on Kn+1 whose zero section is knon_\. We recall that it is given by z +fc„0„_1 w = z + w - knon_x. We now construct a weak H-space structure on Pn = Pn-\ Xr„+1 En under our stability assumption n < 2d. The zero of this structure will be on. We compute a diagonal in -Pn-l V_b -Pn-l -> Er, M (5.17) Pn— 1 xB P'n—1 by Lemma 2.17, whose hypotheses are satisfied according to Corollary 5.12 and Proposition 5.13. The existence of M says roughly that kn is additive up to homotopy. We define add: Pn xB Pn P — P , V An A n—1 ^ Kn+i Pn by its two components pn add and qn add. The first component pn add is uniquely specified by the requirement that pn: Pn —> Pn-\ is a homomorphism, i.e. by the commutativity of the square add Pn x B P-n ' PnX'Pn Pn-l XB Pi n—1 add ^Pn Pn -Pn-l 32 The second component qn add is given as a sum _ P-n x b P-n _ -En XB En + -fn-1 XB -fn-1 E, n The last two diagrams are a "weak" version of the formula (5.6). A simple diagram chase shows that the two components are compatible and satisfy the condition of a weak H-space; details can be found in Lemma 7.6. Assuming that inv is constructed on Pn-i in such a way that x + (—x) = on_i, we define a right inverse on Pn by the formula — (x, c) = (—x, -c + 2qnon - M(2, x, —x)). Again, inv is well defined and is a right inverse for add; details can be found in Lemma 7.6. □ 6. Structures induced by weak H-spaces In this section, we prove Theorems 4.13, 4.15 and 4.16. We start by general considerations. Definition 6.1. We say that a lifting-extension problem / is pointed if P is pointed in such a way that / = ogi. This condition is equivalent to og being a solution; thus, [X, P]^ in naturally pointed by the homotopy class [og]. Until further notice, we consider a pointed lifting-extension problem. In the case of a strict H-space P over B, it is easy to define addition on [X, P]^: simply put [£0] + [£-\\ = [£0 + £±\. In particular, this defines addition on [X, Ln]^ which, under the identification of [X, Ln]^ with Hq(X, A; irn), corresponds to the addition in the cohomology group. It is technically much harder to equip [X, P]^ with addition when the H-space structure on P is weak. In this case, the restriction of £q + £\ to A equals / + / ^ f (note that the values of / lie on the zero section and o + o ^ o) and thus does not represent an element of [X, P]g. This problem is solved in Section 6.2 using a strictification of weak H-space structures, which serves as a compact definition of addition in [X, P]^ and is also a useful tool in proofs that deal with the addition in [X, P]^ on a global level, e.g. in deriving the exact sequence of Theorem 4.16. 33 6.2. Strictification and addition of homotopy classes. The point of this subsection is to describe a perturbation of a weak H-space structure to one for which the zero is strict. We will then apply this to the construction of addition on [X, Pn]B. Assume thus that we have a weak H-space structure PVbP PxBP Form the following lifting-extension problem where the top map is add on P xB P and V pr2 on 0I2A2 x (P Vs P). Lemma 7.4 shows that the map on the left is a weak homotopy equivalence and thus a diagonal exists (but in general not as a computable map). (P xB P) u (d2 A2 x (P yB P)) [add'v^ P A2 x (P xBP)->B The restriction of the diagonal to 0 x (P xB P) is then a (strict!) H-space structure which we denote add' with the corresponding addition +'. The restriction to g^A2 x (P xb P) is a homotopy +' ~ +. Definition 6.3. Let P be a weak H-space with addition add. Let add' be its perturbation to a strict H-space structure as above. We define the addition in [X, P]B by [£0] + [£-\\ = [£q +' £1]. Below, we prove that it is independent of the choice of a perturbation. Composing the above homotopy +' ~ + with a pair of solutions (£q,£i), we obtain £q +' £\ ~ £q + £\ whose restriction to a is the left zero homotopy Xf: f = f+'f~f + f-We will use this observation as a basis for the computation of the homotopy class of £0+'£1, since we do not see a way of computing add' directly. Restricting to the case P = Pn of Moore-Postnikov stages, the addition in [X, Pn]B is computed in the following algorithmic way. Let £q,£±: X —> Pn be two solutions and consider £q + £\ whose restriction to a equals / + /. Extend the left zero homotopy ■V''■ J~/ + /onAtoa homotopy a: £ ~ £0 + £\ on X. It is quite easy to see that the resulting map £ is unique up to homotopy relative to a.11 Since £0 +' £± is also obtained in this way, this procedure gives correctly [£] = [£0] + G [X, Pn]B. From the algorithmic point of view, this is well behaved - if (X, a) is equipped with effective homology, we may extend homotopies by Proposition 3.8. This proves the first half of the following proposition. nGiven two such homotopies, one may form out of them a map (A2 x X) U (A2 x A) —>• Pn, whose extension to A2 x X, fibre wise over B, gives on c^A2 x X the required homotopy. add 34 Proposition 6.4. // (X, a) is equipped with effective homology and Pn is given a weak H-space structure, then there exists an algorithm that computes, for any two solutions £q, t\: X —> Pn of a pointed lifting-extension problem, a representative of [£0] + [£-\\. If the weak H-space structure has a strict right inverse, then the computable ong + (—£) is a representative of — [£]. Proof. The formula £ \—> ong + (—£) prescribes a mapping [X, Pn]s —> [X, PnYs since its restriction to a equals / + (—/) = /. It is slightly more complicated to show that it is an inverse for our perturbed version of the addition. To this end, we have to exhibit a homotopy on9 ~ ^+ (ong + (-£)) that agrees on a with the left zero homotopy Xf. We start with the left zero homotopy A(—£): —£ ~ ong+(—£) and add £ to it on the left to obtain £+X(—£): ong ~ £+(ong+(—£)). By Lemma 6.5, its restriction to a, i.e. / + A(—/), is homotopic to the left zero homotopy A(/ + (—/)) = Xf. By extending this second order homotopy from a to X, we obtain a new homotopy ong ~ £ + (ong + (—£)) that agrees with the left zero homotopy on a, as desired. □ To make the statement of the following lemma understandable, we use on to denote the appropriate value of on, i.e. they are abbreviations for onipn(x). Applying to x = — f as in the previous proof, this equals onipn(—f) = f. Lemma 6.5. The homotopies X(on + x), on + X(x): on + x ~ on + (on + x) are homotopic relative to dA1 x Pn. Proof. We concatenate the two homotopies from the statement with the left zero homotopy X(x): x ~ on + x and it is then enough to show that the two concatenations are homotopic. The homotopy between them is A1 x A1 x Pn —> Pn, (s,t,x) \—> X(s, X(t,x)). □ 6.6. Solution of pullback problems. So far, we have discussed only pointed Moore-Postnikov stages and pointed lifting-extension problems. We will now describe, in a general stable situation of Theorem 4.13, a way of passing from a solution on: X —> Pn to a pointed Postnikov stage and a pointed lifting-extension problem. First we describe a general procedure for replacing, via pullbacks, lifting-extension problems by equivalent ones. Suppose that we have a diagram a > Pn > Pn J X->B->B in which the right square is a pullback square. Then diagonals in the left square are in bijection with diagonals in the composite square and the same applies to homotopies. Thus, [X,Pn\i^[X,Pn]AB. 35 We will now apply this to a special factorization of g: X —> B with the first map the identity, so that B = X, and the induced pullback square: Viewing P„ = Xx5Pnasa subspace of X x Pn, the map ipn becomes the projection onto the left factor and fn = (t,/n). A diagonal on: X —> Pn in the composite square then induces a diagonal on = (id, on): X —> Pn in the left square and this is simply a section of ipn. In addition, it is easy to verify that fn = dnt, i.e. fn takes values on this section. Proposition 6.7. There is a bijection [X, Pn]^ = with the latter lifting-extension problem pointed. [X, Pn]~; computable in both directions, Remark. There is a different factorization g: X Pn B and the induced pullback PnxB Pn —>• Pn also admits a section by the diagonal map. The advantage of this pullback is that it depends only on ip: Y —> B and not on A, X, / or g. On the other hand, it seems bigger than the pullback Pn proposed above. An H-space structure on Pn Xg Pn can be interpreted directly as a structure on Pn, given by a ternary operation and related to heaps; this approach has been developed in [22]. Theorem 4.13 (restatement). Suppose that Pn is a stable stage of a Moore-Postnikov tower with effective homology and that (X, A) is equipped with effective homology. Then, for any given solution on: X —> Pn, the set [X, Pn]^ admits a structure of a semi-effective abelian group with zero [on], whose elements are represented by algorithms that compute diagonals X —> Pn. Proof. This is a corollary of a collection of results obtained so far. By Proposition 6.7, we may replace the Moore-Postnikov tower and the given lifting-extension problem by their pointed versions. By Proposition 5.15, it is possible to construct on Pn the structure of a weak H-space. By results of this subsection, it is possible to strictify this structure, making Pn into an H-space. According to Theorem 5.4, it is homotopy associative, homotopy commutative and with a right homotopy inverse; consequently, [X, Pn]^ = [X, Pn]^ is an abelian group. By Proposition 6.4, it is possible to compute the addition and the inverse in the latter group on the level of representatives, making it into a semi-effective abelian group. Since the isomorphism is computable in both directions by Proposition 5.15, [X, Pn]^ also becomes a semi-effective abelian group. □ 6.8. Proof of Theorems 4.15 and 4.16. We will need the fact that pn: Pn —> Pn-i is a principal fibration with fibrewise action of Ln = B x K(irn,n) (in the fibrewise world, 36 an action is a map Pn xB Ln —>• Pn). Thinking of Pn as a subset of Pn-i x i?n, an element z £ Ln acts on (rr, c) G Pn by (x, c) + zd= (x, c + z) where the sum c + z is taken within the fibrewise simplicial group En. Theorem 4.15 (restatement). Suppose that n < 2d and that (X, A) is equipped with effective homology. For any given zero [on_i] G [X, Pn^f\B, the computable map kn* in [X,Pn]i ^ [X,Pn^]i [X,Kn+1]i is an affine homomorphism and impnt = k~^(0). Proof. Both claims will be proved as a part of the proof of the following theorem. □ Theorem 4.16 (restatement). Suppose thatn < 2d, that (X, A) is equipped with effective homology, that a zero [on] G [X, Pn]B is given and that [A1 x X> p^xXMA^) is fully effective for all i < n — 1. Then there is a semi-effective exact sequence [A1 x X,Pn^Al^A1^ [X,Ln]AB ^ of abelian groups. Proof. We start by defining the map jnif: on the level of maps, jn*(C) = on + ( (the action of Ln on Pn) and it passes to homotopy classes. We then obtain a sequence [X,Ln]B 3n* > [X, Pn]B Pn* > [X, Pn-i\B —^ [X,Kn+i]B, whose exactness at the second term is straightforward. To prove exactness at the third term, we recall that 0 G [X, Kn+1]^ is the only element in the image of 5*, as remarked after Lemma 4.11. Thus, [£n-i] G impw iff ln-\ lifts to Pn iff knln_\ lifts to En iff [kri£ri_f\ G im 5* iff fcn„[4-i] = o. It is possible to extend the sequence to the left by [A1 x X,P]^A xX)u(A Xj4)? the set of homotopy classes of fibrewise homotopies A1 x X —> Pn-\ from on_! to on_! relative to A; its base point is the constant homotopy at on_i. First, we describe dn: [A1 x X,Pn^Al*X^Al*A) -+ [X,Ln]i. Let h: A1 x X —> Pn-\ be a homotopy as prescribed above. Choose a lift h of h along pn: Pn —> Pn-i that starts at on and is relative to A (this can be carried out in an algorithmic way by Proposition 3.8). Restricting to the end of the homotopy prescribes a map /iend: X —> Pn that lies over on_! and is thus of the form /ien(j = on + ( for a unique map (: X —> Ln. We set dn[h] = [(]; this is well defined by Lemma 6.9. By definition, jn*dn[h] = [/iend] and the homotopy h shows this equal to [on]. The exactness is also easy - a homotopy h: on ~ on + ( in Pn projects down to Pn-i to a 37 homotopy A1 x X —> Pn-i representing a preimage of [(] (since its lift is h with the appropriate end on + Q. To summarize, we have an exact sequence of pointed sets [A1 x X,Pn_^x)^A) -+ [X,Ln]AB -+ [X,Pn]AB -+ [X,Pn^]AB -+ [X,Kn+1]AB. Our next aim is to show that the maps in this sequence are homomorphisms of groups. By replacing the stages Pn-i, Pn by their pullbacks Pn-i, Pn if necessary, we may assume that these stages are pointed and that so is the lifting-extension problem in question. Therefore, the addition on homotopy classes is defined through strict H-space structures (namely, strictifications of weak H-space structures), as described in Section 6.2. According to the uniqueness part of Theorem 5.4, we may assume that the strict H-space structure is constructed as in Section 5.5. The corresponding non-additivity map m' and its lift M' are as in the following diagram Pn-l V_b Pn-l -En M' ^ " ___ Pn-l XB Pn-l -7+ Kn+l m and the addition is defined on Pn inductively using (x, y) +' (x', y') = (x +' x', y +Qn0n y' + M'(x, x')). An important property is that this makes jn into a homomorphism (since M' vanishes when one of the arguments lies on the zero section on-i). Therefore, already on the level of representatives, pm and jm are homomorphisms. Since km preserves zeros, it is enough to show that km is an affine homomorphism. Applying (4.7) to knif, we need a homotopy knx +fc„o„_1 kny ~ kn{x +' y) relative to Pn-i V_b Pn-i or? in other words, a relative homotopy 0 ~ m'. Such a homotopy is obtained as an image under S of a relative homotopy 0 ~ M', which exists since En is (fibrewise) contractible. It remains to treat the connecting homomorphism dn. If ho, hi: A1 x X —> Pn-i represent two elements of the domain, then the lift of ho +' hi may be chosen to be the sum ho +' hi of the two lifts. Thus, (h0 +' /ii)end = (^o)end +' (^i)end and this corresponds to the sum of the <9n-images. Computability of sections. A section of pn* is defined by mapping a partial diagonal I: X —> Pn-i to an arbitrary lift I: X —> Pn of £, with a prescribed restriction to A. The computation of £ is taken care of by Proposition 3.7; a lift exists because ker kn* = impm. For the construction of a section a of jm, let £: X —> Pn be a diagonal such that pn£ is homotopic to on_i. Proposition 6.10 computes a homotopy on_i ~ pn£. Using Proposition 3.8, we lift it along pn to a homotopy £' ~ £, relative to A, for some £'. Since pn£' = on-i = pnon, we have £' = on + C f°r a unique (: X —> Ln and we set P,_x and h!i can thus be computed using Proposition 3.7. □ 7. Leftover proofs The purpose of this section is to prove statements that were used in the main part but whose proofs would disturb the flow of the paper. Theorem 3.3 (restatement). There is an algorithm that, given a map ip: Y —>• B between simply connected simplicial sets with effective homology and an integer n0, constructs an riQ-truncated extended Moore-Postnikov tower for ip and equips it with effective homology- The proof will be presented in two parts. First, we describe the construction of the objects and then we prove that they really constitute an extended Moore-Postnikov tower. The construction itself follows ideas by E. H. Brown for non-equivariant simplicial sets in [2] and by C. A. Robinson for topological spaces with free actions of a group in [18]. We described the construction in the non-equivariant non-fibrewise case G = 1 and B = * in detail in [5]. Here, we give a brief overview with the emphasis on the necessary changes for G and B non-trivial. Construction. The first step of the construction is easy. Put P0 = B and Pn-\ with properties 1 and 2 from the definition of the Moore-Postnikov tower. Moreover, assume that Pn-i is equipped with effective homology. Viewing cone - CfPn-i and C*Y -<=>- CfY a strong equivalence cone - Cf with Cf effective (for details, see [5, Proposition 3.8]). Let us consider the composition Cn+l ^ Zn+i{Cf) ~y Hn+i(Cf) =f 7Tn, where the first map is an (equivariant) retraction of Zn+i(Cf) C G^+1, computed by the algorithm of Proposition 2.14; the second map is simply the projection onto the homology 40 group. The homology group itself is computed from Cf - by forgetting the action of G, it is a chain complex of finitely generated abelian groups and Smith normal form is available. The G-action on irn is easily computed from the G-action on Cf. Composing with the chain map cone Cf coming from the strong equivalence, we obtain coney?(„-i)*) -> Cf+1 -> nn k + A: Cn+i-Pn_i © CnY ■ whose components are denoted k and A. They correspond, respectively, to maps k'n: Pn_i -> K(nn, n + l), l'n: Y -> E(nr, that fit into a square -->E(nn,n) Y ■ Vn-l (7.1) Pn-i—r->K('xn,n + 1) which commutes by the argument of [5, Section 4.3]. Now we can take Pn = Pn-\ > 7Tj(Pn) is an isomorphism for 0 < i < n — 1. The rest of the proof is derived, as in [5, Section 4.3], from the morphism of long exact sequences of homotopy groups Kn+i(Y) —>7rn+i(cyl v?„_i) ^7rn+i(cyl 7Tn(Y) > 7rn(cyl (^n_i) ^0 0^7Tn+i(Pn) ->7Tn+i(cylpn) -^7Tn+i(cylpn,Pn) ->7Tn(Pn) ->1Tn(cj\pn) associated with pairs (cyl(^n_1, Y) and (cylpn, Pn). The arrow in the middle is an isomorphism by [5, Lemma 4.5], while the remaining two isomorphisms are consequences of the fact that both cylinders deform onto the same base Pn-i- The zero on the left follows from the fact that the fibre of pn is K(irn,n) and the zero on the right comes from the condition 1 for Pn_i. By the five lemma, ipm is an isomorphism on 7rn and an epimorphism on 7rn+1 which completes the proof of condition 1. Addendum. For a given computable (3: B —> B, the pullbacks Pn = B xB Pn may be identified with twisted cartesian products Pn_i xr K(irn,n) and as such admit effective homology by induction, starting from the assumed effective homology of P0 = B. □ For the next proof, we will use the following observation. Lemma 7.2. Every map ip: P —^ Q can be factored as ip: P >—> P' —* Q, where j is a weak homotopy equivalence and ip' is a Kan fibration. By a weak homotopy equivalence, we will understand a map whose geometric realization is a G-homotopy equivalence. Proof. This is the small object argument (see e.g. [13, Section 10.5] or [7, Section 7.12]) applied to the collection J of "G-free horn inclusions" GxA" ->Gx An, n > 1, 0 < i < n. Using the terminology of [13], the ^-injectives are exactly those maps that have non-equivariantly the right lifting property with respect to A™ —> An (this follows from the equivalence (7.3) from the next proof), i.e. Kan fibrations. The geometric realization of every relative j7-cell complex is a G-homotopy equivalence since the geometric realization of G x An clearly deforms onto that of G x A™. □ Theorem 3.5 (restatement). There exists a map (p'n: Y' —> Pn inducing a bijection (p'm : [X, Y']^ —> [X, PuYb for every n-dimensional simplicial set X with a free action of G. Proof. By construction, Pn is an (n + Inequivalence. By the proof of Lemma 7.2, we may assume Y —> Y' to be a relative J-ce\\ complex. We show that Y' is a relative J-ce\\ complex and such maps have the left lifting property with respect to Kan fibrations. The map • Q. The basic idea is that X is built from A by consecutively attaching "cells with a free action of G", namely X = UAj and in each step Xi = Xi-iUcx(9Ami G x Ami with rrii < n.13 First, we prove that is surjective under the assumption that ip is an n-equivalence. For convenience, we replace ip by a G-homotopy equivalent Kan fibration using Lemma 7.2. Suppose that the above map if;*, but with X replaced by is surjective and we prove the same for Xt. This is clearly implied by the solvability of the following lifting-extension problem Xi-i -+p (to find a preimage of [£] at the bottom, we find the top map by the inductive hypothesis; if the lift exists, it gives a preimage of [£] as required). As Xi is obtained from by attaching a single cell, the problem is equivalent to G x dAr G x Ar that is further equivalent to dAr Ar' -+P (7.3) and is where the problem on the right is obtained from the left by restricting to e x AT non-equivariant. Its solution is guaranteed by ip being an rrij-equivalence. To prove the injectivity of if;*, we put back the assumption of ip being an (n + 1)-equivalence. We study the preimages of [£] G [X, Q]g under ip*; these clearly form [X, P]q. By the surjectivity part, this set is non-empty. By pulling back P along £, we thus obtain a fibration £*P —> X with a section X —> £*P which is an n-equivalence.14 Thus, [X,P]^[X,tP] x [X,X] 13Thus, the action needs only be free away from A and the same generalization applies to the dimension. 14The fibres of tp are n-connected and isomorphic to those of £* P —>• X. From the long exact sequence of homotopy groups of this fibration, it follows that £*P —>• X is also an (n+ l)-eqtiivalence and its section then must be an n-equivalence. 43 by the surjectivity part (any surjection from a one-element set is a bijection). □ Next, we need the following lemma. Lemma 7.4. The natural maps P Vs P —> P Vs P and P Xg P —y P Xg P are weak homotopy equivalences. The inclusion (P xB P) U (d2A2 x (P VB P)) >—> A2 x (P xB P) is a weak homotopy equivalence. Proof. The space P P is naturally a subspace of • B (or equivalently of ipn: Pn —>• B). In particular, the cohomology groups iJ^,(PnxBPn, Pn\/BPn; it) of this pair with arbitrary coefficients 7r vanish up to dimension 2d + 1. Proof. By the first part of the previous lemma, we may replace the pair in the statement by (P„ xB Pn,Pn VB Pn). First, we recall that Pn —y B is a minimal fibration (each 5: Eijii, i) —> K(7Vi, is one and the class of minimal fibrations is closed under pullbacks and compositions, see [15]). It is well known that over each simplex a: A% —> B any minimal fibration is trivial and it is easy to modify this to an isomorphism a*Pn = A% x F of fibrations with sections, where F denotes the fibre of Pn —> B and is • a*Pn which is a fibrewise homotopy equivalence, hence an isomorphism, by the minimality of Pn —> B. 44 Pn V_b Pn is a fibre bundle with fibre F V F. Thus, we have a map of fibre sequences F\I F->PnVBPn->B F x F->Pn xBPn->B The left map is (2d + l)-connected. By the five lemma applied to the long exact sequences of homotopy groups, the middle map Pn \/B Pn —>• Pn xB Pn is also (2d + l)-connected. To show that the equivariant cohomology groups vanish, we make use of a contraction of C*(Pn xBPn) onto C*(PnVBPn) in dimensions < 2d+l; its existence follows from the proof of Proposition 2.14. By the additivity of Hom^g(—, tt), there is an induced contraction of CG(Pn xBPn; 7r) onto CG(Pn\/BPn] tt) and thus the relative cochain complex is acyclic. □ Theorem 5.4 (restatement). Every pointed stable Moore-Postnikov stage Pn admits a fibrewise H-space structure. Any such structure is homotopy associative, homotopy commutative and has a right homotopy inverse. It is unique up to homotopy relative to Pn \/B Pn. Proof. By the previous proposition, the left vertical map in Pn V B Pn t Pn ^^add Pn XB Pn ->B is (2d + l)-connected. Since the homotopy groups of the fibre of ipn are concentrated in dimensions d < i < n, the relevant obstructions (they can be extracted from the proof of Proposition 3.7) for the existence of the diagonal lie in H'G1(Pn xB Pn, Pn \/B Pn) = 0 (since i + l < n + 1 < 2d + 1). The diagonal is unique up to homotopy by the very same computation. Thus, in particular, replacing add by the opposite addition addop: (x, y) \—> y + x yields a homotopic map, proving homotopy commutativity. Similarly, homotopy associativity follows from the uniqueness of a diagonal in (B xB Pn xB Pn) U (Pn xB Pn xB B)-—$Pn _ - " " i>n Pn XB Pn XB Pn -> B (the pair on the left is again (2d+ l)-connected) with two diagonals specified by mapping (x, y, z) to (x + y) + z and x + (y + z). The existence of a homotopy inverse is a fibrewise and equivariant version of [21, Theorem 3.4]; the proof applies without any complications when the action of G is free. We will not provide more details since we construct the inverse directly in Section 5.14. □ 45 For the next proof, we will use a general lemma about filtered chain complexes. Let G* be a chain complex equipped with a filtration 0 = F_iG* C F0C* C F1C* C • • • such that G* = [ji FiC*. As usual, we assume that each FjG* is a ZG-cellular subcomplex, i.e. generated by a subset of the given basis of C*. We assume that this filtration is locally finite, i.e. for each n, we have Gn = FiCn for some « > 0. For the relative version, let D* be a (ZG-cellular) subcomplex of G* and define i^-D* = D* C\ FiC*. Lemma 7.5. Under the above assumptions, if each filtration quotient GjG* = FiC*/1 F^iC* /zas effective homology then so does C*. More generally, if each (GiC*,GiD*) has effective homology then so does (C*,D*). Proof. We define G* = ®j>o^iC*> the associated graded chain complex. Then G* is obtained from G* via a perturbation that decreases the filtration degree i. Taking a direct sum of the given strong equivalences GjG* -<= GjG* =>- GfC*, we obtain a strong equivalence G* -<= G* =>- G!f with all the involved chain complexes equipped with a "filtration" degree. Since the perturbation on G* decreases this degree, while the homotopy operator preserves it, we may apply the perturbation lemmas, Propositions 2.12 and 2.13, to obtain a strong equivalence G* -<= G* =>- G^f. □ Proposition 5.11 (restatement). Assume that all the spaces in the square S have effective homology. Then so does the pair (\S\, d,2\S\). We continue the notation of Section 5.8. Proof. We apply Lemma 7.5 to the natural filtration FiC*\S\ = G* sk« |«S|, where sk« |«S| is the preimage of the i-skeleton skj A2 under the natural projection |«S| —> A2. The Eilenberg-Zilber reduction applies to the quotient G* sk2 \S\/C* ski \S\ = G*(A2 x Z, OA2 x Z) G*(A2, <9A2) © C*Z = s2GtZ where s denotes the suspension. The effective homology of Z provides a further strong equivalence with s2CfZ. Similarly, G* ski \S\/C* sk0 \S\ is isomorphic to C*((d2A2,dd2A2) x Z)®C*((d1A2,dd1A2) x Z0)®C*((d0A2,dd0A2) x Zx) and thus strongly equivalent to sCfZ © sCfZ0 © sCfZ\. Finally, G* sk0 \S\ is strongly equivalent to CfZ0 © CfZx © Cf Z2. The subcomplexes corresponding to d,2\S\ are formed by some of the direct summands above and are thus preserved by all the involved strong equivalences. This finishes the verification of the assumptions of Lemma 7.5. □ The following lemma was used in the proof of Proposition 5.15. 46 Lemma 7.6. The two components pn add and qn add defined in the proof of Proposition 5.15 determine a map add: PnXß Pn ~+ Pn and this map is a weak H-space structure. The two components pn inv and qn inv defined in Section 5.14 determine a map inv: Pn —> Pn and this map is a right inverse for add. Proof. The compatibility for add: 5qn add = ö(addqn0n(qn x qn) + M(pn x pn)) = addfcn0n_1(5 x 5)(qn x qn) + m(pn x pn) = addfcn0n_1 (kn x kn)(pn x pn) + (kn add - addfcn0n_1(A;n x kn))(pn x pn) = kn add(pn x pn) = knpn add The weak H-space condition adď$ = V on Pn verified for its two components: pn nddů = add(pn x pn)ů = adďd(pn V pn) = V(p„ V pn) = pn V qnaddů = (addqn0n(qn x qn) + M(pn x p„))$ = add9n0n í?(gn V gn) + Mů,(pn 9pn) o = V(g„ V qn) = qn V The compatibility for inv: 5(-c + 2gnon - M(2, -x)) = -5c + 25gnon - m(2, -rr) = —knx + 2knon-i — (kn(x + (—x)) — /cnx + knon-i ~ kn(—x)) = kn(—x) On-l The condition add(id x inv) A = on of being a right inverse: (x, c) + (-(x, c)) = (rr, c) + (—x, -c + 2gnon - M(2, -rr)) = (rr + (—rr), c + (—c + 2qnon — M(2, x, —x)) — qnon + M(2, x, —x)) = (on-i,qnon) = on □ Acknowledgement. We are grateful to Jiří Matoušek and Uli Wagner for many useful discussions, comments and suggestions that improved this paper a great deal. Moreover, this paper could hardly exist without our long-term collaboration, partly summarized in [4], [5] and [6]. References [0] M. Čadek, M. Krčál, L. Vokřínek. Algorithmic solvability of the lifting-extension problem (extended version). Preprint, arXiv: 1307.6444, 2013. [1] G. E. Bredon. Equivariant cohomology theories. Lecture Notes in Mathematics, 34, Springer-Verlag, Berlin, 1967. 47 [2] E. H. Brown (jun.). Finite computability of Postnikov complexes. Ann. Math. 65 (1957), 1-20. [3] M. Crabb, I. James. Fibrewise homotopy theory. Springer Monographs in Mathematics. Springer-Verlag London Ltd., London, 1998. [4] M. Čadek, M. Krčál, J. Matoušek, F. Sergeraert, L. Vokřínek, U. Wagner. Computing all maps into a sphere. J. ACM, 61 (2014), 17:1-44. [5] M. Čadek, M. Krčál, J. Matoušek, L. Vokřínek, U. Wagner. Polynomial-time computation of homotopy groups and Postnikov systems in fixed dimension. SIAM J. Comput., 43 (2014), 1728-1780 [6] M. Čadek, M. Krčál, J. Matoušek, L. Vokřínek, U. Wagner. Extendability of continuous maps is undecidable. Discr. Comput. Geom., 51 (2014), 24-66 [7] W. G. Dwyer, J. Spalinski. Homotopy theories and model categories. Handbook of algebraic topology, 73-126, North-Holland, Amsterdam, 1995. [8] S. Eilenberg, S. MacLane. On the groups H{Jl,n), II. Methods of computation. Ann. of Math. (2), 60 (1954), 49-139. [9] G. Friedman. An elementary illustrated introduction to simplicial sets. Rocky Mountain J. Math., 42 (2012), 353-423. [10] M. Filakovský. Effective chain complexes for twisted products. Arch. Math. (Brno), 48 (2012), 313-322. [11] M. Filakovský. Algorithmic construction of the Postnikov tower for diagrams of simplicial sets. Thesis [12] M. Filakovský, L. Vokřínek. Are two given maps homotopic? An algorithmic viewpoint. Preprint, arXiv: 1312.2337, 2013. [13] P. S. Hirschhorn. Model categories and their localizations, Mathematical Surveys and Monographs 99, American Mathematical Society, Providence, RI, 2003. [14] J. Matoušek. Using the Borsuk-Ulam theorem. Springer, Berlin, 2003. [15] J. P. May. Simplicial objects in algebraic topology. Chicago Lectures in Mathematics. University of Chicago Press, Chicago, IL, 1992. [16] J. F. McClendon. Obstruction theory in fiber spaces. Math. Z., 120 (1971), 1-17. [17] J. Matoušek, M. Tancer, U. Wagner. Hardness of embedding simplicial complexes in Rd. J. Eur. Math. Soc, 13 (2011), 259-295. 48 [18] C. A. Robinson. Moore-Postnikov systems for non-simple fibrations. Illinois J. Math., 16 (1972), 234-242. [19] J. Rubio, F. Sergeraert. Constructive homological algebra and applications. Preprint, arXiv: 1208.3816, 2012. Written in 2006 for a MAP Summer School at the University of Genova. [20] W Shih. Homologie des espaces fibres. Publ. Math, de 1'IHES, 13 (1962), 93-176. [21] J. Stasheff. H-spaces from a homotopy point of view. Lecture Notes in Mathematics, 161, Springer-Verlag, Berlin, 1970. [22] L. Vokfinek. Computing the abelian heap of unpointed stable homotopy classes of maps. Arch. Math. (Brno), 49 (2013), 359-368. [23] L. Vokrinek. Constructing homotopy equivalences of chain complexes of free 1*G-modules. Contemp. Math., 617 (2014), 279-296. [24] L. Vokfinek. Heaps and unpointed stable homotopy theory. Arch. Math. (Brno), 50 (2014), 323-332. [25] L. Vokfinek. Decidability of the extension problem for maps into odd-dimensional spheres. Discr. Comput. Geom. (2016), doi : 10.1007/s00454-016-9835-x [26] C. Weber. Plongements de polyedres dans le domaine metastable. Comment. Math. Helv., 42 (1967), 1-27. Martin Čadek, Lukáš Vokřínek Department of Mathematics and Statistics, Masaryk University, Kotlářská 2, 611 37 Brno, Czech Republic Marek Krcal Computer Science Institute of Charles University, Malostransk nm. 25, 118 00 Praha 1, Czech Republic and Institute of Science and Technology Austria, Am Campus 1, 3400 Klosterneuburg, Austria 49 Decidability of the extension problem for maps into odd-dimensional spheres* Lukas Vokfinek May 31, 2016 Abstract In a recent paper [3], it was shown that the problem of the existence of a continuous map X —> Y extending a given map A —> Y, denned on a subspace A C X, is undecidable, even for Y an even-dimensional sphere. In the present paper, we prove that the same problem for Y an odd-dimensional sphere is decidable. More generally, the same holds for any d-connected target space Y whose homotopy groups ivnY are finite for 2d < n < dimX. We also prove an equivariant version, where all spaces are equipped with free actions of a given finite group G and all maps are supposed to respect these actions. This yields the computability of the Z/2-index of a given space up to an uncertainty of 1. 1. Introduction The main object of study of this paper is the extension problem. Given spaces X, Y and a map /: A —>• Y defined on a subspace A C X, it questions the existence of a continuous extension A---yY t * / i. / y 9 s X If Y is allowed non-simply connected, this problem is undecidable by a simple reduction to the word problem in groups. Thus, we restrict ourselves to the situation of a simply connected Y. In [8], Steenrod expressed a hope that the extendability problem would be algorithmically solvable. It was proved in [1] that this is indeed the case if one restricts to a suitably "stable" situation, i.e. if dimX < 2 connY + 1. The algorithm of that paper depends on computations with abelian groups of homotopy classes of maps that are not available unstably. Later, the authors showed in [3] that the previous positive result was very much the best possible: the extension problem with dimX > 2 conn Y + 1 is undecidable, even for such a simple target space as Sd+1 with d+1 even. This undecidability result has implications to other problems; namely, [5] proves the undecidability of the problem of the existence of a robust zero of a given simplex-wise linear map K —>• Rd+2 with d+1 even. It may thus come as a bit of a surprise that the extension problem for maps into a sphere Sd+1 with d+1 odd is decidable: this is an instance of Theorem 1 below - the theorem does apply to Y = Sd+1, for d+1 odd, since irnSd+1 is finite for n > d + 1. Again, [5] implies decidability of the problem of the existence of a robust zero of a given simplex-wise linear map K —> Rd+2, for d+1 odd. "The research was supported by the Center of Excellence — Eduard Cecil Institute (project P201/12/G028 of GA CR). 2010 Mathematics Subject Classification. Primary 55Q05; Secondary 55S35. Key words and phrases. Homotopy class, computation, higher difference. 1 Theorem 1. There exists an algorithm that, given a pair of finite simplicial sets (X, A), a finite d-connected simplicial set Y, for d > 1, with homotopy groups ttnY finite, for 2d < n < dimX, and a simplicial map A —> Y, decides the existence of a continuous extension X —> Y. We do not have any bounds on the running time of such an algorithm. In the light of the ^P-hardness of the computation of the homotopy group TľkY when k is a part of the input (in unary), see [3], we do not expect that this algorithm is polynomial-time when the dimension of X is not fixed. However, even if dimX is bounded, it seems that our algorithm will not have polynomial running time. Nevertheless, the alternation between decidability and undecidability of the extension problem for maps into a sphere Sd+1 seems striking. In Section 5, we discuss an extension of Theorem 1 to the equivariant situation of [4]. In the special case G = Z/2, A = 0 and Y = Sd+1 with the anti-podal Z/2-action, it gives the decidability of the problem of the existence of a Z/2-equivariant map X —>• Sd+1, for d + 1 odd. The index of X, denoted mdX, is the smallest d + 1, for which an equivariant map X —>• Sd+1 exists; this invariant has many applications in geometry and combinatorics. Thus, with the equivariant version of Theorem 1, it is possible to narrow down indX to two possible values. Theorem 2. There exists an algorithm that, given a finite simplicial set X equipped with a free action of Z/2, and d + 1 odd, decides whether mdX G {d, d + 1}. Remark on the difference between spheres. We will now outline the main difference between spheres Sd+1 with d+l even and d + 1 odd. In the case d+l even, the rational homotopy groups are non-trivial in dimensions d+l and 2d+l and the Postnikov invariant is "rationally" the same as the cup-square K(Z, d+1) —>• K(Z, 2d + 2). Using this, it is possible to encode a system of quadratic equations in Z into an extension problem and the former is known to be algorithmically unsolvable (the actual proof of the undecidability result in [3] is slightly different, but uses a similar idea). When d + 1 is odd, the only non-trivial rational homotopy group of Sd+1 lies in dimension d+l and, thus, all obstructions have finite coefficients. The above mentioned system of quadratic equations, when considered with values in Z/2, say, is easily solved by analyzing all possible values of the unknowns modulo 2. Although we have no guarantee that general obstructions are of polynomial nature, it is however still true that only a finite number of possibilities needs to be analyzed; this is the basic idea of our proof of Theorem 1. 2. Sets with an action and mappings to abelian groups Before we start with topology, we introduce one of our main technical tools - a formula, that will imply "periodicity" of certain homotopy phenomena. This periodicity serves as a (rather weak) replacement of additivity that occurs in the stable situation. Let S and T be sets equipped with an operation +: S x T —> S that has a right-sided zero OeT, i.e. such that x + 0 = x; we will call this operation an action of T on S. We use the (only sensible) bracketing convention x + y + z = (x + y) + z and define a derived action of T on S1 by x + ky = x + y+ -- - + y. /c-times Again, it has a right-sided zero 0. For any formal expression written in terms of the action of T on S, we will use a superscript (—)(fe) to denote the derived expression obtained by replacing each x + y by x + ky. Let /: S —> G be an arbitrary mapping of S into an abelian group G. Our aim in this section is to give a relation between f{x + 6y) and f(x) modulo a prime power q = pm, i.e. modulo the subgroup qG of q-multiples in G, where ŕ? is a sufficiently big number (a high power of p, in fact); as an important special case, if qG = 0, we get a relation between f(x + Oy) and f(x). We will 2 make a heavy use of higher-order differences Aef(x;yi,...,yt)= J2 {-lf~1f{x + yl, + --- + yl])- o• G to functions S x T£ —>• G. Since we may add functions with values in abelian groups, it is also possible to form integral combinations of the operators . We first demonstrate the relation between f(x + 8y) and f(x) modulo q on an example. Example 3. In this example, we have q = pm = 4 and 9 = 8. Then f{x + 8y) = Af/(x; y, y, y, y) + 4f(x + 6y) - 6f(x + Ay) + 4f(x + 2y) - f(x) and we continue in a similar way with the third term, f{x + Ay) = Af(x; y, y, y, y) + 4f(x + 3y) - 6f(x + 2y) + 4f(x + y)- f(x). Substituting the second formula into the first, we get f(x + 8y) = f(x) + A^f(x; y, y, y, y) + 2A^f(x; y, y, y, y). (mod4) Denoting D4A = A^ + 2A^\ we finally obtain f(x + 8y) = f(x) + D4Af(x; y, y, y, y). In general, we have the following lemma, in which the congruence modulo q means, as above, that the difference of the two sides is a ^-multiple, i.e. lies in the subgroup qG. Lemma 4. Let q = pm and £ = pn be two powers of a given prime p and let 9 = p™+m-1. Then there exists an integral combination Dq £ of the operators A^ such that, for each mapping f: S —> G into an abelian group G, we have f(x + 9y) = f(x)+Dq^f(x;y,...,y). (modg) In particular, Dq^f(x; y1;. .. , yi) = 0 whenever yi = 0, for some i. Proof. The proof is executed by induction with respect to m. By definition, and using £ = pn, f{x + 9y) = f{x+pnpm-\) = A^fix; y,...,y)-J2 (-1)P"_J' { ■ )f(x + JP^v)- For j > 0, write j = pn j' where j' is coprime to p and observe that . (p"\ nfPn-l is divisible by pn, so that pn~n | ). Setting n' + m = n + m!, we have either m! < 0, in which case n — n'>m and the binomial coefficient (p. ) is divisible by q = pm, or we obtain, for q' = pm , by induction f(x + 3Vm-Xy) = f(x + pn+m'-X3'y) = f(x) + D(j}f(x; y,...,y). (mod q') 3 Upon multiplication by (p. ), that is divisible by pn n = q/q', we then obtain {^j f(x + jp^y) ee ^ f(x) + ^ D$}f(x; y,...,y), (mod q) that holds trivially even in the earlier case m' < 0 (the D^, ]-term on the right makes no sense but gets multiplied by 0). Since 2^^=01 (—l)p ) = —1, substituting the previous equation into the first yields f(x) with coefficient 1, so that f(x + Oy) ee /(*) + A^fix; y,...,y)-J2 (-1)P"_J' T. D$'}f(x; y,...,y) j=i ^3 / = f(x)+Dq^f(x;y,...,y), (modg) if we set ^=Ari)-EW-j(1")^. i=i W y The last statement of the lemma follows from the corresponding property of the . □ 3. Postnikov tower We set D = dim AT. As in Theorem 1, we assume that Y is a K(k ,n + V) a minimal fibration. They have a simple combinatorial description - the fc-simplices of E(k,n) are the normalized n-cochains on the standard fc-simplex Afe with coefficients in ir, i.e. (E(ir,n))k = C™(Afe;7r), and K(ir,n) is the subset of normalized n-cocycles. For this reason, simplicial maps X —> E(TT,n) are in bijection with cochains from Cn(X; tt) and simplicial maps X —> K(tt, n) are in bijection with cocycles from Zn(X\-k). For details, consult [7] or [1]. The Postnikov stages are built from the Eilenberg-MacLane spaces using pullbacks - these will be understood in this paper as subspaces of the product in the usual way. We construct Postnikov stages as simplicial sets with effective homology, a structure that will not be defined in this paper, since it is used only as an input to theorems from other papers. We will need explicitly only a very basic part, namely, that: simplices of the Postnikov stages have an agreed upon representation in a computer (its precise form is not important) and that there are algortihms supplied that compute their faces and degeneracies. This allows us to represent also simplicial maps X —>• Pn in a computer, e.g. by listing the images of all non-degenerate simplices of X. Theorem 5. For each simply connected simplicial set Y, it is possible to construct simplicial sets Pn (as simplicial sets with effective homology), for n < D, and simplicial maps ipn : Y —> Pn, such that ipn* : TTk(Y) —> TTk(Pn) is an isomorphism, for k < n, and TTk(Pn) = 0, for k > n. Further, for 2d < n < D, it is possible to construct simplicial sets Pni that fit into a pullback square (alternatively, Pni is a principal bundle over Pn,i-\ with fibre K(Z,/q,n)) Pn,t->E(Z/q,n) (1) J s Pn^-l^^KiZ/q^+l) with q = pm a prime power (depending on n and i; the same applies to k) and Pn-\ = Pn,o> Pn = Pn,rn, where rn is some non-negative integer. The composition of the projections Pni —> Pn,i-\ for i = 1, .. ., rn is a map pn: Pn —> Pn-\, that satisfies pn(pn = ipn—i- 4 Proof. [2, Theorem 1.2] gives the simplicial sets Pn, the maps ipn, pn and also the homotopy groups 7r„ = 7r„ (Y). To obtain the refinements Pni, we compute a decomposition tt« = Zjqx © ■ ■ ■ © Z/V of the n-th homotopy group into a sum of cyclic groups of prime power orders (the output of [2, Theorem 1.2] expresses 7r„ as a sum of cyclic groups; it remains to factor the orders of the cyclic summands into products of prime powers). Defining 7rn]j = Z/qi © • • ■ ©Z/<7j and using the obvious projections pr: 7r„ —> Trn,i, the space Pni is obtained as the following pullback p -> E(Tvnti,n) s Pn-i —K(irn, n + 1) K(irn4, n + 1) The isomorphism K(nni, n+1) = K(Kni_-±, n + 1) x K(Z/qi,n+l) and a similar one for the path space E(Trnj,n) imply straightforwardly that (1) is indeed a pullback square (with q = Qi). □ For the following theorem and its proof, we will denote certain actions as x + Qy, even though they are not derived from any action x + y. In this situation, upon deriving the action, we obtain x+9Qy that we will denote x+Q'y, for O' = 9Q. That is, we get a derived action x+Q'y whenever O | O'. In this situation, when deriving expressions, we write (—)^e>) when the action x + Q'y is used in the expression; in particular, (—)^ uses the original (non-derived) action x + Qy. Theorem 6. There js 8 > 0 (easily computed) and an action x + Qy of P2d on each Pn,i, for all 2d < n < D and 0 < i < rn, that has a right-sided zero 0 G Pid and such that the projections Pn,i Pn,i—i respect this action. Proof. We will define, by induction with respect to n and i, positive integers Qn,i, in such a way that Qn,i-i | Qn,ii and actions x + Qn,iV of P2d on Pn,i- The actions x + Qy from the statement are then obtained by setting O = 8o_i]rD1 and deriving the action x + Qn^y on Pni as explained before the statement of the theorem - we have Qn,i \ Q- Starting with n = 2d, the paper [1] constructs an abelian H-group structure on P^d, i-e. an action of P2d on itself; we set Q2d = 1- For the inductive step, we apply Lemma 4 to the Postnikov invariant k: Pn,i-i —>• K(Z/q,n + 1) with q = pn the order of the coefficients of the Eilenberg-MacLane space and a yet to be specified £ = pm; the lemma applies since the target of A; is a simplicial abelian group, i.e. an abelian group in each dimension. The function q,£ ' rn,i — l P2dy<---xP2d^K(Z/q,n + l) is zero whenever one of the components in P2d is 0, i.e. on the product of Pn,i-i with the so-called fat wedge; thus, we have a diagram Pn,i-i x {fat wedge} -+E(Z/q,n) M' ^ (2) P P2d P2d- -+K(Z/q,n+l) The cofibre of the map on the left (i.e. the quotient of the bigger space by the smaller) is (Pn,i-i)+A P2d A • • • A P2d, where (—)+ denotes a disjoint union with a basepoint (i.e. the cofibre of a map from the empty space); this smash product is easily seen to be (£(d+1) — l)-connected. Therefore, when £ 3> 0, a diagonal M' exists, since the sole obstruction lies in Hn+1((Pn^-i)+ A P2d A • • • A P2d] Z/q) = 0. We define M(x, y) = M'(x; y,...,y),so that 5M(x,y) = D(^-l)k(x;y, , y) = k(x + 9Qn,t-iy) - k(x), 5 where 9 is as in Lemma 4. Denoting ®n,i = 8@n,i-i, this allows us to define an action of P2d on Pn,i C Pn,i-i x E(Z/q,n) - viewed as the pullback in (1) - by the formula (x, c) + [X, P2d] denote the post-composition with the projection Pn —> P^d- Given g': X —> P^d, it is possible to compute gi,. .., gi-: X —> Pn such that IX^1^'] = {[gi], ■ ■ ■ , [gk]}, i-g. it is possible to compute all lifts of g' up to homotopy. Proof. We compute lifts of g' to X —>• P2d+i in the following way: [1, Lemma 6.2] computes one such a lift g; employing the (computable!) principal action of K(rK2d+i, 2d+l) on P2d+i, representatives of all other homotopy classes of lifts are obtained by acting on g by maps X —>• K(iT2d+i, 2d+l) representing all possible homotopy classes [X, K(ir2d+i, 2d + 1)] = H2d+1(X; TT2d+i) - since TT2d+i is finite, this cohomology group is indeed finite and representatives of all cohomology classes are easily computed. In the next step, it is possible to go through all these partial lifts and compute all their lifts to P2d+2, etc. □ Theorem 8. There is an algorithm that decides the existence of a (pointed) homotopy between given simplicial maps f, g: X —> Pn. Proof. The proof of [6, Theorem C.l] gives a reduction to the question of nullhomotopy; for maps X —>• Pn, the nullhomotopy decision algorithm is the claim (null)„ in [6]. □ In the proof of Lemma 7, we may use Theorem 8 to remove multiple occurrences of homotopy classes of lifts, thus computing e.g. their number. 4. Proof of Theorem 1 For n = D — 1, let /: A —>• Pn denote the composition A —> Y ^A Pn, where the first map is the map given on the input and which we are trying to extend to X. By the usual obstruction theory, it is enough to check whether an extension to g: X —>• Pn exists - the higher obstructions are all zero. Thus, we consider the Postnikov stage Pn with an action x + Qy by the stage P2d from Theorem 6. Consider the commutative square (the R and R' are the restriction maps while Tlx and LT^ are post-compositions with the projection Pn —> P2d as in Lemma 7) [g] e [X,Pn]^^[X,P2d] [f\e\A,Pn]—^\A,P2d]3\f] 11a and denote [/'] = ILa[/]- We compute the groups on the right explicitly using [1, Theorem 1.1] and consider the subset H = (i?')_1 [/'] of all possible extensions of /' to a map X —>• P2d- There is a finite set H0 C H such that H = H0 + QkerR'; namely, if [h0] e H is arbitrary and we identify ker R' = Z/qi ® • • • ® Z/qr (possibly with some qi = 0 giving Z/0 = Z), we may take for Ho all r-tuples of the form [ho] + (z\,... ,zr) e H with each \zi\ < 0/2. We will now show that if / admits an extension, then it admits one whose homotopy class lies in U^lHo). This set is finite and its representatives can be computed by Lemma 7. For each [g] G U^lHo), we may then test whether R[g] = [f] using Theorem 8 and finishing the proof. 6 Thus, suppose that g is any extension of / and express its image in [X, P2d] as IIx[<7] = [h]—Q[k] with [h] G H0 and [k] G ker R'. Then [g] = [g] + Q [k] also gives an extension of / since R[g] = R([g] + Q[k}) = R[g] + QR'[k] = [/] (the operations on homotopy classes are natural and [k] G keri?'). Thus, we see that, indeed, an extension g exists with Ux [g] = [g] + Q[k] = [h] G Hq . □ 5. A fibrewise equivariant version The purpose of this section is to prove an equivariant extension of Theorem 1. With the same proof, it is also possible to cover the fibrewise case; we leave it to an interested reader to formulate the appropriate statement (consult [4] for one approach). Theorem 9. Let G be a fixed finite group. There exists an algorithm that, given • a pair of finite simplicial sets (X, A) with a free action of G, • a finite d-connected simplicial set Y with a free action of G, for d > I, and with the homotopy groups ttnY finite for all 2d < n < dim A, • an equivariant simplicial map A —> Y, decides the existence of a continuous equivariant extension X —> Y. In the special case G = Z/2, A = %, this gives Theorem 2 via two applications Y = Sd+1 and Y = Sd~x, both with the anti-podal Z/2-action. Proof. As usual, a map X —>• Y is equivalent to a section of the projection map tp: X xY ^ X and the same holds for extensions. Thus, let Pn be a Moore-Postnikov tower for ip, constructed in [4, Theorem 3.2], and refine it to Pni as in Theorem 5. Using [4, Theorem 1.1], we decide if a section X —>• P2d exists and compute one such. Its image will serve as a zero for the action of P2d on the higher stages Pn,i- The argument of Theorem 6 could be repeated, once the actions with a strict right-sided zero are replaced by fibrewise actions Pni Xx P^d Pn,i with a strict right-sided zero section. To start the induction process, [4, Proposition 5.14, Section 6.1] gives a (strict) fibrewise H-space structure on P2d, i.e. an action of P2d on itself. In the induction step, we use a variation Pn,i-i Xx {fat wedge}---> E(Z/q, n) Pn,i-\ xx P2d xx ■■■ xx P2d —-r> K(Z/q, n + 1) D(e,n'z-l}k of the diagram (2), in which the fat wedge is the subspace of those ^-tuples with at least one component lying on the zero section. Denoting by Fn^ the fibre of Pni —>• X, we see that each Fn^ is rf-connected. Since Pn,i-i Xx P2d Xx ■ ■ ■ Xx P2d forms a bundle over X with fibre Fni_x x F2d x ■ ■ ■ x F2d and the part with the fat wedge also forms a bundle over X with fibre Fn^-i x {fat wedge}, this pair is again (£(d + 1) — l)-connected. Thus, a diagonal map M' exists in the above square, inducing M: Pn,i-i Xx P2d —>• E(Z/q,n), by M(x,y) = M'(x; y, ... , y), and this allows us to produce inductively an action of P2d on Pni using the same formula as in the proof of Theorem 6, (x, c) + Qnjiy = (x + Q„tly, c + M(x, y)). The rest of the proof follows that of Theorem 1, using variations of Lemma 7 and Theorem 8 (the latter is [6, Theorem C.l]). □ 7 Acknowledgement. I am very grateful to the reviewer for his/her useful comments and suggestions. In particular, the reviewer pointed out that the construction of the actions on Postnikov stages (carried out in an earlier version) is completely unnecessary and that the mere existence of actions is sufficient; this has led to many simplifications throughout the paper. References [1] M. Čadek, M. Krčál, J. Matoušek, F. Sergeraert, L. Vokřínek, U. Wagner. Computing all maps into a sphere. J. ACM, 61 (2014), 17:1-44. [2] M. Čadek, M. Krčál, J. Matoušek, L. Vokřínek, U. Wagner. Polynomial-time computation of homotopy groups and Postnikov systems in fixed dimension. SIAM J. Comput., 43 (2014), 1728-1780 [3] M. Čadek, M. Krčál, J. Matoušek, L. Vokřínek, U. Wagner. Extendability of continuous maps is undecidable. Discr. Comput. Geom., 51 (2014), 24-66 [4] M. Čadek, M. Krčál, L. Vokřínek. Algorithmic solvability of the lifting-extension problem. Preprint, arXiv: 1307. 6444, 2013. [5] P. Franěk, M. Krčál. Robust Satisfiability of Systems of Equations. Proceedings of the Twenty-Fifth Annual ACM-SIAM Symposium on Discrete Algorithms (2014), 193-203 [6] M. Filakovský, L. Vokřínek. Are two given maps homotopic? An algorithmic viewpoint. Preprint, arXiv: 1312. 2337, 2013. [7] J. P. May. Simplicial Objects in Algebraic Topology. University of Chicago Press, Chicago, IL, 1992. [8] N. E. Steenrod. Cohomology operations and obstructions to extending continuous functions: colloquium lectures. Princeton University, 1957. Lukáš Vokřínek Department of Mathematics and Statistics, Masaryk University, Kotlářská 2, 611 37 Brno, Czech Republic koren@math.muni.cz 8 Are two given maps nomotopic? An algorithmic viewpoint* M. Filakovsky, L. Vokfmek February 22, 2017 Abstract This paper presents two algorithms. The first decides the existence of a pointed homotopy between given simplicial maps /, g: X —> Y and the second computes the group \SX, Y] * of pointed homotopy classes of maps from a suspension; in both cases, the target Y is assumed simply connected. More generally, these algorithms work relative to A C X. 1. Introduction In this paper, we study the following problem: decide whether given maps /, g: X —> Y are nomotopic. For computational purposes, we assume that X and Y are finite simplicial complexes or, more generally, finite simplicial sets, / and g simplicial maps but we ask for a continuous homotopy between them. It is well known that no decision algorithm may exist if Y is allowed to be non-simply connected; this follows easily from Novikov's result [6] on the unsolvability of the word problem in groups. We will thus restrict our attention to the case of a simply connected Y. In this respect, the following result is optimal. It is stated in a more general context of pointed homotopy. Theorem A. There is an algorithm that decides the existence of a pointed homotopy between given simplicial maps f,g:X—tY, where X, Y are finite simplicial sets with Y simply connected. The paper [2] solves this problem under a certain connectivity restriction on Y. Under the same connectivity restriction, [2] also presents an algorithm that, for given simplicial sets X, Y, computes [X, Y], i.e. the set of homotopy classes of continuous maps from X to Y (in fact, an abelian group). Our next result removes this connectivity restriction if the domain is a suspension, generalizing the computation of homotopy groups of spaces described by Brown in [1]. Theorem B. There is an algorithm that computes the group [YiX,Y]* of pointed homotopy classes of maps from a suspension TjX to a simply connected simplicial set Y. It turns out the [£A,Y]* is a polycyclic group (a solvable group with all filtration quotients cyclic) and, as such, can be effectively described by generators and relations. In addition, it will also be "fully effective" (to be defined in Section 3), allowing one e.g. to express the homotopy class of any given pointed simplicial map /: X —> Y in terms of the computed generators. Relative version. Our proof of Theorems A and B works naturally in the comma category A/sSet of simplicial sets "under A", i.e. simplicial sets X equipped with a map A —>• X. Morphisms in "The research of L. V. was supported by the Center of Excellence — Eduard Cech Institute (project P201/12/G028 of GA CR). 1 this category are maps /: X —> Y for which the following diagram commutes. For spaces under A, the appropriate notion of homotopy is that of a homotopy relative to A. When i is an inclusion, a is fixed and Y is a Kan complex, the resulting set of homotopy classes will be denoted by [X, Y]A. For general I, Ye A/sSet, we define [X, Y]A by first replacing, up to weak homotopy equivalence, i by an inclusion A ;—y Xcoi and Y by a Kan complex Yflb and then setting pY,Y]'4 = [Xcoi, YRh]A. Since the replacements are equipped with maps Xcoi —>• X and Y —>• yflb, every simplicial map X —>• Y under A defines an element of [X, Y]A (however, not every element of pY, Y]A is represented by a simplicial map X —>• Y). We will need a slight generalization of [EX, y]* coming from the folowing reinterpretation: pointed maps XX —>• Y are the same as maps Jxl^7 from the cylinder that are constant onto the basepoint on the "boundary" (dl x X) U (I x *). For a map /: X —>• y, extending the given a: A —>• Y as above, consider (dl xX)U(IxA)-jj y J x X where the map at the top is / on each copy of J in 9/ x J and is the constant homotopy at a on IxA For brevity, we denote the resulting set of homotopy classes of maps under the "boundary" (dl xX)U(IxA) by [I x X, Y]f. Now we are ready to state a generalization of Theorems A and B. Theorem C. Let X, Y G A/sSet be given on the input, with all A, X, Y finite simplicial sets and Y simply connected. Then algorithms for the following tasks exist: C.l. Given two simplicial maps f,g:X^Yin A/sSet, decide whether they represents the same element of [X,Y]A. C.2. Given a simplicial map f: X —> Y in A/sSet, compute the group [I x X,Y]®. Theorems A and B are obtained from Theorem C by setting A = *; for the latter, we also set / constant onto the basepoint. Remark. The paper [4] also covers the situation where all spaces lie over a fixed space B and are equipped with a free action of a fixed finite group G. All maps and homotopies are then required to be fiberwise over B and G-equivariant. The theorems presented here may also be extended to this situation but we decided not to complicate the statements and proofs even further. The fiberwise case can be found as an earlier version of this paper on arXiv. Notation. In the rest of the paper, the following notation will be employed: We denote the standard n-simplex by A™, its i-th vertex by i, its i-th face by rf^A™ and its boundary by dAn. The i-th horn in A™, i.e. the simplicial subset spanned by the faces djAn, j ^ i, will be denoted A™. For simplicity, we will also denote I = A1. Then dlk is the obvious boundary of the k-cube, i.e. of the fc-fold product Ik = I x ■ ■ ■ x I. We will say that a map T x X —>• Y is constant at f: X —>• Y if it equals the composition T x I ^ I A 7. More generally, we use this terminology for maps defined on subspaces of T x X. Thus, e.g. [I x X, Y]® is the set of homotopy classes of maps / xX^Y whose restriction to (dl x X) U (I x A) is constant at /. 2 2. Postnikov towers The proof of Theorem C relies on computations in a Postnikov tower of Y. Its algorithmic construction has been carried out in [3]. Here we only give a brief summary of the main results concerned with the construction and computations in the tower. Definition of Postnikov tower. Let Y be a simply connected simplicial set. A (simplicial) Postnikov tower for Y is a commutative diagram Pi Pi Po = * satisfying the following conditions: • The induced map Lpn„.: TTi(Y) —> TTi(Pn) is an isomorphism for 0 < i < n. • Ki(Pn) = 0 for i > n + 1. • The space Pn is a principal twisted cartesian product over Pn-\, necessarily with fibre the Eilenberg-MacLane space K(ttn,n). Equivalently, there exists a pullback square s (1) Pn-i^-*WK(ttn,n) identifying Pn with the pullback Pn-\ ^wK{Tvn,n) WK(iYn,n). In the above, WK(irn, n) is the classifying space and WK(irn,n) the universal principal twisted cartesian product over it or, more precisely, their standard simplicial models with WK(ttn,n) = K(ttn, n + 1) a minimal complex and 5 a minimal fibration, see [5]. We will be making use of a natural isomorphism map(X, WK(tt, n)) ^ Cn(X; tt) between simplicial maps X —> WK(tt, n) and normalized cochains on X with coefficients in tt. It restricts to an isomorphism map(X, K(tt,n)) = Zn(X\Tr). The passage between simplicial maps and cochains/cocycles is computable in both directions, see [2]. From the computational perspective, the Postnikov tower faces the following problem: the standard simplicial models for Eilenberg-MacLane spaces, although minimal, are generally infinite. This is solved by a somewhat technical notion of a simplicial set with effective homology that was introduced by Sergeraert et al. A detailed exposition is given in [8] and an extension to free actions of a finite group G in [4]. We will not need an explicit definition here - we will use directly only a small part, namely, that all simplices have a specified representation in a computer. Thus, a simplicial map X —> Pn is given by a finite amount of data (the table of the images of non-degenerate simplices of X). We also recall that a map is said to be computable if an algorithm is provided that evaluates this map at a given element. 3 Theorem 2.1 ([3, Theorem 1]). There is an algorithm that, given a finite simply connected simplicial set Y and an integer n, constructs the first n stages of a Postnikov tower for Y. The stages Pi are constructed as simplicial sets with effective homology, and ifi, ki, pi as computable maps. □ From now on, we will assume that l is an inclusion; if this was not the case, simply replace the space X by the mapping cylinder of l, i.e. the space Xcoi = (I x A) Ut X. The following Whitehead-type theorem is standard, its fibrewise equivariant version is proved in [4, Theorem 3.3]. Theorem 2.2. The map ipn: Y —> Pn induces a bijection ipn*: [X, Y]A —> [X, Pn]A for every n-dimensional simplicial set X. □ In the above theorem, Pn is a space under A via the composition an = (pna. Since Pn is a Kan complex, the homotopy classes in [X, Pn]A are represented by simplicial maps X —> Pn under A (no replacement needed). Applying the theorem to I x X, we obtain, for n > dim(J x X) = 1 + dimX, an isomorphism [I x X, Y]j = [I x X, Pn]f , where /„ = ifna. When there is no risk of confusion, we will denote the above composites an and /„ simply as a and /. Computations with Postnikov towers. The group structure on [/ x X,Y]j is defined in terms of concatenation of homotopies. In addition, homotopy lifting will be used heavily in our algorithm and, thus, we need algorithmic versions of such tasks. They will be instances of a general algorithm for lifting maps up one stage of a Postnikov tower. In the statements below, a diagonal is a map indicated by the dashed arrow for which both triangles commute. Proposition 2.3. There is an algorithm that, given a diagram A- -fPn 4- / X — -+P n-1 with X finite decides whether a diagonal exists. If it does, it computes one. Proof. Composing with the defining pullback square (1), we obtain an equivalent problem A —-—)• WK(Trn, n) A X Thinking of c as a cochain in Cn(A; 7r„), we extend it to a cochain on X by mapping all n-simplices not in A to zero. This prescribes a map c: X —>• WK(irn,n) that is a solution of the lifting-extension problem from the statement for z replaced by Sc. Since the lifting-extension problems and their solutions are additive, one may subtract this solution from the previous problem and obtain an equivalent problem (the equivalence is described below in more detail) A - X -Sc A solution of this problem is a relative cochain c0 G Cn(X, A; irn) whose coboundary is z0 = z — Sc (this Co yields a solution cq + c of the original problem). Since C*(X,A;ttn) is a cochain complex of finitely generated abelian groups, a computation as above (decide if an element lies in the image of S and compute a preimage under S) is possible using the Smith normal form (or using Lemma 3.4). □ 4 The following two special cases apply even to lifting through multiple stages since the diagonals in question always exist. In the case m = 0, the Postnikov stage Pm is a point and as such may be ignored; the propositions then speak simply about extensions of maps to Pn. Proposition 2.4 (homotopy lifting/extension). Given a diagram (ixX)U (A1 x A)-> Pn T y A1 x X-► Pm with X finite, where i G {0, 1}, it is possible to compute a diagonal. In other words, one may lift/extend homotopies in Postnikov towers algorithmically. Homotopy concatenation. The second special case is used to concatenate homotopies. Proposition 2.5 (homotopy concatenation). Given a diagram (A2 x X) U (A2 x A) A2 x X- with X finite, where i G {0, 1,2}, it is possible to compute a diagonal. In other words, one may concatenate homotopies in Postnikov towers algorithmically. We will now use Proposition 2.5 to make [I x X, Pn]f into a group with some computational qualities. We describe them in this section; in the next section, we introduce the necessary notions and summarize the situation in Proposition 3.1. To start with, elements of [I x X, Pn]f are represented by simplicial maps I x X —>• Pn, whose restriction to (dl x X) 0(1 x A) is constant at / (in particular, when viewed as homotopies, they are relative to A). Let h2, h0: I x X —>• Pn be two such maps. Viewing each hi as defined on c^A2 x X, we obtain a single map A2 x X —>• Pn which, together with the map A2 x A ^ Pn that is constant at a, prescribes the top map in Proposition 2.5, in which we take m = 0 so that Pq = *. Let A2 x X —>• Pn be the computed diagonal map. Then we will call its restriction to Pn ^Prr 3. Poly cyclic groups Semi-effective groups. We want to axiomatize the kind of computational structure that we equipped [I x X, Pn]f with. It is a group, but its elements are given non-uniquely by representatives, i.e. actual simplicial maps, and the group operations are computed in terms of these representatives. A semi-effective set is a mapping of sets S —> S, denoted a i—> [a] such that elements of S have an agreed upon representation in a computer (that we will not specify concretely). We say that S is represented by S and the element a G S is a representative of [a]. This representation of elements is generally non-unique - we may have [a] = [t] for a ^ t. A mapping /: S —> T between semi-effective sets is said to be computable, if there is provided a computable mapping if: S —>• T that represents /, i.e. such that /([er]) = [<£>(c)]. A semi-effective group, which we write additively, is a group G whose underlying set is semi-effective and whose group operations are computable, i.e. algorithms are provided that compute (7, 5) 7 + S, * o, 7 i->- —7 such that [7 + S] = [7] + [5], [o] = 0, [—7] = —[7]. 5 An important example of a semi-effective group is the cohomology group Hn(X, A;tt) = [X, K(it,n)]A. It is represented by the set Zn(X, A;ir) of relative cocycles or equivalently by the set ma,p((X, A), (K(ir, n), 0)) of simplicial maps X —>• K(ir, n) that are zero on A. In this case, much more is true, since we are able to compute e.g. the isomorphism type of this group - we will formalize this additional computational structure in the notion of a fully effective abelian group. Returning to the homotopy concatenation, we have already obtained the following result. Proposition 3.1. The set [IxX, Pn]f is a semi-effective group represented by the set of simplicial maps I x X —> Pn whose restriction to (dl x X) U (I x 4) is constant at f. □ A semi-effective collection of groups indexed by S is a parametrized version of a semi-effective group, where: a parametrization is a computable mapping ip: Q —> S; each fibre Qa = ip^1(a) represents a semi-effective group Ga and the operations are given, uniformly in a G S, by computable mappings G x$ Q —> G, S —> Q and Q —> Q. The above proposition can be upgraded to [/ x X, Pn]d being a semi-effective collection of groups indexed by simplicial maps /: X —>• Y. Fully effective abelian groups. First, we recall from [2] some simple observations regarding computational aspects of abelian groups. Definition 3.2. We call a semi-effective abelian group G fully effective if there is given an isomorphism Z/<7i © • • • © Z/qr = G, computable together with its inverse. In detail, denoting by <7i G G the element corresponding to the generator of Z/qi , this consists of • an algorithm that outputs a finite list of elements gi,. .. ,gr G G (given by representatives) and their orders qi,. .. ,qr G {1, 2,.. .} U {0} (where qi = 0 gives Z/qi = Z), • an algorithm that, given 7 G Q, computes integers z\, .. . ,zr so that [7] = z\g\ + • • • + zrgr; each coefficient zi is unique within Z/qi. We allow qi = 1 to simplify our arguments later; it is clearly possible to obtain a reduced list with all qi =/= 1 by throwing out from the list the generators g± with q± = 1. Example 3.3. As explained, Hn(X, A;ir) is semi-effective when represented by either relative cocycles or simplicial maps X —>• K(ir,n) that are zero on A. It is also fully effective, since one may compute the isomorphism type of the cohomology groups using a Smith normal form algorithm (see e.g. [9]) applied to the differentials in the cochain complex. Lemma 3.4 (kernel and cokernel, [2, Lemmas 2.2 and 2.3]). Let f: G —>• H be a computable homomorphism of fully effective abelian groups. Then both ker / and coker / can be represented as fully effective abelian groups. More generally, the computation of coker / only requires H fully effective abelian, a list of generators of G (not necessarily abelian) and f computable. Another useful construction is [2, Lemma 2.4] that shows that the class of fully effective abelian groups is closed under extensions. We will not use this result; instead, we will need its generalization to the case of polycyclic groups, namely Proposition 3.10. Fully effective polycyclic groups. The group [I x X, Y]® is generally non-abelian and we will thus need to extend some of the machinery from abelian groups to a wider class of groups, called polycyclic. According to Theorem 2.2, [I x X,Y]® = [I x X, Pn]j and the later is a semi-effective group by Proposition 3.1. In this way, the original group [I x X,Y]f is also semi-effective, but not represented by maps I x X —>• Y. Of course, this is also in accordance with the fact that Y is generally not a Kan complex. Definition 3.5. A group G is called polycyclic, if it has a subnormal series with cyclic factors. In detail, there exists a sequence of subgroups G = Gr > ■ ■ ■ > G0 = 0 (2) such that: 6 • Gi-i is a normal subgroup of Gi for i = 1,..., r, • Gi/Gi-i is a cyclic group for z = 1,..., r. Example 3.6. Every finitely generated abelian group is polycyclic: when G = Z/q\ ® • • • ®Z/qr with the corresponding generators g\, ... , gr, the filtration is given by the subgroups Gi generated by gi, ...,gi. Suppose that elements g± G Gi have been chosen in such a way that their images in Gi/Gi-i are generators of these cyclic groups; clearly, such a choice is possible. Denoting by qi the order of Gi/Gi-i, the following map l/q\ x • • • x Z/qr —> G (zi, ... , zr) i—> z1g1 zrgr is easily seen to be bijective: given g e G, consider its image zr G Gr/Gr-i = Z/qr. Then g — zrgr G Gr_i and we continue in the same manner to show that g — zrgr — ■ ■ ■ — z\g\ G Go = 0, i.e. g = zigi + • • • + zrgr in a unique way. In particular, G is generated by gi, .. . ,gr. At the same time, the word problem in G, i.e. the problem of deciding whether two given words in the generators gi are equal, can be translated to Z/qi x • • • x Z/qr and easily solved there. This leads to the following definition: Definition 3.7. We say that a semi-effective group G, represented by a set Q, is fully effective polycyclic if it is polycyclic with subnormal series (2) and a bijection Z/qi x • • • x Z/qr = G as above is computable together with its inverse. In detail, this consists of • an algorithm that outputs a finite list of elements g\ G G\,..., gr G Gr (given by representatives) and the orders qi, .. ., qr G {1, 2,. ..} U {0} of Gi/Gi-i (where qi = 0 gives Z/qi = Z), • an algorithm that, given 7 G Q, computes integers z\, .. . ,zr so that [7] = z\g\ + • • • + zrgr; each coefficient Zi is unique within Z/qi. As explained just prior to the definition, the algorithm in the second point is equivalent to the computability of the projections pi: Gi —> Gi/Gi-i = Z/qi. Remark. In fact, it is even possible to specify (the isomorphism type of) the whole group by a finite amount of data: this consists of the conjugates gi + gj —gi*E Gj_i for i > j and the multiples qtgt G Gi-i. Proposition 3.8. Let G be a fully effective polycyclic group, H a fully effective abelian group and f: G —> H a computable homomorphism. Then it is possible to compute K = ker f as a fully effective polycyclic group. Proof. We will proceed by induction with respect to the length r of the subnormal series for G. We denote Ki = ker f\ci = Gj fl K. In the following diagram, every row is a short exact sequence and so are the solid columns. 0 0 0 I I 4- -)■ Kr-i C-y Kr-> Kr/Kr-i-> 0 P 1 4- Gr -> Gr/Gr-! -> 0 I / I/' 0 -► /(Gr_i) C-► f(Gr) -► f(Gr)/f(Gr-l) -► 0 I I 4- 0 0 0 0 -> Gr-! c 7 It is easy to see that the dashed column is then also exact (by Snake lemma, say). By induction, Kr_i is fully effective polycyclic. By Lemma 3.4, it is possible to compute kerf = Kr/Kr-i; say that it is generated by tr G Gr/Gr-i = Z/qr. This means that f(trgr) G f(Gr-i) and thus, from the knowledge of the generators of Gr-i, it is possible to compute some h G Gr_i with f(trgr) = f(h). Finally, —h + trgr G Kr is the required element mapping to the generator tr G Kr/Kr_i C Gr/Gr-i. The projection Kr —>• Kr/Kr-i = Z/(qrt~1) is the composition £Tr C-> Gr -> Gr/Gr^ =i Z/qr ~~\Z/iqrt-1) (the multiplication by t^1 is defined on the image of Kr) and is thus computable. □ Finally, we show that fully effective polycyclic groups are closed under extensions. We state a more general version of an exact sequence for pointed sets, in which "ker dn" is interpreted as the equivalence relation associated with the mapping dn: Definition 3.9. A semi-effective exact sequence of pointed sets is an exact sequence • • • —> Gn+\ —-—> Gn —!}—> Gn-\ ———> Gn-2 —> ■ ■ ■ of semi-effective pointed sets and computable pointed maps such that the induced maps dn: Gn/ ker dn im dn have computable inverses, called sections. Since G„/kerrf„ is represented by Qn and imrf„ by a subset of Qn—i, this amounts to computable partial mappings pn-\ \ Gn—i---Gn, defined on representatives of im.dn, such that dn[pn-i{^)\ = [7]. In general, it may happen that [7] = [7'], while [pn-i(l)} + [pn-i(Y)]. When the sequence in question is bounded from either side, we ask the condition for all inner maps. (This is the case in our major example.) A semi-effective exact seqeunce (of groups) has all Gn semi-effective groups and all dn homo-morphisms of groups (there is no condition on sections pn-i)- In this case, one may freely pass between images and kernels and, thus, one may write dn : cokerrf„+i —> ker Proposition 3.10. Given a semi-effective short exact sequence of groups 0 —> K -^—t G H —>0 with K, H fully effective polycyclic, it is possible to equip G with a structure of a fully effective polycyclic group. Proof. We denote the inverses p and a. Since / is injective, p induces a well defined mapping (retraction) r: f(K) ->• K. Let H = Hs > ■ ■ ■ > H0 = 0 and K = Kt > ■ ■ ■ > K0 = 0 be subnormal series. Then we have the following subnormal series G = g-'iHs) >■■■> g-\H0) = f{Kt) >■■■> f(K0) = 0 for G with filtration quotients either Hi/Hi—i or Kj/Kj—i, the corresponding projections g 1(Hi) —g—^ Hi —> Hi/Hi-i, and generators either [c(r/j)], where rji represents the generator hi G Hi, or f(kj), where kj G Kj is the generator. □ 8 4. Proof of Theorem C We fix a map /: X —>• Y under A as in the statement. We introduce the following abbreviations Kn = K(irn,n), WKn = WK(irn,n), WKn = WK(irn,n), G„,fe = [Ik x X, Pnff, the last being the set of homotopy classes relative to (dlk x X) U (Ik x A) of maps, whose restriction to this subspace is constant at /. First, we state a number of claims. They all depend on two non-negative integers n and k; for (gen) and (poly) we require k > 1. (gen)„ It is possible to compute generators of Gnjfc. (htpy)„ fe For a given gn: Ik x X —>• Pn, it is possible to compute a homotopy /„ ~ gn, relative to (dlk x X) U (/fe x A), from the map constant at /„ to gn (a "nullhomotopy") or decide that such a homotopy does not exist. (poly)„ fe It is possible to equip Gnjfc with a structure of a fully effective polycyclic group. By (gen)„, we will understand that (gen)„ ^ holds for all k and similarly for other claims. We will now stick to (gen)„, etc. and return to the refined claims later. By Theorem 2.2, in order to prove Theorem C.l, it is enough to prove (htpy)„o f°r n = dimX and, in order to prove Theorem C.2, it is enough to prove (poly)„ i for n = 1 + dimX. We prove the claims inductively in the following way: (gen)„_i (htpy)„_i (poly)„_i To show the claimed implications, we use the following theorem, that will be proved later: Theorem 4.1. Let f:X^Y be a map in A/sSet. Then there is an exact sequence of groups and pointed sets [I x X,Pn^ff Hn(X,A;7rn) [X,Pn]A [X,Pn^]A Hn+1(X, A;nn) where the basepoints of all sets of homotopy classes of maps to Postnikov stages are represented either by f or the constant map at f. Assuming (htpy)n-io, it is a semi-effective exact sequence. Applying Theorem 4.1 to the pair (Ik x X, (dlk x X) U (Ik x A)) in place of (X, A), we get an exact sequence Gn_i,fe+i Hn-k(X, A; irn) Gn,fe Gn_i,fe Hn+1-k(X, A; nn) (3) that is semi-effective under (htpy)„_i Also, by the last paragraph of the proof of Theorem 4.1, it is an exact sequence of groups. Proof of (poly)n (gen)n. This is clear. □ Proof of (gen)n-i + (htpy)n-i (htpy)n. We denote by fi and gi the projections of / and g to the z-th stage of the Postnikov tower. First, using (htpy)„_1; we compute a homotopy h''■ fn-i ~ <7n-i or decide that h! does not exist. Next, we lift h! using Proposition 2.4 to a homotopy hi: f'n — gn. Since pnf'n = pnfn, we may write f'n = fn + (n for a unique map Cn '■ Ik x X —>• Kn, zero on the "boundary". We use (gen)„_i to decide whether e imrf/ and to further compute h" with df[h"] = [Cn]- Using Proposition 5.1, it is possible to find a lift h" that starts at /„ and finishes at fn\ it is computed using Proposition 2.3. Thus, the concatenation h = h! + h", computed by Proposition 2.5, is a homotopy from /„ to gn. If any of h', h" fails to exist, the maps /„, gn are not nomotopic. □ (gen)„ (htpy)„ (poly)n 9 Proof of (htpy)n-i + (poly)n-i =^> (poly)n. The exact sequence (3) induces a short exact sequence 0 —> coker df —Gn,k Vn" > ker knit —> 0 that is still semi-effective - this is easily seen by viewing the sections as maps from the kernel to the cokernel. The first term of the short exact sequence is fully effective abelian by Lemma 3.4 and the last term is fully effective polycyclic by Proposition 3.8; both claims use (poly)„_i. The proof now follows from Proposition 3.10. □ Remark. In more detail, we have proved implications (gen)„_ljfe+1 + (htpy)„_ljfe =^> (htpy)„jfe (gen)„_ijfe+i + (htpy)„_ijfe + (poly)„_ijfe =^> (poly)„jfe (for coker df, generators of G^-i^+i are sufficient). There is a further implication (gen)„_ij~ =>• (gen)„j~ that works only for k > 2: one may compute generators of Gnjc from those of ker kn„. and coker df, clearly, coker df is generated by the images of generators of Hn~k(X, A; jrn) and it is not too difficult to compute a set of generators of ker/«„* from a set of generators of Gn-i,i (denoting these generators ga G &n—i,k, compute relations between the kn*(ga) G Hn+1~k(X, A; 7r„); viewing these as certain integral combinations of the kn*(ga) being zero, the corresponding combinations of the ga generate ker/«„*; in the non-abelian case k = 1, this does not work, since each relation gives rise to infintely many combinations of the ga, varying in the ordering of summands). To summarize, for n = dimX, it is possible to organize the algorithm of Theorem C.2, i.e. the claim (poly)„+ii, in such a way that, in its course, we only use (gen)m2, for m < n, and (poly)mi, for m < n + 1. Similarly, to obtain Theorem C.2, i.e. the claim (htpy)„o; we invoke (poly)„_! i and, thus, we only use (gen)m 2; f°r m < n — 2, and (poly)m 1; for m < n — 1. 5. Proof of Theorem 4.1 First, we introduce a general "exact sequence" that relates the sets of homotopy classes of maps to consecutive stages of a Postnikov tower and that does not depend on the choices of basepoints. Exact sequences. Our (semi-effective) exact sequence will take the following form G^ffO D E ~^ F where D, E are semi-effective sets, F a semi-effective pointed set with basepoint [o] e F, H a semi-effective group and G a semi-effective collection of groups GE indexed by e G £. The maps s and t are computable maps of sets, represented by a and t, the arrow at D denotes a computable action of H on D and d is a computable collection of group homomorphisms dg: Ga^ —> H indexed by 5 G T>. Definition. We say that the above sequence is exact if • ims = t_1([o]), • s(d) = s(d') if and only if d, d' lie in the same orbit of the _ff-action, i.e. d' = d + h for some h G H, and • the stabilizer of [S] G D is exactly the image of dg. We may construct out of this sequence an ordinary exact sequence of semi-effective pointed sets and computable maps (it is not semi-effective - generally, the sections are not computable) in the following way: choose a basepoint 5 G 2? and then consider G^g) H D E F with a(h) = [S] + h, the action of H on the fixed element [S]. It is easily seen to be really exact, where G^g) and H are equipped with the respective zeros as basepoints, D with basepoint [5], E with basepoint [c(5)] and F with the given element [o] G F. 10 Exact sequence relating consecutive stages. By composing a: A —>• Y with various maps in the Postnikov tower of Y, we make all Pn, P„_i, WKn and WKn into spaces under A. Further, Kn is considered as a space under A via the constant map onto the zero of Kn. For the purpose of the description of the exact sequence, we will denote maps X —> Pn-\ by £n-\, £'n-i, etc. and maps X —> Pn by £n, £'n, etc. Our main exact sequence is [/ x X, Pn^f [X, Kn]A Q [X, Pn]A [X, Pn^]A [X, WKn]A, (4) where the first term is a collection of groups, indexed by maps £n-\ : X —> Pn-\ under A, with the corresponding group [I x X, Pn-i\f _± as in Proposition 3.1, i.e. the group of homotopy classes of maps whose restriction to (dlxX)U(IxA) is constant at ln-\- The element [o] e [X, WKn]A is the only homotopy class in the image of Sn*: [X, WKn]A [X, WKn]A (since WKn is contractible, there is a unique homotopy class X —>• WKn, obtained by extending the given A —>• WKn arbitrarily, see e.g. the proof of Proposition 2.3). The maps pnit and knit are induced by pn and kn, respectively. The action is also induced by the action of Kn on Pn. Both maps and the action are clearly computable. It remains to describe the homomorphisms den : [IxX, Pn-i]p ^ ) —>• [X, Kn]A. Starting with a homotopy ft: IxX —>• Pn-i as above, lift it to a homotopy ft: I x X —>• Pn so that its restriction to (0 x X) U(I xA) is constant at the given map £n. The restriction of ft to 1 x X is then of the form £n+( for a unique (: X —>• and we set d^J/i] = [C], a well defined map according to Proposition 5.1 below. Each map dnn is computable by Proposition 2.4. It is also a group homomorphism, since a concatenation of lifts is clearly a lift of a concatenation (namely, ft' + ft = (ft' + () + ft, where ft' + ( denotes the effect of applying the action of the constant homotopy at £ on ft' and is thus a lift of ft' starting at g + £; therefore, ft' + ft ends at (' + (). Proposition 5.1. The homotopy class [£] does not depend on the choices made; thus, dgn is a well defined map. In the opposite direction, if den[h] = [£'], then there exists a lift h' of h that is a homotopy between £n and £n + relative to A. Proof. If h is homotopic to h', by a homotopy relative to (dl x X) U (I x A), and h! is any lift of h', then we may lift the homotopy ft ~ ft' to a homotopy ft ~ ft' relative to (0 x X) U (I x A), that restricts to 1 x X to a fibrewise homotopy £n + ( ~ + relative to A, implying £ ~ thus, is well defined. For the second part, concatenating the homotopy h: £n ^ £n + with the homotopy £n + £ ~ Ai+C' induced from the given £ ~ C'; we obtain h!: £n ^ £n+C■ If the concatenation of homotopies is computed, as in Proposition 2.5, using the lift in (A2 x X) U (A2 x A)-P„ A2 x X--► A1 x X-► P„_i s1xid ft then this concatenation will also be a lift of ft; here s1: A2 —>• A1 is the map sending the non-degenerate 2-simplex of A2 to the si-degeneracy of the non-degenerate 1-simplex of A1. □ Proof of exactness. The exactness at [X, Pn-i]A means that ln-\'- X —>• Pn-\ lifts to Pn if and only if the composition kn£n-\ factors (up to homotopy) through WKn (the basepoint of [X,WKn]A is the unique such homotopy class) and is thus clear. The exactness at [X, Pn]A means that, given two maps £n,£'n: X —>• Pn, their projections to Pn—i, denoted £n-\ = pn£n, £'n-\ = pni'n, are homotopic if and only if £n + £ ~ £'n for some (: X —>• Kn. By lifting a homotopy ft: ~ to a homotopy h: ^ £'n, we may replace £^ by a homotopic map £^ in such a way that = and then the result is clear. 11 To prove exactness at [X, Kn]A, we observe that every homotopy h: ln ~ ln + £ is a lift of its projection therefore, the image of dgn consists exactly of homotopy classes of maps (: X —>• if„ such that ln ~ + £ and this is exactly the claimed exactness. Resulting exact sequence of pointed sets. Let /: X —>• Y be a map in A/sSet. Applying the general construction to (4) yields an exact sequence of pointed sets [/ x X, Pn^ff [X, Kn]A [X, Pn]A [X, Pn^]A [X, WKn]A. (5) Section of pn„. is computed as in the first paragraph of the proof of exactness using Proposition 2.3. A section of a is computed as in the second paragraph of the proof of exactness but with in-\ equal to the basepoint fn-i', we use (htpy)„_i to compute h and then lift it to h using Proposition 2.4. Next, is obtained by restriction and the representative ( is obtained as the "difference" — ín. To finish the proof of Theorem 4.1, we need to identify the second and the last term with cohomology groups. For the second term, we envoke the computable isomorphism [X, Kn]A = Hn(X,A;irn). We recall that WKn is made into a space under A via knan-i, which is generally non-zero, but has an extension knfn-\ : X —> WKn. Thus, we get an isomorphism [X,WKn]A = Hn+1(X,A;Trn), [g] ^ [g - *;„/„_i] where g — knfn-\: X —> WKn is a map that is zero on A and as such can be thought of as a relative cocycle. The inverse map is obtained by adding knfn-\ and, thus, both directions are computable. Case of groups. It remains to show that (3) consists of group homomorphisms for k > 1. This has been proved for df with respect to addition in Kn and the remaining maps are clearly homomorphisms with respect to concatenation of homotopies. By Eckmann-Hilton argument, the various group structures coincide. References [1] E. H. Brown (jun.). Finite computability of Postnikov complexes. Ann. Math. 65 (1957), 1-20. [2] M. Čadek, M. Krčál, J. Matoušek, F. Sergeraert, L. Vokřínek, U. Wagner. Computing all maps into a sphere. J. ACM, 61 (2014), 17:1-44. [3] M. Čadek, M. Krčál, J. Matoušek, L. Vokřínek, U. Wagner. Polynomial-time computation of homotopy groups and Postnikov systems in fixed dimension. SIAM J. Comput., 43 (2014), 1728-1780 [4] M. Čadek, M. Krčál, L. Vokřínek. Algorithmic solvability of the lifting-extension problem. Discrete Comput Geom (2017), doi: 10.1007/s00454-016-9855-6 [5] J. P. May. Simplicial Objects in Algebraic Topology. University of Chicago Press, Chicago, IL, 1992. [6] P. S. Novikov. On the algorithmic unsolvability of the word problem in group theory (in Russian). Trudy Mat. Inst. im. Steklova 44 (1955), 1-143. [7] C. C. Sims. Computation with Finitely Presented Groups. Cambridge University Press, Cambridge, 1994. [8] J. Rubio, F. Sergeraert. Constructive homological algebra and applications. Preprint, arXiv: 1208.3816, 2012. Written in 2006 for a MAP Summer School at the University of Genova. [9] A. Storjohann. Near optimal algorithms for computing Smith normal forms of integer matrices. In Proceedings of the 1996 international symposium on Symbolic and algebraic computation, ACM, 267-274 12 Constructing homotopy equivalences of chain complexes of free ZG-modules Lukas Vokffnek Abstract. We describe a general method for algorithmic construction of G-equivariant chain homotopy equivalences from non-equivariant ones. As a consequence, we obtain an algorithm for computing equivariant (co) homology of Eilenberg-MacLane spaces K(ir,n), where tt is a finitely generated ZG-module. The results of this paper will be used in a forthcoming paper to construct equivariant Postnikov towers of simply connected spaces with free actions of a finite group G and further to compute stable equivariant homotopy classes of maps between such spaces. The methods of this paper work for modules over any non-negatively graded differential graded algebra, whose underlying graded abelian group is free with 1 as one of the generators. 1. Introduction Notation. In this paper, G will stand for a fixed finite group. Its (integral) group algebra will be denoted Q = ZG. A chain complex of free abelian groups will be called a TL-complex. It is said to be locally finite, if it consists of finitely generated abelian groups. Similarly, a chain complex of free tj-modules will be called a Q-complex. A homomorphism of tj-modules or chain complexes will be also called a ^-linear map or an equivariant map. Introduction. It is well-known, that a Z-complex is homotopy equivalent to a locally finite Z-complex if and only if its homology groups are finitely generated. The same is true for ^-complexes equivariantly. In this paper, we are interested in constructing such homotopy equivalences algorithmically. Namely, we present an alogrithm that, given a non-equivariant homotopy equivalence of a tj-complex M with some locally finite Z-complex, constructs a ^-linear homotopy equivalence of M with a locally finite tj-complex. Our main application is to the so-called effective algebraic topology, which studies simplicial sets (often infinite) from the effective, i.e. algorithmic, point of view, e.g. computes their homotopy groups. These simplicial sets are accessed via 2010 Mathematics Subject Classification. Primary 18G10; Secondary 68W30. Key words and phrases, chain complex, homotopy module, reduction, homotopy equivalence, transfer. The research was supported by the Grant agency of the Czech republic under the grant P201/12/G028. 2 LUKÁŠ VOKŘÍNEK their chain complexes which, although infinite, often admit a computable homotopy equivalence with a locally finite chain complex. Introduced by Sergeraert, these are called simplicial sets with effective homology (see e.g. [8] or [2]). Building on this notion, we proved in [2] that all finite simply connected simplicial sets have a Postnikov tower consisting of simplicial sets with effective homology and indeed with polynomial-time homology (the running times of the involved algorithms are polynomial). With the results of this paper, we will show in [1] that the same is possible for finite simply connected simplicial sets equipped with a free action of G. In the case G = Z/2, this leads to the solution of the problem "Does a simplicial complex K embed into Rd?" in the so-called meta-stable range dim A' < |rf — 1, which was left open in [6]. In this paper, we will show, as a demonstration of our main theorem, that the Eilenberg-MacLane space K(Tr,n), where tt is a finitely generated ^-module, can be equipped (equivariantly) with effective homology; this is at the same time an important step in the general case mentioned above. As a consequence, the equi-variant homology and cohomology of K(tt, n) is algorithmically computable. This generalizes the well-known result [3] of Eilenberg and MacLane to the equivariant situation. Our methods are completely general and as such work for modules over an arbitrary differential graded algebra 7Z, which is non-negatively graded and whose underlying graded abelian group is free with 1 as one of the generators. We will thus present most of our results for 1Z and only for the applications we will restrict to g. We will also briefly investigate the running times of the algorithms in this paper - they turn out to be polynomial when the group G is fixed and the dimensions of the elements are bounded by a fixed number d. The meaning of polynomiality in this context requires further explanation; see Section 8. Outline. The construction of the ^-linear homotopy equivalence proceeds as follows. Starting from a non-equivariant homotopy equivalence M ~ N of a Q-complex M with a Z-complex N, we put on N the structure of an "up to homotopy" C?-complex. This structure is analogous to the Aoo-structure living on a chain complex homotopy equivalent to a dga. The ^-complexes are dg-modules for a dga Q concentrated in dimension 0 and similarly the up to homotopy version is governed by a dga which we call Qx, not concentrated in dimension 0 anymore. The chain maps M —> N and N —> M are not tJoo-linear however. They are some relaxed versions, which we call tJoo-chain maps. The homotopies are not even tJoo-maps! There is a way of strictifying Q^-mwps by passing to certain "cofibrant replacements" BM and BN of the tJoo-modules M and N (they are perturbations of the usual bar construction), while the new chain homotopies for these strictifications have to be constructed differently. In the end, we replace the homotopy equivalence M ~ N by a ^-linear homotopy equivalence BM ~ BN. The last step is to construct a ^-linear homotopy equivalence BM ~ M. We give precise statements in Section 3 and proofs in Sections 8 and 9. 2. Basic conventions All our chain complexes will be non-negatively graded and of the homological type, i.e. the differential d will be of degree —1. This applies also to differential constructing homotopy equivalences of zg-complexes 3 graded algebras where we assume of course that d is a graded derivation, d(x ■ y) = dx ■ y + (—l)b'l • x ■ dy. Given two chain complexes C and D, we form their tensor product C D whose degree n part is (C g is defined by (/ g)(x y) = {—l)\g\'\x\ ■ fx gy. The differential on C d. For two chain complexes C and D, we form the unbounded1 chain complex Hom(C", D) with OO Hom(C, D)k = H Hom(C„, Dn+k). n=0 and the differential which we denote [d,f] = df - (-l)lfl ■ fd (it is a graded commutator) where |/| is the degree of /, i.e. / e Hom(C, D)\j\- In this way, / is a chain map if [d, f] = 0 and h is a homotopy between / and g if [d, h] = g — f. We will also use the graded Leibniz rule [d,fg] = [d,f]g + (-l)M-f[d,g]. We will denote the suspension of a chain complex C by sC. It is defined as (sC)n = Cn-i with differential —d. A good explanaition of this sign change starts by considering the (identity) map s: C —> sC and writing elements of sC as sx. Postulating s to be a chain map of degree 1, the differential on sC is forced to dsx = —sdx. A chain map / of degree k is alternatively a fc-cycle of Hom(C, D) or a chain map skC —>• D of degree 0. 3. Reductions and effective homological algebra Definitions. By a reduction (strong deformation retraction) (a, /3,rf): C D, we will understand the following pieces of data: • a pair of chain maps a:C—>Z?, j3: D —> C of degree 0, called the projection and the inclusion respectively, and a map n: C —> C of degree 1, called the homotopy operator, satisfying • aj3 = id, [d, rj\ = id —j3a (i.e. n is a chain homotopy from j3a to id) and • an = 0, rjj3 = 0 and nn = 0. The last three conditions will be important later2. In our case, we will be interested in a special class of reductions which we call locally effective. For those both chain complexes and all maps have to be locally effective, where: • the local effectivity of a chain complex means that one is able to represent its elements in a computer and there are algorithms provided that compute all the relevant operations - the addition, scalar multiplication, and the differential; • the local effectivity of a (not necessarily chain) map means that there are algorithms provided which compute the value on an arbitrary element. Alternatively, one may take its truncation by throwing away all negatively graded pieces and replacing the 0-chains by 0-cycles, i.e. chain maps. 2On the other hand, it is known that by replacing an arbitrary chain homotopy w from fict to id by ((id — /3a)n(id — /3a))<9((id — /3a)n(id — /3a)), the additional relations will start to hold. 4 LUKÁŠ VOKŘÍNEK In the applications, we will need a more general concept than that of a reduction. A strong equivalence C •<=> D is a span of reductions C ■<= C => D. Again, we will be interested in locally effective strong equivalences - those, where both reductions are locally effective. The statement of the main theorem. We are now ready to state our main theorem. THEOREM 1. There exists an algorithm which, given a locally effective Q-complex M and a locally effective strong equivalence M •<=> N, constructs a Q-linear locally effective strong equivalence M •<=> N'. When N is locally finite, so is N'. The construction of M •<=> N' from M •<=> N is polynomial-time in an appropriate sense; in Section 8, we will briefly explain the exact meaning of this claim and give a proof. This theorem will be used in [1] in the following manner. We will be given an infinite, but locally effective ^-complex M, which we would like to compute with equivariantly. A typical example of such a complex is the chain complex of an infinite simplicial set, such as the Eilenberg-MacLane space K(ir,n), see the corollary below. By non-equivariant considerations, we will be able to construct a strong equivalence of M with a locally finite Z-complex, making it possible to perform any (co)homological computations with the original complex M. By Theorem 1, we will obtain a ^-linear strong equivalence, making it possible to perform even equivariant (co)homological computations. COROLLARY 2. There is an algorithm that, given a finitely generated Q-module tt and natural numbers n and k, computes Hj?(K(Tr,n)) and Hq(K(tt, n)). Both statements will be proved later, Theorem 1 in Sections 8 and Corollary 2 in Section 9. Modules over differential graded algebras. Let 1Z be a differential graded algebra or, for short, a dga. Let M be a left TvL-module (more precisely differential graded 1Z-module), i.e. a chain complex M equipped with a chain map 1Z M ->• M, satisfying the usual axioms of a module. The chain condition is equivalent to the Leibniz rule d(rx) = (dr)x + (—l)'r' • r(dx) for the scalar multiplication. There is a left 7?.-module structure on sM given by r ■ sx = (—l)'r' • s(r ■ x). It is easy to verify that the resulting 1Z • sM is really a chain map (while the version with no sign fails to be). An 1Z-linear map / of degree A; is a map of degree k satisfying r ■ fx= (-1)I/I-H -f(r-x). In particular, s: M —>• sM is TvL-linear and this fact may serve as the definition of the 1Z-module structure on sM. Alternatively, a map /: M —>• N of degree k is TvL-linear if and only if the corresponding map /: skM —>• N of degree 0 is TvL-linear (i.e. commutes with the action of 1Z in the non-graded sense). constructing homotopy equivalences of zg-complexes 5 Constructing reductions. We will now rephrase the conditions on a (locally effective) reduction - our version is a considerable weakening that proves useful when working equivariantly. The chain complexes in this section will be modules over a differential graded algebra 1Z and all maps will be assumed to be 7?.-linear but not necessarily chain maps. First, let there be given an 7?.-linear reduction (a,j3,nf): C => D. Then, by an = 0 and nf3 = 0, one may think of n as a map n': ker a = C/ im j3 —> ker a of degree 1. As such, the condition [d,n] = id— f3a is translated into [d,r]'] = id, i.e. rj is a contraction of ker a. On the other hand, it is possible to construct a homotopy n from any contraction n' of ker a by projecting to ker a via id —j3a, i.e. n = n' (id —j3a). We have thus shown so far that a reduction can be specified by a chain map a, its section f3 and a contraction rf of ker a satisfying rfrf = 0; we stress here that the chain complex ker a does not depend on the section j3. It is well known that a chain complex of projective modules admits a contraction if and only if it is acyclic. An analogous result holds in the algorithmic setup, once we define all the required notions. We will say that a locally effective 1Z-module F is free as a graded IZ-module if it is provided with an algorithm that expresses its elements as (unique) combinations of some fixed homogeneous basis3. The basis is not required to be compatible with the differential - in effect, F is free as a graded 1Z-module and not as a (differential graded) 7?.-module. Similarly, we will say that a locally effective 7?.-module is projective as a graded IZ-module if it is equipped with a locally effective (i.e. computable) retraction id: P A F A P from some TvL-module F that is free as a graded TvL-module. Again, the maps are not assumed to be chain maps, but are required to be 7?.-linear. The projective modules have the following property: whenever there is given an "algorithmically certified" surjection A —> B, i.e. a map together with an algorithm that computes for each element of the codomain B its (arbitrary) preimage, there exists an algorithm that computes a lift in any diagram A / / / * P->B This lift is computed through the retraction. Namely, one computes a lift of the composition F A P —>• B by specifying its values on the basis using the algorithmic (set-theoretic) section and then the resulting lift F —>• A is composed with the inclusion P A F —>• A to obtain a lift in the original diagram. This is of course very classical, but we wanted to point out that the same idea works, with correct definitions, also in the algorithmic setup. We return now to the relationship between acyclicity and contractibility. Let C be an 7?.-module, projective as a graded 7?.-module, which is "algorithmically acyclic": this means that there exists an algorithm that computes, for each cycle z G C, some c G C with the property z = dc. Then one can construct a contraction 'Typically, the elements of F are represented in a computer directly as such combinations. 6 lukáš vokřínek a of C recursively. For simplicity, we assume that C is itself free as a graded 1Z-module with Bn the part of the basis of degree n. We assume that a is already defined on the TvL-submodule C^™-1) generated by Bq U • • • U Bn-i, and satisfies [d, a] = id. Since dBn C C*^-1), the mapping id—ad is defined on Bn and we may compute a lift in Cn+i Sn —--ivn id —era by the algorithm for a section of d provided by the acyclicity of C. We then extend a from C^™-1) U Bn uniquely to an 7Z-linear map defined on C^n\ Since both [d, a] = da + ad and id are TvL-linear and agree on C*^-1) U Bn they agree on This finishes the induction. Finally, to get aa = 0, replace a by ada. We have thus almost finished the proof of the following technical lemma. Lemma 3. Let a: C —> D be an IZ-linear chain map for which the following conditions hold: (1) As a graded IZ-module, C is free (or more generally projective) in the locally effective sense as above. (2) The map a: C —> D is provided with a locally effective IZ-linear section /?o: D —> C (which needs not be a chain map). (3) There is an algorithm that computes, for each cycle z G kera, some chain r/oz G kera with the property dr/gz = z. Then one can construct an IZ-linear reduction (a,P,rj): C => D. Proof. First we observe that kera is projective as a graded TvL-module - it retracts off C with the projection C —> kera given by id— f3ga. Thus, by the above, one may construct a contraction rj' of ker a from the algorithm r/Q. The only remaining step is to construct a section f3 that is a chain map. We set /? = /?0-?/[5,/?0], which is well defined as [d, /?o] takes values in ker a by a[d, A,] = [d, aPo) - [d, a] A, = [d, id] = 0. id 0 As y' also takes values in ker a we have aj3 = afto = id. Finally, j3 is a chain map: [d, /?] = [d, ft] - [d, r,'] [d, A)] + v' [d, [d, A)]] = o. □ 4. Bar construction A useful sign convention. We will be using in the proceeding the following abbreviation. When xk are elements of a graded abelian group, we denote = \Xi\ + ---+\Xj\. constructing homotopy equivalences of zg-complexes 7 Bar construction. Let M be a left TvL-module and N a right TvL-module and consider the following graded abelian group B(1Z, 1Z, M) = 0 1Z ® (slZ)®m ® M m>0 whose elements we write as ro|ri| ■ ■ ■ \rm ® x (the bar | is a shorthand for ®s) and with the differential d = d® + <9alg, where d® = d® + • • • + d®+1 for the operators df(r0\■■■\rm®x) = (-l)*+Ho...*-i . rQ\.. . \drk\...\rm®x dZ+i(ro\■■■\rm®x) = (-1)™+^°-™ ■ r0\■ ■ ■ \rm ® 8x, with 0 < k < m (d® is the differential on the tensor product 1Z ® (slZ)®m ® M), and where <9alg = <9plg + • • • + d^+1 for the operators dfclg(r0| ...\rm®x) = (-^fc-i+Ho...*-! . r„| . .. \rk^rk\ ■ ■ ■ \rm ® x %?+i(ro\ ■■■\rm®x) = (-l)"»+Ho..—i . r„| . .. «g, rmx, with 0 < k < m (the index alg stands for "algebraic"). We remark that it is more customary to suspend M too but this convention produces horrible signs later on. The reason is that the above bar construction B(1Z, 1Z, M) will codify, after perturbing its differential, the action of Q)m>07Z ® (slZ)®m (which we will make into an algebra in the next section) on M rather than on sM. We define the augmentation map e: B(1Z, 1Z, M) —>• M by e(tq ® x) = r$x and by sending all longer tensors to zero, s(r0\ ■ ■ ■ \rm ® x) = 0 for m > 1. THEOREM 4. Suppose that, as a graded IZ-module, M is free. Then the augmentation map e: B(7Z, 7Z, M) —> M is a projection of an IZ-linear reduction. Proof. By Lemma 3, we need to construct a section and a non-equivariant contraction of ker e (which is even stronger than the requested algorithm). To define a section t0 start with some TvL-basis of M and specify to(x) on a basis element x by l0(x) = 1 ® x e BM0. A non-equivariant contraction of ker e is given by Co : r01 • • • \rm ® x 1 \r0 \ ■ ■ ■ \rm ® x. It is obvious that [d®, Co] = 0 and that [9alg, (o]z = z for all z of length m > 0. Let finally z be of length m = 0. Then d^Coz = z + 1 ® ez. Thus, on elements of kere of length 0, we also obtain [dalg, Co] = <9algCo = id. □ Remark. The same is true when M is merely projective as a graded TvL-module. 5. Homotopy 7^-modules It is well known that the structure of a module over a differential graded algebra is homotopy invariant, i.e. passes to homotopy equivalent chain complexes, when the dga in question is cofibrant (see e.g. [5]). In our applications, we are interested in modules over the dga Q = ZG which is not cofibrant. We will therefore be interested in its cofibrant replacement, which we will call Qx. Any chain complex of tj-modules will then automatically be a tJoo-module and this structure will pass to all homotopy equivalent chain complexes. 8 lukáš vokřínek Since we are interested in computations with these modules, a mere existence is not sufficient. We will therefore not need to prove that is indeed a cofi-brant replacement of Q but we will concentrate on algorithms for the transfer of the structure of a ^oo-module. In this section, we introduce more generally, for an essentially arbitrary dga 1Z, its replacement TZoq. In the next section we continue with describing the transport of the structure along homotopy equivalences (reductions). The differential graded algebra IZoo. Let 1Z be a differential graded algebra which is free as a graded abelian group. Its basis elements will be called the generators of 1Z and we assume that the unit 1 of the algebra is one of them. We will now describe its replacement IZoo = flBTZ. As an associative unital graded algebra, it is generated by the graded abelian group ©m>0 1Z 0 1Z• 1Z sending (r) to r and the remaining generators to 0. It admits an obvious section 1Z —> JZoo which is only a chain map - it does not respect the multiplication. The algebra TZ^ has a natural filtration by subcomplexes lZd which are formed by elements of length at most d where the length of a product is £(pipn) = ipi H-----\~ipn and the length of a generator is £(ro,..., rm) = m + 1. Clearly, one has TZd ■ 7Ze C 1Zd+e and IZoo =\Jdnd- Theorem 5. The map lZd —> 1Z is a projection of a reduction for all d > 1. 4By the form of the differential it is clear that TZao is a cellular dga: it is generated by (ro,rm) with 'i"0i • • • i rm generators of 7Z, none of which is 1 and may be added according to their dimension and glued by their boundary. In particular, TZoc is indeed cofibrant. d(ro,...,rm) = J2(-l)k+M°-k-1 ■ m _l_ ^(_i)fc-i+Mo... fe=i m constructing homotopy equivalences of zg-complexes 9 Proof. For d = 1 the map is an isomorphism. The contraction rj'd of the quotient TZd/TZd^x is given by (r) ■ (r0, ■ ■ ■ , rm) ■ p '—> (-l)lrl+1 ■ (r,r0,.. . ,rm) ■ p if the first factor has length 1 (and is not the sole factor), while the contraction is defined to be 0 on the remaining additive generators. One may then define a homotopy rjd on lZd by extending the above to the generators of lZd~x by 0. It is a homotopy of id with some map pd = id—[d, rjd] ■ TZ>d —>• lZd~x. The deformation of lZd is then given as Vd + Vd-i(id-[d,T]d])-\-----h t/2(id -[<9, t/3]) ■ ■ ■ (id -[<9,7/d]), clearly a homotopy between id and the projection P2 ■ ■ ■ Pd - TZd —> 1Z1 = 1Z. □ Remark. It is very simple to compute p^ = id — [<9, rjj] directly and thus to simplify the computation of the overall contraction. The value on (r) ■ (ro,..., rm) ■ p is (rro, ri,..., rm) ■ p, the value on (r, s) ■ (ro,..., rm) ■ p is (—1)Is ■ (rs, ro,..., rm) ■ p and is zero otherwise. Corollary 6. The map TZoo —> 1Z is a projection of a reduction. □ 6. Transfer of the structure In this section, we will describe how a structure of an T^oo-module is transported along a reduction. There are two directions, which we call "easy" and "basic" in accordance with the easy and basic perturbation lemmas of homological perturbation theory, see e.g. [8, Section 4.8]. The easy case. We assume here, that 1Z is augmented5. Let (a, /3, 77): M => N be a reduction and let N be equipped with a structure of an T^oo-module. Then we define an T^oo-module structure on M by px = j3pax, whenever p = (ro,.. ., rm) G TZoo with all ri in the augmentation ideal. Since the augmentation ideal is closed under d, the Leibniz rule d(px) = P{dp)ax + (-l)|p| • Ppa{dx) = (dp)x + (-1)^ • p(dx) holds for p. When some is a multiple of 1, the action is given by the axioms of an T^oo-module and the Leibniz rule is automatically satisfied for such p. Therefore, M is indeed an T^oo-module. All the maps a, j3 and 77 are T^oo-linear and thus M => N is in fact an TZoq-linear reduction. We will explain in Section 8 how to replace this reduction by an 7?.-linear one in a more general context which applies also to the transfer in the opposite direction. 5More generally, when there is given an arbitrary Z-linear map e: TZo —> 7L satisfying e(l) = 1 (which exists by our assumption of freeness of 7^o)i we may set px = ft pax when p = (ro,..., rm) with m > 2 and (r)x = f3(r)ax + e(r) • (id — fia)x + e(dr) ■ nx, (r, s)x = /3(r, s)ax + (e(rs) — e(r) • e(s)) ■ nx. 10 lukáš vokřínek The basic case. Let (a, 8,;/): M N be a reduction and let M be equipped with a structure of an T^oo-module. We first define the following family of maps M M Sh(r0,. .. ,rm)x = (r0, .. ., rkl-i)ri • • • rj(rkn, .. ., rm)x n>0, 0 £ the following hold (d^d+ + d+d^)(r0\---\rm®x) = 0 (8^8® + <9<8><9fc )(r0| • • • |rm x) = -r0\ ■ ■ ■ \rk-i ® (dalg(rfe,..., rm))x, which sum up to 8k8 + (8® + 8+)8k = 0. Summing up further over k and together with the previous (8® + 8+)2 = 0, we finally obtain 82 = 0. □ The reduction BM M. There are obvious chain maps eo: BM —>• M, the augmentation, given by £o(fo\ ■■■\rm®x) = (r0,. . .,rm)x, and lq : M —>• BM, to(x) = 1 ® x. Together with the homotopy operator Co0"o| ■■■\rm®x) = lko| ■■■\rm®x, they expresses M as a deformation retract of BM. There is no sense in speaking about any equivariance here - M is an TZ^-complex, while BM is an 7?.-complex and none of these maps is T^oo-linear. In the special case of an TvL-module M, the projection eo : BM —>• M is TvL-linear - in fact, BM = B(1Z, 1Z, M) and eo is the augmentation of Theorem 4. As observed in that theorem, it is a part of an 7?.-linear reduction. This will be important later. 8. Homotopy 7^-linear maps Definition 10. An TZ^-map of degree d is a map /: BM —>• BN of the form m f(r0\■■■\rm®x) = J2(-l)d(k+Mo-k) ■ r0\■ ■ ■ \rk ® /m_fe|rfe+1| ■ • • \rm)x k=0 for some maps h: (sfl)®1 Hom(M, N) of de gree d, which we call the components of /. We will write /*: M —>• N to denote the collection of the fg. We will be interested mostly in T^oo-chain maps (i.e. T^oo-maps which are at the same time chain maps) of degree 0 but it is convenient to have also a notion of an T^oo-homotopy. In the following proposition, we understand (slZ)®^ equipped with the differential 8®. Proposition 11. Let f be an IZco-map of degree d. Then the differential f = [d, f] is an IZca-map of degree d—1 whose components f[ satisfy the equations [d,ft]\ri\---\re) = fi\r1\---\re) e + £(-l)<*(*+Hi...*) . (ri;. .. trk) a fe_k\rk+1\- ■ ■ \re) k=l e-i + J2(-l)k+d+Ml-k ■ ft-i\ri\- ■ ■ \rk ■ rk+1\ ■ ■ ■ \re) k=l e-i + J2(-l)k+1+d+Ml-k ■ AM ■ • • \rk) o (rk+1, (A) fe=0 where the elements ofTZ^ in the second and the fourth row are to be interpreted as their respective images in Hom(A, N) and Hom(M, M). constructing homotopy equivalences of zg-complexes 13 In particular, f is an TZ^-chain map of degree d if and only if the equations (A) are satisfied with fj, = 0. Remark. Another point of view is that the fi are maps —> Hom(M, N) of degree d + i. If we adopted different sign conventions on the algebra TZ-oo and the bar construction BM, these would get the following interpretations: fo is a map, which preserves the action of r £ 7Z up to homotopy fi\r) and a coherent system of higher order homotopies /2|»"i|»"2)i etc. Proof. Throughout the proof, we will use maps tpg : of degree d + 1, given by p>e(ri\ ■ ■ ■ \re <8> x) = fe\ri\ ■ ■ ■ \ri)x. Their differentials are related to those of fn in exactly the same manner, [d, H(ri| • • • \n ®x) = [d, fe]\rx \ ■ ■ ■ \re)x. We will also abbreviate z = r± \ ■ ■ ■ \rg e0z, f(r0\z) = (-l^+M) • r0\fz + . r0 ® ^maxz, (*) where e0: BM —> M is the augmentation and • gk\n\- ■ ■ \rk) o ft-k\rk+1\- ■ ■ \re). fe=0 The composition is associative with unit id: BM —>• BM, whose components are ido = id and id^ = 0 for all £ > 0, see also the first example below. Example. • Any T^oo-linear map /o: M —>• N extends to an T^oo-map /: BM —>• BN with components fg = 0, for all £ > 0. By (A), the association /o >->• / is compatible with differentials. In particular, if /□ is a chain map then so is /. • The projection e0: BM —> M can be made into an T^oo-chain map : BM —> M by ee\ri\ ■ ■ ■ \rt)(r0\ ■■■\r'm®x) = (-1)'+Hi-' . (r1;... ,re,r'0,..., r'm)x. The inclusion lq : M —>• BM can be made into an T^oo-chain map i*: M —>• BM by • • • Mx = ikil • • • Vn ® x- We have et = id, while the other composition te is T^oo-homotopic to id via the T^oo-homotopy with components Ci\ri\ ■ ■ ■ \rt)(r'0\■ ■ ■ \r'm ® x) = (-l)<+Hi-< . l|ri| . .. \re\r'0\ ■■■\r'm®x. Put together, they give an T^oo-reduction (e*, i*, £*): BM M. Transfer of the structure, the easy case. We observed that an T^oo-module structure on N makes M => N naturally into an T^oo-linear reduction. By the above example, it induces an TvL-linear reduction BM BN. Transfer of the structure, the basic case. Suppose now that M is an IZoo-module and that there is given a reduction (ao, /?o, rjo): M => N. We will extend a0 and f30 to T^oo-maps a* and With a bit of extra work on the homotopy operator later in the section, we will obtain an 7?.-linear reduction BM => BN. The respective components of a* and /3* are ol(\rA- ■ ■ \rdx = (-iy+|r|l-- N does not extend to an T^oo-map in general. We will construct an TvL-linear homotopy operator for BM BN directly. Proposition 12. There exists an IZ-linear reduction (a, /?,77): BM =>• BN, where a and j3 are the IZco-chain maps constructed above. PROOF. We will use abbreviations 770 = id | • • • | id BN. By the explicit form of the involved operators, it is clear that this construction is algorithmic. The reduction on the left is given by Theorem 4 and the fact that BM = B(Q, Q, M). □ Polynomiality. Let the finite group G be fixed. Assume that all the algorithms involved m M, N (including the action of G on M) and in the strong equivalence M •<=> N have running times bounded by a polynomial function (size a;) when the inputs x are restricted to dimensions |x| < d. It is then clear from our formulas that the same will be true for the strong equivalence M •<=> BN with the corresponding running time bound depending only on the original bound pd- This is important in the parametrized context that follows. In [2], the authors defined a "chain complex with polynomial-time homology" as a parametrized family M(i) •<=> N(i) of strong equivalences as above where • the algorithms take as inputs pairs (i, x) with iela parameter and x the input data for the considered computation in M(i) •<=> N(i), • the running times of these algorithms are bounded by pd(sizei + size a;) and • a further algorithm is required that outputs a basis of each Nn(i), n < d, with running time bounded by p^(sizez). Then, given such a family, Theorem 1 constructs another family M(i) •<=> BN(i), this time "with equivariant polynomial-time homology" . For the last point, observe that the rank of (BN(i))n over Q is n vk(BN(i))n = J2 \G\m-ANn_m(i) m=0 and thus bounded by a multiple of Pd(i)', moreover, each basis element of BN(i) is computed from the respective basis element of N(i) in linear time. 9. The equivariant (co)homology of Eilenberg-MacLane spaces The proof of Corollary 2. Let WG denote the total space of the universal principal twisted cartesian product WG —>• WG, see e.g. [7]. Since G is finite, WG is a locally finite simplicial set and thus C*WG is a locally finite Z-complex. The standard results of effective algebraic topology, see e.g. [2, Theorem 3.16], provide a strong equivalence of C*K(tt,n) with a locally finite Z-complex D (one says that K(tt, n) has effective homology). The Eilenberg-Zilber theorem, or rather its algorithmic version, see e.g. [8, Theorem 124], then provides a reduction M = C*(WG x K(tt,ti)) C*WG (g> C^K(tt,ti). Composing with the previous, one obtains a strong equivalence M 4=> C*WG N be the bottom part of an IZco-chain map g* of degree d and let g0 be homotopic to f0. Then one can extend f0 to an TZ^-chain map /*. Proof. By the additivity of the equations (A), it is enough to extend any null-homotopic fo = [d, rj\ to an T^oo-chain map /*. We set Mri\---\re) = (-l)d+1-h(ri,---,re)]. Then by the graded Leibniz rule, [d, fe]\ri\ ■ ■ ■ \rg) equals • [d, [V, (n,re)]] - (-l)d ■ fed®\n\- ■ ■ \re) = (-l)d+1 ■ [[d, rj], (n,..., re)] + [??, d(nre)] - h 0® (n,..., re)] = • [fo, M ■ ■ ■, re)] + [V, 9alg(r1;..., re)]. The first term equals • f0(n, ...,re) + (-l^+Mi...*) . (r1;. . .,re)f0 and the second term, by the definition and the graded Leibniz rule again, equals e-i £(_l)*-i+Hi...* . [rfj (ri;.. .,rkrk+1,re)] k=l e-i + J2(-l)k+Ml-k -hin,---, rk)(rk+1,re)] k=l e-i = £(-l)fe+d+Hl-fc • fe-i\n\- ■ ■ \rkrk+1\■ ■ ■ \re) k=l e-i + J2(-l)k+1+d+Ml-k ■ AM ■ • • \rk)(rk+1, ...,re) k=l e-i + J2(-l)dik+lrW--k) -in,.. .,rk)fe-k\rk+1\- ■ ■ \re). k=l Consequently, the fe satisfy the equations (A) with f'e = 0 and thus prescribe an T^oo-chain map of degree d. □ A note on dg-categories. The results of this paper work for any locally free dg-category instead of a dga 1Z. The definition of an T^oo-map is a more economic version of a Coo-module for the dg-category z f C = K®{*—-^*) describing 7?.-linear maps: it consists of two objects with endomorphisms forming 1Z and a map / of degree d between them respecting this action. The corresponding 18 lukáš vokřínek components of an T^oo-map are as follows e ft\ri\- ■ ■ \rt) = J2(-l)(d+1)(k+Ml-k) -in,-- -,rk, f, rk+1,. .. ,re). k=0 References [1] M. Čadek, M. Krčál and L. Vokřínek. Algorithmic solvability of the lifting-extension problem. Preprint, arXiv: 1307.6444, 2013. [2] M. Čadek, M. Krčál, J. Matoušek, L. Vokřínek and U. Wagner. Polynomial-time computation of homotopy groups and Postnikov systems in fixed dimension. Preprint, arXiv:1211.3093, 2012. [3] S. Eilenberg and S. MacLane. On the groups H(Tl, n), II: Methods of computation. Ann. of Math. (2), 60 (1954), 49-139. [4] R. Kannan and A. Bachem. Polynomial algorithms for computing the Smith and Hermite normal forms of an integer matrix. SIAM J. Computing, 8 (1981), 499—507. [5] M. Markl. Homotopy algebras are homotopy algebras. Forum Math., 16 (2004), 129—160. [6] J. Matoušek, M. Tancer and U. Wagner. Hardness of embedding simplicial complexes in Ed. J. Eur. Math. Soc, 13 (2011), 259-95. [7] J. P. May. Simplicial objects in algebraic topology. Chicago Lectures in Mathematics. University of Chicago Press, Chicago, IL, 1992. [8] J. Rubio and F. Sergeraert. Constructive algebraic topology. Bull. Sci. Math., 126 (2002), 389-412. Department of Mathematics and Statistics, Masaryk University, Kotlářská 2, 611 37 Brno, Czech Republic E-mail address: koren@math.muni.cz