Computing Homotopy Classes for Diagrams

We present an algorithm that, given finite diagrams of simplicial sets X, A, Y, i.e., functors \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathcal {I}}^\textrm{op}\rightarrow {\textsf {s}} {\textsf {Set}}$$\end{document}Iop→sSet, such that (X, A) is a cellular pair, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dim X\le 2\cdot {\text {conn}}Y$$\end{document}dimX≤2·connY, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\text {conn}}Y\ge 1$$\end{document}connY≥1, computes the set \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$[X,Y]^A$$\end{document}[X,Y]A of homotopy classes of maps of diagrams \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ell :X\rightarrow Y$$\end{document}ℓ:X→Y extending a given \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$f:A\rightarrow Y$$\end{document}f:A→Y. For fixed \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n=\dim X$$\end{document}n=dimX, the running time of the algorithm is polynomial. When the stability condition is dropped, the problem is known to be undecidable. Using Elmendorf’s theorem, we deduce an algorithm that, given finite simplicial sets X, A, Y with an action of a finite group G, computes the set \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$[X,Y]^A_G$$\end{document}[X,Y]GA of homotopy classes of equivariant maps \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ell :X\rightarrow Y$$\end{document}ℓ:X→Y extending a given equivariant map \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$f:A\rightarrow Y$$\end{document}f:A→Y under the stability assumption \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dim X^H\le 2\cdot {\text {conn}}Y^H$$\end{document}dimXH≤2·connYH and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\text {conn}}Y^H\ge 1$$\end{document}connYH≥1, for all subgroups \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$H\le G$$\end{document}H≤G. Again, for fixed \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n=\dim X$$\end{document}n=dimX, the algorithm runs in polynomial time. We further apply our results to Tverberg-type problem in computational topology: Given a k-dimensional simplicial complex K, is there a map \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$K\rightarrow {\mathbb {R}}^d$$\end{document}K→Rd without r-tuple intersection points? In the metastable range of dimensions, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$rd\ge (r+1) k+3$$\end{document}rd≥(r+1)k+3, the problem is shown algorithmically decidable in polynomial time when k, d, and r are fixed.


Introduction
Determining information about the set of homotopy classes of maps [X, Y ] between topological spaces X, Y is one of the classical problems of algebraic topology. Indeed the research in particular instances of the problem such as the computation of higher homotopy groups of spheres [S n , S k ] led to a development of new algebraic methods and tools such as spectral sequences.
The motivation behind the results in [3,5,6] was the embeddability problem from computational topology. In short, can one decide whether a kdimensional simplicial complex K is embeddable in R d ? In the so-called metastable range of dimensions, this problem is equivalent to deciding the nonemptiness of the set [K * , S d−1 ] Z 2 , where K * denotes the deleted product and both K * and S d−1 are endowed with a free action of Z 2 . Hence the article [6] was able to provide a solution to the embeddability problem in the metastable range.
Our motivation is likewise based on Tverberg-type problem -a generalization of the embeddability problem, where one asks wheteher there is an r-almost embedding, i.e. a map f : K → R d without r-tuple intersection points. The Mabillard Wagner-theorem, formulated in [15] (see [14], [20] and [21] for full discussion on its proof), states that under the condition rd ≥ (r+1)k+3, the Tverberg type problem is equivalent to the nonemptiness of the set [K r \ ∆ r , S d(r−1)−1 ] Sr , where the symmetry group S r acts freely on K r \ ∆ r and non-freely on S d(r−1)−1 . Can one determine the nonemptiness algorithmically 1 ? To do so would require a generalization of the results of [5] and [6] to situations with nonfree group actions.
Our approach is based on the application of the Elmendorf 's theorem [9], which, for a finite group G, gives a Quillen equivalence between the category G−sSet of G-simplicial sets and the category [O op G , sSet] of functors from the so called orbit category O G . Hence the computation of the homotopy classes of maps between finite diagrams of spaces leads immediately to results in equivariant homotopy theory.
We formulate our main result as follows: Theorem 1.1. Let I be a finite category and A, X, Y : I → sSet be finite diagrams of finite simplicial sets such that (X, A) is a cellular pair 2 , conn Y ≥ 1 and dim X ≤ 2 · conn Y. (*) Then there exists an algorithm that computes the set [X, Y ] A of homotopy classes of maps 3 ℓ : X → Y extending a given map f : A → Y . For a fixed dim X, the algorithm runs in polynomial time.
By computing [X, Y ] A we mean the computation of the isomorphism type of this Abelian group -the Abelian group structure is described in Theorem 3.42 and uses the stability condition (*). Remark 1.2. There are multiple ways to interpret the condition (*) in the statement of Theorem 1.1 as one can define dimension and connectivity in multiple ways. The most simple one is to use maximum dimension and minimum connectivity i.e. dim X = max{dim X(i) | i ∈ I}, conn Y = min{conn Y (i) | i ∈ I}.
One can also treat both the dimension and the connectivity of diagrams X, Y as collections of numbers indexed by the objects of I and Theorem 1.1 holds true even if the stability condition is interpreted in this pointwise way. As a further remark, it is even possible to define dim X(i) as the maximal dimension of a cell at i, see Section 3.5.
The assumption conn Y ≥ 1 can be easily removed. The exact algorithm as described in this paper works also for conn Y ≥ 0 since it is based on the Postnikov tower of ΣY which is 1-connected in this case. As a matter of fact, it works for conn Y ≥ −1, i.e. if all the spaces in the diagram are non-empty. With a careful treatment of nonconnected spaces it works even in a complete generality, but there is a simpler solution: let J ⊆ I denote the full subcategory on objects where Y is nonempty. Then [X, Y ] A = ∅ unless X is also empty on I J , in which case [X, Y ] A = [X| J , Y | J ] A| J and we are in the simpler situation conn Y ≥ −1 as above.
Let G be a finite group. The orbit category O G of G is a finite category with objects G/H, for subgroups H ≤ G, and arrows the equivariant maps G/H → G/K. Suppose now that A, X, Y are finite simplicial sets with an action of a finite group G. By Elemendorf's theorem [9]  For details see e.g. Chapter V in [17] or [9]. Therefore, as a straightforward consequence of Theorem 1.1 we obtain Theorem 1.4. Let A ⊆ X and Y be finite simplicial sets with an action of a finite group G. Supposing that dim ΦX ≤ 2 conn ΦY and conn ΦY ≥ 1, there is an algorithm that computes the set [X, Y ] A G of equivariant homotopy classes of maps X → Y extending a given equivariant map A → Y . If dim X is fixed, the algorithm runs in polynomial time.
1.5 Applications. We present two applications of Theorem 1.4 for computations in equivariant homotopy theory. First describes a solution to the aforementioned Tverberg-type problem from computational topology. The second application is of more theoretical nature and gives an algorithm that computes equivariant stable homotopy groups of spheres. We introduce both here, while proofs of these results are postponed until Section 10.
Tverberg problem. Let K be a k-dimensional simplicial complex and let f : K → R d be a map. A point x ∈ f (K) is called an r-Tverberg point if it has preimages lying in r pairwise disjoint simplices of K.
The Tverberg-type problem is a question whether there exists an, almost rembedding, i.e. a map f : K → R d such that it contains no r-Tverberg points. We will show that Theorem 1.1 implies the following: Theorem 1.6. Let K be a k-dimensional simplicial complex, d, r ∈ N, such that rd ≥ (r + 1)k + 3. Then there is a polynomial time algorithm that decides whether there is an almost r-embedding f : K → R d .
Stable homotopy groups. As a second application, we obtain Theorem 1.7. Let X, Y be finite simplicial sets with an action of a finite group G. Then there is an algorithm that computes the set {X, Y } G of equivariant stable homotopy classes of maps X → Y .

The idea of the proof of the main theorem
The proof consists of three main steps.
• Construct the Postnikov tower for ΣY , with stages P (n) that capture the homotopical information up to dimension n, such that the difference between P (n) and P (n − 1) is isolated in dimension n and is rather easy to handle explicitly, using a certain "exact sequence".
• If non-empty, [ΣX, P (n)] ΣA becomes an Abelian group via homotopy concatenation (to be more precise, it is an Abelian heap). Inductively with respect to n, propagate the structure of an "effective" Abelian group from [ΣX, P (n − 1)] ΣA to [ΣX, P (n)] ΣA , using the exact sequence from the previous point.
An important part of the mentioned effective Abelian group structure is an algorithm that outputs its isomorphism type. For n = dim ΣX, we have [X, Y ] A ∼ = [ΣX, ΣY ] ΣA ∼ = [ΣX, P (n)] ΣA and the computation is finished.

New ingredients.
Although the structure of the computation is mostly identical to that of our previous work [5,6], there are two important differences, the reader should be aware of: Firstly, the construction of the Postnikov tower requires the Postnikov stages to be cofibrant (more careful explanation is given later in Sections 3.20 and 3.26) and this is generally not the case for diagrams. Our solution consists of employing a cofibrant replacement that, however, makes the basic shape of the tower more complicated (we need both the stages and their cofibrant replacements) and renders the Postnikov stages non-fibrant. For this reason, homotopy classes in [ΣX, P (n)] ΣA are not represented by actual maps ΣX → P (n). Instead, as a way around these technical problems, we develop a convenient category of towers, in which the homotopy classes admit representatives, and use this framework throughout the paper.
Secondly, the exact sequence relating homotopy classes of maps into consecutive Postnikov stages consists more naturally of unpointed sets and we follow this more conceptual approach in the paper (it already appeared in [11]). The main point is that the action of K(π n , n) on P (n), which is free with P (n − 1) as the space of orbits, induces an action of [ΣX, K(π n , n)] ΣA on [ΣX, P (n)] ΣA , but with possibly non-trivial stabilizers and with the set of orbits possibly a proper subset of [ΣX, P (n − 1)] ΣA . The exact sequence captures both the stabilizers and the subset. For details, see Section 3.33.
2.2 Plan of the paper. We start by setting up the mathematical notions required in the paper, Section 3. Then, in Section 4 we explain various ways of endowing these mathematical objects with a computational layer. After that we give a more detailed idea of the proof with more precise statements (Section 5), while some more technical aspects of the proof -the obstruction theory for diagrams, the exact sequence, further effective homological algebra and construction of Postnikov towers are presented in Sections 6-9. Finally, in Section 10, we discuss applications of Theorem 1.1.

Mathematical background
3.1 Model category formalism. One of the successful formalisms in homotopy theory is that of model categories. We will be dealing with the model category of spaces, G-spaces, chain complexes and diagrams in these categories. A precise definition of a model structure will not be needed 4 as only a fragment of the model structure in the above examples will be requiredthe class of cofibrant objects, the class of fibrant objects, and a homotopy re-lation. These are crucial concepts since, for X cofibrant and Y fibrant in C, the hom-set [X, Y ] in the homotopy category Ho(C) is defined to be the set of homotopy classes of maps from X to Y . For general X and Y , one needs to choose a cofibrant replacement X cof and a fibrant replacement Y fib and then defines the hom-set in Ho(C) to be We remark that the notion of "replacement" also requires the specification of weak equivalences.
The cofibrant objects are usually described via a generating set of cofibrations K j → L j , thought of as boundary inclusions of cells (of various shapes). We then say that the pushout X in is obtained from A by attaching a cell along the attaching map K j → A, where by an actual cell we understand the canonical map L j → X. Any object X obtained from the initial object ∅ by successively attaching cells is said to be cellular or a cell complex ; any such X is cofibrant. We remark that the cells are attached in some order and, thus, a cell complex is generally not specified by the collection of cells. For our model categories, it will always be possible to attach cells in the order of increasing dimension and this technical issue disappears.

Relative categories.
When C is a model category and A ∈ C an object, the slice category A/C, or the category of objects under A, has as objects maps in C with domain A; its maps from f : We will now explain the important model category concepts for A/C in terms of C.
The cofibrant objects are cofibrations in the model structure of C, while fibrant objects are maps with fibrant codomain.
If X is obtained (in C) from A by successively attaching cells, the canonical map A → X is said to be a relative cell complex and these constitute exactly the cell complexes in A/C. In our examples, A will always be a subobject of X and we will denote the relative cell complex as a pair (X, A).
The hom-set in Ho(A/C) will be denoted by [X, Y ] A , where we suppress from the notation the involved maps A → X and A → Y ; these will always be fixed and clear from the context. For (X, A) cofibrant and (Y, A) fibrant, this is the set of homotopy classes relative to A.
3.3 Spaces = simplicial sets. For computational purposes, a space will mean a simplicial set. We denote by sSet the category of simplicial sets and simplicial maps between them.
We equip simplicial sets with the Kan model structure: Generating cofibrations are the boundary inclusions ∂∆ n → ∆ n , for n ≥ 0, where ∆ n denotes the standard n-simplex and ∂∆ n the union of all its proper faces. In this way, any simplicial set is cofibrant, in fact cellular. Thus, cells are maps ∆ n → Y or equivalently n-simplices of Y , for arbitrary n ≥ 0. The canonical cellular structure on Y , unique up to the order of cells, has as cells precisely all non-degenerate simplices.
Fibrant objects, the so called Kan complexes, are simplicial sets that have the right lifting property with respect to the horn inclusions ✑ k is the union of all proper faces of ∆ n with the exception of the k-th face. Most importantly for us, all simplicial groups are fibrant.
We will also use the notation I = ∆ 1 for the interval, especially when talking about homotopies.
We will denote by s J = s jr · · · s j 1 a degeneracy operator for a set J = {j r > · · · > j 1 }. For each simplex x there is a unique non-degenerate simplex x and a unique degeneracy s J such that x = s J x. The set J consists of all the j for which x lies in the image of s j . By definition, x is non-degenerate if and only if J = ∅.
3.4 Diagrams. Let I be a small category. For a category C, we will denote by C−I the category of diagrams I op → C. We thus have the category sSet−I of diagrams of spaces, Ab−I of diagrams of Abelian groups, Ch−I of diagrams of chain complexes, etc. (as the notation suggests, we think of them as right I-modules with values in C).

Diagrams of spaces.
In particular, we have the category sSet−I of I-shaped diagrams of spaces. The representable functor I(−, i) : I op → sSet can be interpreted as a functor with values in (discrete) simplicial sets and we will thus write I(−, i) ∈ sSet−I.
The model structure on sSet−I, the so called projective model structure which we are about to describe, is more complicated than that on sSet in that not every object is cofibrant; on the other hand, fibrant objects are simply diagrams consisting of fibrant objects. The generating cofibrations are the maps In this way, a cell is a map ∆ n × I(−, i) → Y or, equivalently, an n-simplex of Y (i), for n ≥ 0 and i ∈ I arbitrary. This results in the following characterization: Proposition 3.6. A diagram X is cellular if and only if there is a collection of simplices e α ∈ (X(i α )) nα , for α ∈ A, called cells, such that any simplex e ∈ (X(i)) n is obtained uniquely from a cell by applying a map in the diagram and a degeneracy, i.e. e = s J (f * (e α )) for unique α ∈ A, f : i → i α and degeneracy s J . More generally, a cellular pair (X, A) is one for which the above condition is satisfied for simplices e ∈ X A.

Equivariant spaces.
Let G be a fixed finite group. If we interpret G as a one-object category, spaces with a G-action (G-spaces) are functors G → sSet and their category will be denoted G−sSet. This category is equipped with a model structure that is described below and is different from the projective model structure on diagrams of spaces. However, a theorem of Elmendorff says that this category if Quillen equivalent to sSet−O G for the so called category of orbits O G (consisting of all orbits G/H and all equivariant maps between them). This is how questions of homotopical nature regarding G−sSet are answered: by translating to sSet−O G and solving there.
For the purpose of the translation, it will be useful to describe the generating set of cofibrations for G−sSet. They are given by inclusions ∂∆ n ×G/H → ∆ n × G/H, for all n ≥ 0 and for all subgroups H of G. Thus, a cell of X is a map ∆ n × G/H → X, i.e. an n-simplex of the fixed point space X H . Similarly to simplicial sets, every object is cofibrant. The functor Φ : G−sSet → sSet−O G takes a G-space to the collection of its H-fixed point subspaces, for all subgroups H of G and all action maps between them. It is not too difficult to see 5 that a cell ∆ n × G/H → X gives a cell ∆ n × O G (−, G/H) → Φ(X) and, in this way, the diagram Φ(X) is cellular for any cellular G-space X (with cells of Φ(X) corresponding to those of X).
3.8 Chain complexes. We will be working exclusively with non-negatively graded chain complexes of Abelian groups in their projective model structure, denoted Ch. The free chain complex D n generated by x in dimension n has, for n > 0, the Abelian group Z in dimensions n and n − 1, generated by x and ∂x respectively. Its boundary ∂D n is the subcomplex generated by ∂x, i.e. has Z in dimension n − 1. The case n = 0 is special in that ∂x = 0, and thus D n = Z, ∂D n = 0. The boundary inclusions ∂D n → D n are the generating cofibrations for the projective model structure on chain complexes. Therefore, cells are maps D n → C and correspond to n-chains c ∈ C n . A cellular chain complex consists of free Z-modules with a basis in each dimension formed by the cells viewed as chains.
3.9 Diagrams of chain complexes. In the category Ch−I of diagrams of chain complexes, cofibrations are generated similarly by boundary inclusions ∂D n i → D n i where D n i is a free diagram generated by a single element x at object i sitting in dimension n. This has ZI(−, i) ∈ Ab−I (the free Abelian group on a representable diagram) in dimensions n and n − 1 with boundary the identity. A diagram of chain complexes is cellular if and only if, in each dimension, it is a direct sum of diagrams of the form ZI(−, i). More concretely, we have the following characterization: Proposition 3.10. A diagram C is cellular if and only if there is a collection of cells (i.e. chains) c α ∈ C(i α ) nα , for α ∈ A, such that any chain c can be obtained uniquely from cells by applying maps in the diagram and linear combinations, i.e. c = α∈A,f : i→iα for unique k α,f ∈ Z (only a finite number of non-zero coefficients). More generally, a cellular pair (C, C ′ ) is one for which the above condition is satisfied modulo C ′ .
As an important example, if X is a diagram of spaces then the normalized 6 chain complexes C * (X(i)) of the spaces in the diagram form a diagram C * (X) of chain complexes. Since we are dealing (exclusively) with normalized chain complexes, for a cellular diagram X, the diagram C * (X) of chain complexes is also cellular with cells corresponding bijectively to those of X. There is an obvious generalization to the relative situation of a cellular pair (X, A).
3.12 Bredon cohomology. For a cellular pair (X, A) of diagrams and for a digram π ∈ Ab−I of Abelian groups the cochain complex C * (X, A; π) = Hom Ab−I (C * (X, A), π), equipped with the differential 7 δ = ∂ * , is called the Bredon cochain complex. The cohomology of this cochain complex C * (X, A; π) is known as Bredon cohomology, see [17,1]. As a functor of the pair (X, A) we will explain shortly that this is represented by an Eilenberg-MacLane diagram.
3.13 Cofibrant replacement in sSet−I. We will use a concrete model for the cofibrant replacement, namely the Bousfield-Kan model. Let X be any diagram. Then the cofibrant replacement X cof = |BX| is a geometric realization of a certain simplicial object BX; we start with decribing the involved simplicial object BX : ∆ op → sSet−I; in dimension n it is with the face map d j given either by composition, for j > 0, with d 0 being the right action Xi 0 × I(i 1 , i 0 ) → Xi 1 coming from X being a contravariant functor X : I op → sSet, and with degeneracy maps inserting the identity at various positions.
The geometric realization of BX is then the quotient where the relation is similar to that of a tensor product (formally, such a construction is called the coend ∆ • * ∆ op BX): we require (θ * t, z) ∼ (t, θ * z), for t ∈ ∆ m , z ∈ (BX) n and θ a morphism in ∆ op ; of course, faces and degeneracies are sufficient to generate all relations.
The cofibrant replacement X cof of any diagram is a cellular diagram. Precise details will not be important for the paper, but are necessary for an implementation of our algorithm. The cells are (t, x, f 0 , . . . , f n−1 , id) for any of non-identity morphisms and any non-degenerate simplex (t, x) ∈ ∆ n × Xi n not contained in ∂∆ n ×Xi n . The non-degenerate simplices of a product can be described equivalently as pairs (s J t, s K x) for non-degenerate t, x and disjoint index sets J, K.
In this text the symbol K(π, n) will always stand for the following concrete simplicial model, see [16, page 101] where Z n denotes the Abelian group of normalized cocycles. Similarly, we define the contractible space W K(π, n) as where C n denotes the Abelian group of normalized cochains. Since both are simplicial groups, they are fibrant. According to [16,Theorem 23.10], the universal principal bundle with fibre K(π, n), i.e.
has W K(π, n) isomorphic to K(π, n+1) (a concrete isomorphism can be found in [5]) and we will thus consider these spaces equal. The map δ is then the coboundary from the n-cochains to (n + 1)-cocycles.
In the computational part, declaring the two spaces equal amounts to applying the canonical isomorphism and its inverse. These are given by straightforward formulas running in polynomial time, see [5,Lemma 3.15].
3.16 Principal twisted cartesian products. Let X be a simplicial set and G a simplicial group. As in the preceding section, there is a universal principal bundle with fibre G A simplicial map τ : X → W G is known as a twisting function and prescribes a principal twisted cartesian product X× τ G → X, a simplicial analogue of a principal bundle. It is obtained by replacing one of the face operators in the usual cartesian product according to τ , but we will not need to explain details here. There is an obvious extension to diagrams -if X is a diagram of simplicial sets and G a diagram of simplicial groups, a twisting function τ : X → W G is then just a compatible family of twisting functions at each object and thus prescribes a "compatible" family of principal twisted cartesian products; explicitly, compatibility means that the canonical projection X × τ G → X is a natural transformation, i.e. a map in sSet−I. We also note that / / W G is a map of principal bundles and is thus a pullback square.
3.17 Principal bundles categorically. For the purposes of a later generalization, we will define principal bundles categorically in any complete category C in the following way 8 : Let G be a group object in C. A G-torsor is an object P of C with a simply transitive (right) action of G. A regular action of G on itself presents G as a G-torsor. Thinking of the group additively, the simple transitivity is expressed as a difference map P × P → G, a generalization of the association (A, B) → − − → AB = −A + B from the theory of affine spaces; we will use the nicer looking B − A since we will have commutativity anyway. It is a simple matter to write down a set of axioms (e.g. x + (y − x) = y, as for affine spaces), each expressed as commutativity of a diagram involving finite products of G and P . In particular, any functor that preserves finite products will automatically preserve group objects and their torsors.

Example.
A non-empty torsor in the category of sets is a so-called heap, which we define later. Namely, for a heap S and for any choice of zero 0 ∈ S, the heap S becomes a group, so that it possesses the regular right action on itself. For different choices, the induced groups are canonically isomorphic and the actions are identified under this isomorphism. The empty set is (in our definition) a torsor for any group.
A principal G-bundle is a map P → X, thought of as an object of the slice category C/X, that is a torsor for the trivial group object X × G → X in C/X, given by the projection. A simple example of the preservation of torsors is the fact that principal G-bundles are closed under pullbacks -the pullback functor f * : C/X → C/Y clearly preserves all limits. Also, any functor from C preserving finite limits will preserve principal bundles, since the product in the slice category C/X is the pullback in C. Explicitly, the structure maps for a principal bundle in terms of the category C are: where the action of G on P is required to be a map over X. For a principal twisted cartesian product P = X × τ G → X, the last two maps are: the action + : P × G → P, (x, a) + g = (x, a + g) (a map over X), and the difference In particular, we will need principal bundles whose fibres are the diagrams of Eilenberg-MacLane spaces, which we describe next.
Analogously, we define the diagram W K(π, n)(i) = W K(π(i), n). Both these diagrams are fibrant (since they consist of fibrant objects). The advantage of the concrete models described above is that maps to these diagrams can be identified with cochains and cocycles of the Bredon cochain complex. The following lemmas are easy generalizations of results in [16].
For a relative cell complex (X, A) (or more generally for a cofibration A → X), we also have where again maps on the left are fixed to be zero on A.
3.20 Postnikov tower of a space. We will give a very concise definition of a Postnikov tower of a space, mainly to explain that this definition has to be modified for diagrams; this case will then be treated in much more detail. A Postnikov tower of a simply connected space Y is a collection of maps Y → P (n) that display P (n) as the result of killing homotopy groups of Y above dimension n. These approximations are organized in a tower · · · → P (n) → P (n − 1) → · · · → P (0); i.e. the stages are connected by maps P (n) → P (n − 1). These are principal fibrations whose fibre is necessarily K(π n , n), for π n the n-th homotopy group of Y . In the standard model, they are even principal twisted cartesian products and as such are classified by a homotopy class k n : P (n − 1) → W K(π n , n), known as Postnikov invariant. One may then write P (n) = P (n − 1) × kn K(π n , n) to get a very concrete inductive construction of the Postnikov tower, see [5] for the algorithmic viewpoint. The Postnikov towers are employed in the algorithm by observing that [X, Y ] A ∼ = [X, P (n)] A , for n ≥ dim X, and also by relating [X, P (n)] A to [X, P (n−1)] A via a long exact sequence that enables inductive computation.
The following problem occurs for diagrams: the diagram P (n − 1) is not cofibrant in general and, as a result, the Postnikov invariant does not exist as an actual map P (n − 1) → W K(π n , n), but rather as a map defined on its cofibrant replacement P (n − 1) cof . As a result, the n-th stage P (n) is constructed as P (n) = P (n − 1) cof × kn K(π n , n) and will need to be cofibrantly replaced for the construction of P (n + 1) etc. Thus, for diagrams, a tower of the above simple shape must be replaced by a notion that incorporates cofibrant replacements. We will first define a general notion of such a tower and then give a precise definition of a Postnikov tower for a diagram of spaces.
commmutes for all m. We denote by Tow the category of towers of diagrams. An n-restricted tower is the collection of data as above, but with both T (m) and T (m) → T (m − 1) cof defined only for m ≤ n. The category of n-restricted towers will be denoted Tow ≤n .
There is a pair of adjunctions (n) : Tow The bottom functors (right adjoints) are easily described as follows: The first one ext n : Tow ≤n → Tow extends the n-restricted tower T by iterated cofibrant replacements of T (n) in such a way that the structure maps T (m) → T (m − 1) cof are the identity maps, for m > n. Since a 0-restricted tower is exactly a diagram, we may view ext 0 as a functor sSet−I → Tow and, from now on, we will not distinguish between a diagram Z and its extension ext 0 Z (consisting of iterated cofibrant replacements of the diagram Z). We will thus write sSet−I ⊆ Tow.
In particular, the terminal diagram pt will be thought of as a tower in the following description. The second right adjoint sSet−I → Tow ≤n sends a diagram Z ∈ sSet−I to the n-restricted tower T with T (m) = pt(m) for m < n and T (n) = pt(n) × Z. We will not need a name for this functor, but the composite of the right adjoints will be denoted by [n] : sSet−I → Tow and is clearly right adjoint to the n-th level functor (n) : Tow → sSet−I (the composite of the left adjoints). Also [0] = ext 0 .
Definition. We say that a tower T is n-truncated, if it lies in the image of the extension functor ext n , i.e. if the structure maps T (m) → T (m − 1) cof are the identity maps for m > n. The n-truncation tr n T is the composite ext n (T (≤ n)) and admits a canonical map (the unit of the adjunction) T → tr n T .

Homotopy groups of diagrams and towers.
Let Y ∈ sSet−I be a diagram of simply connected spaces. We denote by π n Y ∈ Ab−I the diagram of the n-th homotopy groups of the spaces in the diagram Y . This makes sense since the n-th homotopy group is a functor π n on simply connected spaces (it is however not a functor on all spaces).
Definition. For an n-truncated tower T , we define its j-th homotopy group to be π j (T ) = π j (T (n)). We note that T is then also m-truncated, for any m ≥ n, and the definition of π j (T ) is independent of m.
3.23 Principal bundles. Let P → X be a principal G-bundle in the category of diagrams. For any n ≥ 0, the right adjoint [n] preserves limits and, thus, P [n] → X[n] is a principal G[n]-bundle. Concretely, this involves actions of iterated cofibrant replacements of pt and G and of course can be verified directly.
Lemma 3.25. A square of n-truncated towers In particular, T ×Z[n] agrees with T up to level n and its level n is T (n)×Z.
Proof. The proof follows directly from the definition of pullback and the fact that pullbacks over diagrams are taken pointwise.
3.26 Postnikov tower for diagrams. Let Y be a diagram of simply connected spaces. Letting π n ∈ Ab−I be a diagram of Abelian groups (it will follow from the axioms that π n ∼ = π n Y , hence the name), we introduce the abbreviations As explained above, W K n → W K n is a principal K n -bundle.
Definition 3.27. A Postnikov system of Y is a map of towers ϕ : Y → P , satisfying the following conditions for the n-truncation P n = tr n P and the associated ϕ n : Y → P n : 0. For each n ≥ 0, there is given a diagram π n of Abelian groups.
2. For each n ≥ 0, there is given a pullback square Towers P n are called stages of the Postnikov system, and maps k n are called Postnikov classes (the terms Postnikov factors or Postnikov invariants are also used in the literature). These are part of the structure of a Postnikov system.
We note that, since δ n : W K n → W K n is a principal K n -bundle, so is its pullback p n : P n → P n−1 and, in particular, there is an action P n × K n → P n and a difference P n × P n−1 P n → K n .
For the sake of completeness, we also provide a description of the conditions in the definition in terms of the levels P (n) of the Postnikov tower P . However, whenever possible the more compact and symmetric version with towers will be used.
Lemma 3.28. In terms of the levels P (n) of the Postnikov tower P , the conditions are equivalent to: 0. For each n ≥ 0, there is given a diagram π n of Abelian groups.
2. The n-the level P (n) is a pullback in the following diagram Proof. The first point is clear and the second is an instance of Lemma 3.25.
We will only work with n-truncated towers, where n = dim X. Clearly, a map between n-truncated towers is the same as a map between the restricted towers T (m), m ≤ n. For this reason, it will be possible to represent towers and maps between them in a computer. Lemma 3.29. A map ϕ : S → T from a 0-truncated tower S to an n-truncated tower T is determined uniquely by the component ϕ(n). However, not every such map ϕ(n) determines a map of towers.
Proof. The components ϕ(m) with m > n are determined from ϕ(n) by the n-truncatedness of T , while the components ϕ(m) with m < n by the 0truncatedness of S and from the cofibrant replacement functor ( ) cof being faithful.
where dim X is to be interpreted as the highest dimension of a cell in a cellular structure on (X, A).
Proof. This is essentially the Whitehead theorem and the usual proof can be adopted. An abstract Whitehead theorem in model categories is proved in [22,Theorem 2.2] and it applies here as well.
We stress however that P (n) is not fibrant and, thus, the homotopy classes are not represented by maps of diagrams. On the other hand, there is a model structure on the category of towers in which the Postnikov tower and its truncations P n are fibrant and thus, unlike for the levels P (n), homotopy classes will be represented by actual maps of towers to P n . We will not construct the model structure but give a direct proof of the representation theorem. To make this precise, for a diagram X (i.e. a 0-truncated tower), we specify the homotopy relation on maps of towers X → P n to be the homotopy with respect to a cylinder object I × X (again a 0-truncated tower associated with I × X and where we remind our notation I = ∆ 1 ). The resulting set of relative homotopy classes will be denoted by [X, P n ] A . Theorem 3.31. Let (X, A) be a cellular pair. Associating to a map of towers ℓ its n-th component ℓ(n) induces an isomorphism on the sets of homotopy classes. More precisely, given a homotopy class in [X, P (n)] A and a representative of its image in [X, P (n − 1)] A by a map of towers X → P n−1 under A, there exists a lift X → P n , again a map of towers under A, that represents the original homotopy class.
Proof. As usual, it is sufficient to prove the existence part, since the uniqueness is simply the existence of a homotopy.
Firstly, we will construct special fibrant replacements of the Postnikov stages, P (n) ′ of P (n) cof and P (n) fib of P (n), fitting into the commutative diagram Proceeding inductively, we let P (0) ∼ − → P (0) fib be a fibrant replacement of P (0), e.g. we can take the identity. In the inductive step, factor the composi- fib into a trivial cofibration followed by a (necessarily trivial) fibration, This ensures that P (n − 1) ′ is indeed fibrant, since it admits a fibration to a fibrant P (n − 1) fib . Using that W K(π n , n) is fibrant, we obtain a factorization of the Postnikov invariant k n , Now we take the pullbacks P (n) fib and P (n) of the Eilenberg-MacLane fibration along the above factorization of the Postnikov invariant k n : This ensures that P (n) fib is indeed fibrant, since it admits a fibration to a fibrant P (n − 1) ′ .
We are now ready to prove the proposition. Let a homotopy class in [X, P (n)] A be represented by a map ψ(n) : X(n) → P (n) fib under A(n). Let the image of this homotopy class in [X, P (n − 1)] A be represented by a map of towers ℓ : X → P n−1 under A and consider the cofibrant replacement of its top component: Then the outer square in commutes up to homotopy under A(n), which enables us to replace the map ψ(n) by a map, homotopic under A(n), for which this square commutes strictly. Thus, it induces a map ℓ(n) : X(n) → P (n) under A(n), and, together with the given ℓ(m), m < n, a map of towers X → P n , as desired.
Putting these two theorems together, we observe that elements of [X, Y ] A are represented by maps of towers X → P n up to homotopy relative to A. It remains to relate [X, P n ] A with [X, P n−1 ] A to enable inductive computation.
For the principal K n -bundle P n → P n−1 , we will derive an exact sequence of homotopy classes that involves also [X, K n ] A and [X, W K n ] A . Since we represent homotopy classes of maps to Postnikov stages by maps of towers, it will be convenient to do the same for maps into Eilenberg-MacLane diagrams: Lemma 3.32. Let (X, A) be a cellular pair. There is an isomorphism and the homotopy classes are represented both by maps X → K(π n , n) of diagrams under A and by maps X → K n of towers under A.
Proof. The representability on the level of diagrams follows from K(π n , n) being fibrant. Then, by adjunction, we get the first isomorphism in the second follows from homotopy invariance.
3.33 Exact sequences. We derive 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. As was explained in Section 2, the action of [X, K(π n , n)] A on [X, P (n)] A has possibly non-trivial stabilizers and set of orbits possibly a proper subset of [X, P (n − 1)] A and the exact sequence captures both the stabilizers and the subset.
A sequence is a diagram of the following shape where D, E are sets, F a pointed set with basepoint 0 ∈ F , H a group and G a collection of groups G e indexed by e ∈ E. The maps s and t are maps of sets, the arrow at D denotes an action of H on D and ∆ • is a collection of group homomorphisms ∆ d : Remark 3.35. In fact, the groups G • and group homomorphsisms ∆ • will not be indexed by elements of D and E, but rather by elements of some bigger sets D and E that surject onto D and E. Mathematically, this does not change anything, since the image of ∆ • does not depend on the representative in D and this will be the main object, by the following definition.
Definition 3.36. We say that the above sequence is exact if We may construct out of this sequence an ordinary exact sequence of pointed sets in the following way: choose a basepoint d ∈ D and then consider with a(h) = d + h, the action of H on the fixed element d. It is easily seen to be really exact, where G s(d) and H are equipped with the respective zeroes as basepoints, D with basepoint d, E with basepoint s(d) and F with the given element 0 ∈ F . Exact sequence relating consecutive stages. By composing α : A → Y with various maps in the Postnikov tower of Y , we make all P n , P n−1 , W K n , W K n into towers under A, i.e. objects of A/Tow. Further, K n is considered as a tower under A via the constant map onto the zero of K n ; more precisely, the constant map onto the zero A(n) → K(π n , n) is adjoint to the required A → K n . For the purpose of the description of the exact sequence, we will denote maps X → P n−1 by ℓ n−1 , ℓ ′ n−1 , etc. and maps X → P n by ℓ n , ℓ ′ n , etc. Our main exact sequence is whose only non-trivial object is the collection of groups indexed by e ∈ [X, P n−1 ] A , where for each such e = [ℓ n−1 ], the corresponding group [I × X, P n−1 ] ∂ e is the group of homotopy classes fixed on each copy of X by ℓ n−1 and on I × A by the constant homotopy at the given map A → P n−1 . (As explained in the above remark, this collection is indexed by actual maps ℓ n−1 : X → P n−1 rather than the homotopy classes [ℓ n−1 ]; this will be important later in the computational part.) The element 0 ∈ [X, W K n ] A (the basepoint) is the only homotopy class in the image of δ n * : [X, for a more precise statement and proof).
The maps p n * and k n * are induced by p n and k n , respectively. The action is also induced by the action of K n on P n . It remains to describe the homomorphisms where ℓ n−1 = p n * (ℓ n ). Starting with a homotopy h : I × X → P n−1 as above, lift it to a homotopy h : I × X → P n starting at ℓ n and relative to A. The restriction h| 1×X is then of the form ℓ n + ζ for a unique ζ : Proposition 3.38. The above is a well defined exact sequence.
Proof. The proof in [11,Section 5] applies to any principal bundle with a homotopy lifting property for the pair (X, A), such as K n → P n → P n−1 .
3.39 Heaps. In the stable situation dim X ≤ 2 conn Y , the set [X, Y ] A is actually an Abelian heap (this is proved later in Theorem 3.42) and we will exploit this structure for the computations. We start with a formal definition of a heap. Intuitively, a heap is a group without a definite choice of zero, so that one has addition with respect to an arbitrary zero.

Definition.
A heap is a set S with a ternary operation, denoted by x + p y in this paper, that satisfies the identity law together with a "partial para-associative law," or just associative law, It is said to be Abelian if x + p y = y + p x.
Given p ∈ S, we obtain a group structure on S with zero p, addition given by x + y = x + p y and inverse −x = p + x p; we denote this group by S p . It is Abelian if and only if the heap S is Abelian. A different choice of the zero element leads to an isomorphic group, the isomorphism being the translation map S p → S q , x → x + p q. We will not work with heaps directly, but rather we will choose a zero and work with the induced group.
3.40 Exact sequences of heaps. Thus, if an exact sequence in the sense of Definition 3.36 consists of Abelian heaps and heap homomorphisms, by choosing basepoints, we obtain an ordinary exact sequence of Abelian groups. Since computations with exact sequences of Abelian groups (and known homomorphisms) are possible, this finishes our mathematical description of the computation of [X, P n ] A , once we explain how this is an Abelian heap.
3.41 Stability and Abelian heaps. The (unreduced) suspension ΣY of a diagram Y is the quotient of ∆ 1 × Y under the identification that squashes each of 0×Y and 1×Y separately to a point, i.e. it is the diagram of unreduced suspensions.
and the set on the right admits a canonical structure of an Abelian heap.
Proof. This is essentially contained in the proof of [

Algorithmic structures on mathematical objects
In this section, we deal with algorithmic aspects of the mathematical objects treated in the previous section. First we present our point of view on computations in/with an object like a simplicial set X and introduce various levels of its computability -(weakly) locally effective, effective (and later also homologically effective). As the running time analysis of computations of invariants like [X, Y ] A for a single instance makes little sense, we will have to deal, at least implicitly, with families of inputs for this purpose and this introduces a further layer of complexity into the picture. For this reason, we postpone this undertaking to the very end of this section.

Computations in objects vs computations with objects.
We would like to point out a qualitative difference between two computational problems concerning a simplicial set. The first task is to compute the j-th face or degeneracy of a given simplex and the second is to compute the n-th homology group.
The first problem can quite often be tackled without exact knowledge of the simplicial set in question, e.g. it is computed in exactly the same way in a space and in any of its subspaces; thus, it only concerns a "neighbourhood" of the given simplex and that is why we call it local. If all such local computations are available (in this case, faces and degeneracies), we call a simplicial set locally effective; we give a precise definition later. It is simple to give a similar definition for any algebraic structure -all operations should be computable, e.g. addition, zero and inverse in a locally effective Abelian group etc. In general, we speak of locally effective objects.
On the other hand, the second problem of computing H n concerns the whole simplicial set and is thus global. Provided that X is locally effective and that we are given a list of all its (non-degenerate) simplices, we call X effective and for such X it is possible to compute basically anything, including the homology groups. This should be viewed as the strongest version of (global) effectiveness of X.
A general definition of an effective object has the following scheme: We declare certain locally effective objects to be "standard effective objects", e.g. in the case of Abelian groups these are the products of cyclic groups, and in the model categorical cases these are the cell complexes whose elements are represented uniquely using cells as in Propositions 3.6 and 3.10. Then a general locally effective object is effective if there is provided a computable isomorphism with a standard effective object.
In the last part of the paper, we will use heavily homologically effective chain complexes -these are generalizations of effective chain complexes, where an isomorphism with a standard effective object is replaced by a chain homotopy equivalence.

Weak local effectiveness.
There is one more issue that was not apparent for simplicial sets. Our main object is [X, Y ] A , the set of homotopy classes of maps and our algorithms naturally work with actual maps, i.e. nonunique representatives of these homotopy classes. We also mention a much simpler example of the group Z/n where, for example, on the level of repre-sentatives the addition is the usual addition of integers, regardless of n, and is thus no different from Z. Of course, one can make representatives unique if one chooses a set of preferred representatives and output only these in all algorithms; this may sound natural for Z/n but there are no obvious preferred representatives in [X, Y ] A so that the non-unique representation is unavoidable. When speaking about local computations, we were silently assuming that representatives were unique, in which case there is an easy way of distinguishing Z/n from Z: pick any non-zero element (assume it is given), multiply it by n and check whether the result is zero. The same works with non-unique representatives if equality is decidable, i.e. if there is provided an algorithm testing whether two inputs represent the same element. If this is the case and all local computations are available, we still call the object locally effective.
Thus, in order to make [X, Y ] A locally effective (even as a set), we would require an algorithm testing whether two maps are homotopic. In fact, such an algorithm exists even non-stably (by the methods of [11]) but is not needed in this paper. We will thus also work with structures where local computations are possible but equality is not necessarily decidable. We call such structures weakly locally effective. (Previously, these were called semi-effective, but since they are weaker than locally effective ones, we decided to change the name.) We remark that there will be no weakly effective objects, since equality will be decidable in all our standard effective objects and, for effective objects, one can transfer the equality problem along the given isomorphism to a standard effective object.

Preview on running times.
Given that an effective Abelian group is a collection of algorithms we would like to clarify on claims concerning the running time of computing [X, Y ] A or, more precisely, the running time of the algorithm giving the isomorphism type of this Abelian group. Practically, and in accordance with our partial implementation within the framework of object-oriented programming, such a computation usually splits into the "construction" of the object [X, Y ] A itself (in OOP terms the call of the constructor) and the call of the responsible function (in OOP terms the call of the "method"); what matters, of course, is the total running time.
We do not specify how to split the computation. One of the options is the lazy implementation where nothing is computed before it is needed. In this extreme case, the construction running time is zero and the running time of the method is the only relevant part. However, in this approach, any required data involving any intermediate step is computed repeatedly from a scratch, and so this does not prescribe a very practical algorithm. In the opposite extreme, the isomorphism type etc. can be computed upon the construction and outputting it via the method then takes very little time. To make our running time analysis simpler, and only for this reason, we will be assuming the lazy implementation, so that the construction time does not enter the analysis. 9 Thus, our way to prove the polynomiality claim will be to show recursively that all the algorithms comprising any involved computational object (e.g. the Postnikov stage P n ) run in polynomial time provided that the same is true for all algorithms of all objects used inside this object (e.g. the previous Postnikov stage P n−1 ). We will elaborate on this at the end of this section, but it might be helpful to have this goal in mind already now.

4.4
Weakly locally effective sets. Let A be a set. We say A is weakly locally effective if there is given a set A and a surjective map A → A (a weakly locally effective representation), denoted α → [α], in such a way that elements of A have a specified representation in a computer (for definiteness, we might assume that elements of A are actual bit strings, but we will not go into such details). A mapping f : A → B between weakly locally effective sets is said to be computable if there is given an algorithm that computes a mapping ϕ : A → B that represents f , i.e. such that f ([α]) = [ϕ(α)].

Locally effective sets.
We say that the representation of A is locally effective if there is provided an algorithm that, given α, β ∈ A, decides whether One of the possibilities, occuring frequently in this paper, is that the representation map A → A is bijective, i.e. that any element of A has a unique representative.
4.6 (Weakly) locally effective surjections. Before explaining the algebraic examples, we mention a general principle in the computational world: existence should be replaced by computability. This will not be of much concern to us, since algebraic structures are defined by equalities, but when dealing with exactness, surjectivity is crucial. In ordinary mathematics, a mapping f : In the computational world, we thus require an algorithm computing, for any b ∈ B, some preimage a ∈ f −1 (b). In addition, in the weakly locally effective setup, this is handled on the level of representatives, so that the algorithm computes, for any representative β ∈ B, a representative α ∈ A To summarize, we may say that f is a surjection in the effective setting, if it admits a computable weak section. 4.7 (Weakly) locally effective algebraic structures. An algebra is a collection of sets and operations among them satisfying certain identities (i.e. an object of some variety of multi-sorted algebras). We then say that it is (weakly) locally effective if all the involved sets are (weakly) locally effective and if all operations are computable. We will now give a detailed definition for the structures used in this paper.

Abelian groups.
A weakly locally effective Abelian group A is a weakly locally effective set for which the zero, addition and inverse are computable. In more detail we can compute o ∈ A such that [o] = 0, given any α, β ∈ A we can compute γ ∈ A such that [γ] = [α] + [β] and given any α ∈ A we can A weakly locally effective Abelian group is A effective if there is given an isomorphism A ∼ = Z/q 1 ⊕ · · · ⊕ Z/q r , computable together with its inverse. In detail, this consists of • an algorithm that, given α ∈ A, computes integers z 1 , . . . , z r so that [α] = r i=1 z i a i ; each coefficient z i is unique within Z/q i . We will utilize the following lemmas; they were originally given in [3].   There is an algorithm that, given a weakly locally effective short exact sequence with A and C effective, supplies an effective representation of B. Proof. Compute the images f (a 1 ), . . . , f (a r ) of the generators of A. Next, decide if the equation has a solution (this is done by translating to the direct sum of cyclic groups and solving there using the standard methods). If a solution exists, output a = x 1 a 1 + · · · + x r a r .
Later, the following lemmas will be used in the computation of Bredon cohomology which, in turn, will be useful in describing maps into Postnikov stages. Proof. The proof is not complicated. We will only need the case of A being free Abelian so that Hom (A, B) is a product of copies of B and the result is trivial.
Let I be a fixed finite category and let π ∈ Ab−I be a diagram such that every π(i) is effective Abelian and every morphism is a computable homomorphism. We then say that π is an effective diagram of Abelian groups. As a consequence of the previous lemma, we get: Lemma 4.14. Let I be a fixed finite category and let π, ρ ∈ Ab−I be effective diagrams of Abelian groups. Then Hom Ab−I (ρ, π) is an effective Abelian group.
Proof. Clearly Hom(ρ, π) is the kernel of the homomorphism and as such is effective according to Lemmas 4.13, 4.11 and 4.9 (dealing with Hom, finite products and kernel, respectively).

Simplicial sets.
For simplicial sets, we will assume that the representive of each simplex is unique (though, decidable equality should be sufficient).
Definition 4.16. Let X be a simplicial set. We say that X is locally effective if the underlying sets X n of n-simplices are locally effective and algorithms are provided computing the faces and degeneracies of any given simplex of X.
We will now use the canonical cellular structure of a simplicial set X to describe a standard representation of a finite simplicial set. We recall that cells are exactly the non-degenerate simplices of X and that any simplex x can be uniquely written as x = s J x, a degeneracy of a non-degenerate simplex x. We may then represent x as a pair (J, x), where it is simple to come up with an encoding of a finite index set like J and of a finite number of nondegenerate simplices like x. In order to describe the cellular structure, we need to specify the attaching maps, i.e. for each non-degenerate simplex x, we need to prescribe each of its faces: d i x = s J y. This then gives enough information for the computation of faces and degeneracies of arbitrary simplices, usign the simplicial identities.
We might call a simplicial set given as above, i.e. via a list e α of its nondegenerate simplices and lists of identities of the form d i e α = s J e β with e α and e β non-degenerate, a standard effective simplicial set. According to this choice, an effective simplicial set is a locally effective simplicial set equipped with an isomorphism, computable in both directions, with a simplicial set as above. Explicitly, this means: there exists an algorithm producing a list of all non-degenerate simplices 10 and an algorithm that expresses any given simplex as a degeneracy of a non-degenerate one (though, such an algorithm already follows from local effectivity).
The notion of local effectiveness specializes to diagrams of simplicial sets in the following way: Definition 4.17. Let I be a finite category. We say that a diagram X ∈ sSet−I is locally effective, if, for any object i of I, the simplicial set X(i) is locally effective and, for any morphism f of I, the map X(f ) is computable.
Definition 4.18. A cellular pair (X, A) of diagrams of simplicial sets is effective if X is locally effective (and hence also A) and there is given • an algorithm that outputs a finite list of cells e α ∈ X(i α ), α ∈ A, • an algorithm that, given a simplex e ∈ X A, computes the unique expression e = s J (f * (e α )) of Proposition 3.6.
There is a completely analogous definition of a pointwise effective diagram, where the cells generate the individual simplicial sets in the diagram separately, i.e. the expression in the second point is replaced by e = s J (e α ).

Chain complexes.
A chain complex C locally effective if all the chain groups C n are locally effective Abelian groups and the differentials are computable. Analogously, a diagram C ∈ Ch−I of chain complexes is locally effective if C(i) is locally effective for every object i of I and if C(f ) is a computable homomorphism for every morphism f of I. Definition 4.20. A cellular pair (C, C ′ ) of diagrams of chain complexes is effective if C is locally effective (and hence also C ′ ) and there is given • an algorithm that outputs a finite list of cells c α ∈ C(i α ), α ∈ A, • an algorithm that, given a chain c ∈ C, computes the unique expression The following lemma follows easily from the definitions given in this section.
Lemma 4.21. Let (X, A) be a locally effective pair of diagrams of simplicial sets A, X ∈ sSet−I and let ρ ∈ Ab−I be an effective diagram of Abelian groups. The following holds: 1. If (X, A) is effective, then C * (X, A) is effective.
2. If (X, A) is effective, then C n I (X, A; ρ), Z n I (X, A; ρ) and H n I (X, A; ρ) are effective Abelian groups.
We remark that C * I (X, A; ρ) is not an effective chain complex according to our definition since it does not consist of free Abelian groups.

Eilenberg-MacLane diagrams.
Since the Eilenberg-MacLane diagram K(π, n) has as n-simplices (K(π, n)) n ∼ = π, for a locally effective K(π, n) the coefficient system π must be locally effective, too. In addition π ∼ = H n (K(π, n)), so that the (not yet defined) pointwise homologically effective K(π, n) will have π effective; the converse is also true (this is [5, Theorem 3.16]), but not needed. Since we do not want to introduce another name for locally effective diagrams K(π, n) with π effective, we will call them pointwise homologically effective; until the construction of the Postnikov tower, the reader may consider these synonymous. The isomorphism is computable in both directions and so is the one for cochains. When π is effective, we may decide if a cocycle is a coboundary (cochain groups are effective and the differential is computable), so that we may also decide whether a given map X → W K(π, n), zero on A, lifts to a map X → W K(π, n), zero on A. This will be a crucial ingredient for the computational version of the obstruction theory.
4.23 Cofibrant replacements. As mentioned in Section 3.13, the cofibrant replacement of any diagram is cellular. By the explicit description of the cells, it is clear that the cofibrant replacement of a pointwise effective diagram is effective. We will later see a variation of this result in Proposition 8.13the cofibrant replacement of a pointwise homologically effective diagram is homologically effective.
4.24 Towers. We will be working only with n-truncated towers, for n fixed. In this situation, we may replace all n-truncated towers by n-restricted towers. The locally effective towers then have the obvious definition. Of course, locally effective (non-truncated) towers can be defined easily too.
4.25 Postnikov towers. Theorem 9.2 constructs a pointwise homologically effective n-restricted Postnikov tower. With the exception of the proof of this theorem, we will only use local effectiveness of the tower and the effectiveness of homotopy groups, as explained in Section 4.22 -the full strength of pointwise homological effectiveness is employed in the inductive construction of the tower.

4.26
Weakly locally effective exact sequences. A weakly locally effective collection of groups G • is a collection of groups G ε , indexed by ε ∈ E, together with surjections G ε → G ε that, together, provide a weakly locally effective representation Addition in these groups is represented by a computable map G ε × G ε → G ε , i.e. G × E G → G, etc. In other words, a single algorithm is required, computing the addition in all the groups in the collection.
Similarly, an effective collection of groups is a weakly locally effective collection of groups that possesses, in addition, an algorithm that computes for any given ε ∈ E a set of generators of G ε together with their orders and also an algorithm that computes the expression of any element of G as an integral combination of these generators.
A weakly locally effective sequence is where D, E are weakly locally effective sets, F a weakly locally effective pointed set with basepoint [o] ∈ F , H a weakly locally effective group and G • a weakly locally effective collection of groups G ε indexed by ε ∈ E. The maps s and t are computable maps of sets, represented by σ and τ , the arrow at D denotes a computable action of H on D and ∆ • is a computable collection of group homomorphisms ∆ δ : G σ(δ) → H indexed by δ ∈ D.
A weakly locally effective exact sequence is a weakly locally effective sequence in which the following algorithms are provided, parallel to Definition 3.36:  Assuming that all terms are weakly locally effective Abelian heaps and a basepoint [δ] ∈ D is computable, we will obtain a weakly locally effective exact sequence of Abelian groups in the sense of Section 4.8, details are given in the proof of Theorem 7.5.

4.28
Running times and parametrized effectivity. We will now comment on our approach to the computational complexity of algorithms, a somewhat simplified version of [5] and [6]. We will explain this on the algorithm H n computing, for a given finite simplicial set X, its n-th homology group H n X. Of course, this algorithm is quite simple -setup the chain complex of X and compute its homology using the Smith normal form. The main point, however, is that the algorithm uses as subroutines the algorithms computing the faces of X and also other algorithms of X (its effective structure); otherwise, the algorithm is exactly the same for all simplicial sets. Therefore, the running time of H n X depends (heavily) on the running times of the algorithms of X and as such should be treated as a function of these running times. We have decided not to formalize this approach and, instead, we formulate our statements in the following vein: If all the algorithms of X run in polynomial time then so do the algorithms of H n X -here, the algorithms for X are those of an effective simplicial set, while those for H n X are those of an effective Abelian group; this involves, in particular, the algorithm outputting the isomorphism type.
Clearly, when speaking about the complexity of computing H n X, we must consider a class of simplicial sets and X should then be treated as an argument of H n . Technically, we consider X to be parametrized by a parameter p ∈ P that involves all the data needed for the computations inside X(p): a number of options is possible, e.g. one can specify a finite simplicial complex by the collection of its maximal simplices, one can specify a finite simplicial set as in Section 4.15 by the collection of its non-degenerate simplices and their faces, one can specify the Eilenberg-MacLane space K(π, n) via the group π (the list of the orders of its cyclic summands), etc. The face operator d j in all the simplicial sets X(p) of a given class will be required to be computed by a single algorithm that takes p as an extra argument, i.e. d j (p, x) computes the j-th face of the simplex x ∈ X(p). We will then say that X is a family of simplicial sets. We thus have a family of finite simplicial complexes, a family of finite simplicial sets, a family of Eilenberg-MacLane spaces K(π, n) (for all finitely generated Abelian groups π), etc.
Definition 4.29. Generally, our computational objects consist of a mathematical object and a set of algorithms. Denoting by C the class of all such computational objects, the individual objects will be referred to as C-objects and the required algorithms as C-algorithms.
Thus, to give a C-object (e.g. a weakly locally effective Abelian group), we need to supply a full set of C-algortihms for it (e.g. addition, etc.). As explained above, we have an obvious notion of a family of C-objects, where an extra parameter p ∈ P is added. Definition 4.31. A (computable) construction F : C → D is a mapping on the level of mathematical objects (generally multi-valued) together with a full set of D-algorithms that are allowed to use formal calls to C-algorithms. In this way, a C-object X gives rise to a D-object F * X, by replacing the formal calls by calls to the actual C-algorithms of X.
We say that this construction is polynomial time, if it preserves polynomial time objects, i.e. X polynomial time ⇒ F * X polynomial time.
Thus, a construction is like a D-object modulo C-algorithms and as such is suited for studying running times recursively. The following proposition, while very simple to prove, summarizes our approach to the running time analysis and explains why we do not have to deal with families of objects explicitly. Proposition 4.32. When X is a family of C-objects, F * X is a family of Dobjects. Assuming F to be a polynomial time construction, if X is a polynomial time family, then so is F * X.
With these notions at hand, we may simply say that the kernel is a polynomial time construction. However, we note that the name "kernel" only describes the mathematical part of the objects, thus we have to further specify the involved algorithms, i.e. that it takes a computable homomorphism between effective Abelian groups and gives an effective Abelian group. Remark 4.33. In this way, for different families of homomorphisms, we get different families of kernels, i.e. the actual codes will differ, although only in the involved calls, so that this approach leads to code duplication. Of course, there are standard ways of dealing with this problem and we will not comment on this further.
As a corrolary, the n-th homology group C → H n (C) is a polynomial time construction (from effective chain complexes to effective Abelian groups) and so is the total homology C → H * (C) valued in effective graded Abelian groups. However, the running times of our algorithms are very sensitive to dimension, so that we will need to truncate all objects.
Similarly, the association from weakly locally effective exact sequences with the outer groups effective to effective Abelian groups is a polynomial time construction. The preimage is interpreted as an association that is multi-valued, with the possibility of having no value at all (if b does not lie in the image of f ). As such, it is again a polynomial time construction.
Remark 4.34. In a family of weakly locally effective collections of groups and also in a family of computable collections of group homomorphisms, there are then employed two levels of parameters -one coming from it being a family and the other from it being a collection. We will explain this on the example of the exact sequence (3.37): The map ∆ takes as arguments pairs (ℓ n , h) with ℓ n : X → P n and h : I × X → P n−1 a homotopy p n ℓ n ∼ p n ℓ n , relative to A; note that the conditions on h depend on the parameter ℓ n . In the setting of families, ∆ takes an extra argument p that specifies X, Y , etc.: clearly, the conditions on ℓ n depend on this extra parameter, so that the arguments dependences are (p, ℓ n (p), h(p, ℓ n (p))) and the two parameter levels are not independent.

Proof of the main theorem
Now that we have defined the main notions, we are able to give a more detailed outline of the proof together with references to the appropriate statements forming the steps in the proof. Theorem 3.42 reduces the computation of [X, Y ] A to that of the Abelian heap [ΣX, ΣY ] ΣA . Then, according to Theorem 3.30, we may replace ΣY by its Postnikov stage P (n), as long as n ≥ dim(ΣX) = 1 + dim X. We will thus compute [ΣX, P (n)] ΣA inductively and finish with n = 1 + dim X. According to Theorem 3.31, we further replace P (n) by the truncated tower P n , so that we are left to compute inductively [ΣX, P n ] ΣA (this, generally non-Abelian, heap is in fact computable even without the stability assumption, using methods of this paper together with those of [11]). A pointwise homologically effective Postnikov system is constructed in Theorem 9.2. Theorem 6.7 then equips each [ΣX, P n ] ΣA with a weakly locally effective Abelian heap structure and these are organized in an exact sequence (3.37), which is weakly locally effective by Theorem 7.2 and by induction. Finally, the algorithm of Theorem 7.5 either finds out that [ΣX, P n ] ΣA is empty or equips this set with a structure of an effective Abelian group.
To set up the full computational strength of the main exact sequence, we will need to lift maps along the stages of the Postnikov tower. This is classically handled by the obstruction theory and we will thus have to develop its computational version. The importance of the suspension as a domain will come into the play at the very end; for this reason, we will work all the time with homotopy classes of maps from X to a Postnikov tower P of Y but with a view of applying the machinery to ΣX, ΣY as explained above.
Running times. All the results invoked in the above proof are described as polynomial time constructions of Definition 4.31. Thus, so is their composition landing in the class of effective Abelian groups. Proposition 4.32 then shows that any polynomial time family of the input data produces a polynomial time family of the outputs. This holds regardless of an explicit way of encoding the input diagrams and maps, it is only required that all the (obvious) tasks should be computable in polynomial time; on the other hand, we outlined in Section 4.28 a simple way of encoding finite simplicial sets and this can be easily extended to finite diagrams of finite simplicial sets. Through this encoding (or any other), we thus obtain a concrete realization of our algorithm that is polynomial time.
6 Computational obstruction theory Assumption 6.1. We will assume throughout this section that the Postnikov system ϕ : Y → P is pointwise homologically effective; later, this will be strengthened but at this point we will make do with P being locally effective and all diagrams of homotopy groups being effective.
In addition, we will assume that (X, A) is an effective pair of diagrams.
For running time analysis, we have to fix a bound on the dimensions of all objects. In this case, one should read all of the statements below as describing polynomial time constructions. That is, given that the pointwise homologically effective Postnikov system is polynomial time, as well as all the additional input data in the statements, the same holds for the output.
We will now describe (effective) obstruction theory for diagrams: in order to lift a homotopy class in [X, P n−1 ] A to a homotopy class in [X, P n ] A , we represent the original homotopy class by a map of towers X → P n−1 under A so that we get, according to Theorem 3.31, to the following equivalent situation. Proof. Since p n is a pullback of δ n , we obtain an equivalent lifting problem By adjunction between (n) and [n], this is further equivalent to the corresponding lifting problem at level n: This lifting problem is translated to a cohomological problem in C n+1 (X(n), A(n); π n ) as usual -Lemma 6.3 makes this translation and solves the cohomological problem.
Finally, since P (n) is a pullback in the right hand side square by Lemma 3.28, it is easy to compute a lift X(n) → P (n), and thus X → P n , from the lift in the composite square. Lemma 6.3. There is an algorithm that, given an effective pair of diagrams (X ′ , A ′ ), an effective diagram of Abelian groups π ∈ Ab−I and a computable commutative square of diagrams Proof. Thinking of c as a cochain in C n (A ′ ; π), we extend it to a cochain on X ′ by mapping all n-cells not in A ′ to zero. This prescribes a map c : X ′ → W K(π, n) that is a solution of the lifting-extension problem from the statement for z replaced by δ c. 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

W K(π, n)
A solution of this problem is a relative cochain c 0 whose coboundary is z 0 = z −δ c (this c 0 yields a solution c+c 0 of the original problem). Since C * (X ′ , A ′ ) is effective, such a c 0 is computable whenever it exists (and it always exists in the case H n+1 (X ′ , A ′ ; π) = 0). Whenever C * (X, A) is acyclic, there exists a contraction of C * (X, A) (see Proposition 8.15 and recall that (X, A) is assumed to be effective) and therefore its cohomology groups with arbitrary coefficients are zero. Thus, in this situation, all possible obstructions are zero and we may proceed inductively, using Proposition 6.2, to lift through arbitrary number of stages. As special cases, we obtain the following two results. Proposition 6.4 (homotopy lifting). Under Assumpition 6.1, given a computable commutative square it is possible to compute a lift. In other words, one may lift homotopies in Postnikov towers algorithmically.
The second result concerns algorithmic concatenation of homotopies. Let 1 denote the first horn in the standard 2-simplex ∆ 2 , i.e. the simplicial subset of the standard simplex ∆ 2 spanned by the faces face 01 and face 12 , where face jk ∼ = I denotes the subsimplex with vertices j, k. Given two homotopies h 2 , h 0 : I × X → Y that are compatible, in the sense that h 2 is a homotopy from ℓ 0 to ℓ 1 and h 0 is a homotopy from ℓ 1 to ℓ 2 , one may prescribe a map Proposition 6.5 (homotopy concatenation). Under Assumpition 6.1, given a computable commutative square it is possible to compute a lift. In other words, one may concatenate homotopies in Postnikov towers algorithmically.
Since the algorithm takes the restrictions of homotopies to (∂I×X)∪(I×A) as an input, we obtain as a corollary: Corollary 6.6. Under Assumpition 6.1, [I × X, P n−1 ] A • is a weakly locally effective collection of groups.
In the case that the homotopies are not relative, i.e. constant on A, it is not possible to concatenate and we only get a heap structure. Theorem 6.7. Under Assumpition 6.1, it is possible to equip [ΣX, P n ] ΣA with a weakly locally effective Abelian heap structure.
Proof. There is an obvious isomorphism coming from the definition of a suspension as a quotient of the cylinder: [ΣX, P n ] ΣA ∼ = [I × X, P n ] (∂I×X)∪(I×A) (in fact, the right hand side is slightly more general in that it allows the maps to be fixed on the two ends of the cylinder in a non-constant way). In accordance with Theorem 3.31, we will work with maps of towers I × X → P n under the appropriate subspaces. Given three maps of towers ℓ 1 , o, ℓ 2 : I × X → P n , we organize them into a single map (face 13 ×X) ∪ (face 12 ×X) ∪ (face 02 ×X) and we note that the tower on the left is (face 13 ∪ face 12 ∪ face 02 ) × X.
Together with the composite (the first map takes vertices 0, 1 ∈ ∆ 3 to the vertex 0 ∈ I and vertices 2, 3 ∈ ∆ 3 to 1 ∈ I, while the second map is the common restriction of ℓ 1 , o, ℓ 2 ), these describe the top map in the diagram An extension can be computed inductively using Proposition 6.2 as in the previous special cases and its restriction to face 03 ×X, denoted by ℓ in the above picture, gives a representative of [ℓ 1 ] + [o] [ℓ 2 ]. It is standard that the resulting map ℓ is unique up to homotopy relative to (∂I × X) ∪ (I × A).
We remark that, as a slight simplification, it is enough to extend first to the face face 123 ×X and then to face 023 ×X in order to obtain ℓ.

An exact sequence and the inductive computation
Assumption 7.1. In addition to Assumption 6.1, we require the inductive hypothesis that [I × X, P m ] ∂ • is an effective collection of Abelian groups, for all m < n. In fact, this holds even without the stability assumption, although these groups are generally not Abelian but only polycyclic, see [11].
Again, once a bound on the dimensions of all objects is fixed, all the theorems prescribe polynomial time constructions, i.e. if all the inputs are assumed to be polynomial time, the same holds for the output.
We recall the exact sequence (3.37): Theorem 7.2. Under Assumpition 7.1, the above is a weakly locally effective exact sequence.
Proof. All terms are represented by maps of towers. This is covered by Theorem 3.31 and Lemma 3.32. The computability of various maps in the diagram is clear and the weak locally effective group structure on the first term is provided by Corollary 6.6. The computability of the basepoint of the last term follows from Lemma 7.3, since the basepoint is given as an arbitrary composition X → W K n δn − → W K n . A weak section of p n * is computed by lifting a map ℓ n−1 : X → P n−1 to P n , using Proposition 6.2. A weak section of ∆ • is computed as follows: given ℓ n : X → P n and ζ : X → K n such that ℓ n ∼ ℓ n + ζ, compute such a homotopy h using Lemma 7.4 and project it to P n−1 to obtain a preimage p n h, according to ∆ [ℓn] [p n h] = [ζ]. A weak section for the action is computed by a combination of the previous ingredients: given ℓ n , ℓ ′ n such that p n ℓ n ∼ p n ℓ ′ n , compute such a homotopy h using Lemma 7.4 and lift it, using Proposition 6.4 to a homotopy ℓ n + ζ ∼ ℓ ′ n to obtain a preimage ζ, according to [ Lemma 7.3. For any effective pair (X, A) of diagrams and any computable map A → W K n , we have [X, W K n ] A = * and a representative can be computed algorithmically.
Proof. We have [X, W K n ] A ∼ = [X(n), W K(π n , n)] A(n) . For any cellular A ′ → X ′ the extension problem is solvable -it just means that any cochain in C n (A ′ ; π) extends to a cochain in C n (X ′ ; π); any such extension is determined by the images of the cells of X ′ A ′ , e.g. we may assign them the zero value.
Applying this to A(n) → X(n) and to (∂∆ 1 ×X(n))∪(∆ 1 ×A(n)) → ∆ 1 × X(n) yields the existence of a map and the existence of a relative homotopy between any two such maps.
Lemma 7.4. An algorithms exists, computing for any given representatives ℓ n , ℓ ′ n with [ℓ n ] = [ℓ ′ n ] ∈ [X, P n ] A a homotopy ℓ n ∼ ℓ ′ n relative to A. Proof. Given ℓ n : X → P n , we define ℓ m to be the composition of ℓ n with the canonical projection P n → P m . We proceed by induction on the height m of the Postnikov tower to compute a homotopy h m : ℓ m ∼ ℓ ′ m . When a homotopy h m−1 : ℓ m−1 ∼ ℓ ′ m−1 has been computed, we lift it, using Proposition 6.4, to a homotopy h m−1 : ℓ ′′ m ∼ ℓ ′ m from some map ℓ ′′ m lying over ℓ m−1 . Then ℓ ′′ m = ℓ m + ζ m for a unique ζ m : X → K m , namely ζ m = ℓ ′′ m − ℓ m . Since Proposition 6.5 provides algorithmic means for concatenating homotopies, it remains to construct a homotopy h ′ m : ℓ m ∼ ℓ ′′ m . Consider the connecting homomorphism in (3.37) for stages P m−1 and P m , i.e.
From the exactness of (3.37) and from ℓ m ∼ ℓ ′ m ∼ ℓ ′′ m = ℓ m +ζ m , it follows that [ζ m ] lies in the image of ∆ ℓm . Since the target is effective by Lemma 7.9, the algorithm of Lemma 4.12 then computes some It is then easy to see (cf. [11,Proposition 7]) that the required homotopy h ′ m : ℓ m ∼ ℓ ′′ m can be computed as a lift of the homotopy h ′ m−1 as in (i.e. both ends of h ′ m prescribed): Proposition 6.2 provides an algorithm for the computation of h ′ m and the proof is finished.
Theorem 7.5. Under Assumpition 7.1, if the main exact sequence consists of weakly locally effective Abelian heaps and heap homomorphisms and if [X, P n−1 ] A is equipped with an effective Abelian group structure, then it is possible to algorithmically decide whether [X, P n ] A is non-empty and, if this is the case, further equip [X, P n ] A with an effective Abelian group. Remark 7.6. Our proof of the main theorem replaces the computation of [X, Y ] A by that of [ΣX, P ΣY n ] ΣA , for n ≥ 1 + dim X, with P ΣY n the Postnikov stage of ΣY , and then utilizes the above theorem, since the latter carries a natural weakly locally effective heap structure by Theorem 6.7. It is also possible to put a weakly locally effective heap structure directly on [X, P Y n ] A , with P Y n the Postnikov stage of Y ; namely, it is possible to construct a weak H-space structure (or rather a heap version of an H-space structure) on the Postnikov stage P Y , under the assumption n ≤ 2 conn Y . The advantage of this approach is that we need only dim X stages of the Postnikov tower P Y n and we believe that this should make the resulting algorithm faster in practice. We have decided to use the suspension ΣY mainly for the simplicity of the heap operation.
We now proceed with a few preliminary results needed for the proof of Theorem 7.5. 7.7 Translating zero. Let S be a group and p ∈ S an element. We define a new group structure on S, denoted by S p , by declaring the right translation S → S p , x → x + p, to be an isomorphism. Consequently, S p has zero p, addition x + p y = x − p + y and inverse − p x = p − x + p.
Proposition 7.8. If the group S is weakly locally effective or effective, then so is S p .
Proof. The weak local effectiveness is obvious from the formulas. If S is effective with generators a i of orders q i , then S p is effective with generators the translates a i + p of the same orders q i . An expression of a as an integral combination in S p is obtained by translating to S, i.e. by computing the coefficients of a − p as an integral combination of the a i in S.
Before starting the proof of Theorem 7.5, we prove the full effectivity of the cohomology groups of an effective pair (X, A). This will be the basic building stone. Lemma 7.9. Let (X, A) be an effective pair of diagrams. Let c : A → W K(π, n) be a fixed computable map and make W K(π, n) into a diagram under A via δc. Then it is possible to equip [X, W K(π, n)] A with a structure of an effective Abelian group; the elements are represented by maps X → W K(π, n) whose restriction to A equals δc.
Proof. According to Lemma 7.3, the set [X, W K(π, n)] A has a single element, obtained by extending c to a map c : X → E(π, n) and, thus, there is a well defined element [δ c] ∈ [X, W K(π, n)] A ; it will serve as the zero of the group.
Denoting the group from the statement temporarily by [X, W K(π, n)] A,c to stress the chosen map c, we have an isomorphism computable together with its inverse. We will thus assume from now on that c = 0 and drop it again from the notation.
In this situation we have an isomorphism computable in both directions. Since the cochain complex C * (X, A; π) = Hom(C * (X, A), π) clearly consists of effective Abelian groups and since these are closed under subgroups and quotients, the cohomology group is also effective.
The proof of Theorem 7.5 consists of two main steps: Considering the set [X, W K n ] A of homotopy classes of maps whose restriction to A equals δ n q n f n , and equipping it with zero [k n o n−1 ], the map k n * : [X, P n−1 ] A → [X, W K n ] A becomes a computable homomorphism between effective Abelian groups. We remark that the zero [k n o n−1 ] is generally different from the natural zero exhibited in the proof of Lemma 7.9 -we will denote this natural zero by 0. According to Lemma 4.12, it is possible to decide whether 0 lies in the image of k n * and compute some o ′ n−1 such that k n * [o ′ n−1 ] = 0. Then, using Proposition 6.2, it is possible to lift o ′ n−1 : X → P n−1 to a map o n : X → P n that will represent our new basepoint [o n ] ∈ [X, P n ] A . If 0 does not lie in the image of k n * then [X, P n ] A is empty. By Lemma 4.9, both coker ∆ on and ker k n * are effective. Since the indicated weak sections are induced by those of (3.37), Lemma 4.11 applies and [X, P n ] A becomes effective.
8 Effective homological algebra 8.1 Homologically effective diagrams. In this section, we define homologically effective diagrams of chain complexes and simplicial sets, introduced originally in the article [12] under the name of diagrams with effective homology, and describe several constructions with such diagrams. We begin by introducing reduction and strong equivalence of diagrams: such that α and β are chain maps satisfying the following conditions: One of the most important and well known examples of a reduction is the following, first given in [7,8]: Example 8.4 (Eilenberg-Zilber reduction). Let X, Y be simplicial sets. Then there is a reduction The operators in the reduction data can be computed using the acyclic models theorem as e.g. in [16], Chapter 28 and they are not unique. We will further use the reduction data presented in Theorem 2.1a of [7]. An important observation is that the operators of the reduction data are based on the face and degeneracy maps which means that the reduction is functorial in simplicial sets, so that the above example extends to diagrams of simplicial sets. Definition 8.5. A strong equivalence C ⇐ ⇐ ⇒ ⇒ C ′ of diagrams of chain complexes is defined as a span of reductions C ⇐ ⇐ C ⇒ ⇒ C ′ .
Strong equivalences of diagrams can be composed as in the case of strong equivalences of chain complexes.
Given a category I, we denote by I the category with the same set of objects but with identity arrows only. There is an obvious inclusion I → I and thus a diagram X : I → C induces a diagram X : I → C.
The following definition generalizes the concept of an object with effective homology (see [19]) to the context of diagrams: Definition 8.6.
• We say that a locally effective diagram of chain complexes C is homologically effective if there is given an effective diagram C ef ∈ Ch−I and a strong equivalence C ⇐ ⇐ ⇒ ⇒ C ef .
• We say that a locally effective diagram of chain complexes C is pointwise homologically effective if its restriction C ∈ Ch− I is homologically effective. Concretely, this consists of a collection of strong equivalences C(i) ⇐ ⇐ ⇒ ⇒ C ef (i) (not necessarily natural in i ∈ I).
• A locally effective diagram of simplicial sets X ∈ sSet−I is (pointwise) homologically effective if C * (X) is (pointwise) homologically effective.
As an important example, the diagram W K(π, n), where π ∈ Ab−I and n ≥ 1 is pointwise homologically effective, which follows from [5,Theorem 3.16]. In general, we aren't aware of an algorithm that would show it is homologically effective. However, in special cases such as when W K(π, n) is cofibrant, we obtain homologically effective W K(π, n) (see Proposition 8.13).

8.7
Constructions with homologically effective diagrams. We now introduce the standard results of homological perturbation theory in the context of diagrams of chain complexes. We will utilise them to prove that certain objects, such as cofibrant replacements, are homologically effective.
Definition 8.8. Let C, C ′ ∈ Ch−I. Notice that the differential ∂ on C can be seen as a natural transformation C → C [1] satisfying ∂∂ = 0. Here C[1] is diagram of chain complexes C with all the chain complexes moved up by one dimension. We call a collection of maps δ : C → C [1] perturbation if the sum ∂ + δ is also a differential.
In particular, the tensor product of a homologically effective diagram of chain complexes with a homologically effective chain complex is a homologically effective diagram of chain complexes.
2. Let C, D ∈ Ch−I be homologically effective. Then so is C ⊕ D ∈ Ch−I.
3. Let C, D ∈ Ch−I be homologically effective and f : C → D computable. Then the mapping cylinder M f ∈ Ch−I is homologically effective.
Proof. In the first point, the strong equivalences are closed under the tensor product, so that we have C ⊗ D ⇐ ⇐ ⇒ ⇒ C ef ⊗ D ef and the right hand side C ef ⊗ D ef is effective with cells the tensor products of the cells of C ef and of D ef . The special case in the first point is obtained by taking J to be the trivial one-object category.
The second point is trivial and the final claim follows from [5,Proposition 3.8].
In what follows we are going to apply a general lemma about filtered diagrams of chain complexes. Let C ∈ Ch−I. We consider a filtration F on diagram C of chain complexes: such that C = k F k C. We further assume that each F k C is a cellular subcomplex i.e. it is generated by a subset of the given basis of C and that the filtration is locally finite i.e. for each n we have F k C n = C n for k ≫ 0. . Let C ∈ Ch−I be a diagram of chain complexes with filtration F satisfying properties as above. If each filtration quotient G k C = F k C/F k−1 C is homologically effective then so is C.
Proof. We define G = k≥0 G k . The sum is locally finite: By the properties of F , we get that G k C n = 0 for k ≫ 0. Thus for each n, we get a direct sum of homologically effective diagrams G k C n ∈ Ch−I and it follows that G is homologically effective.
The diagram C can be seen as a perturbation of G. This perturbation decreases the filtration degree. If we take a direct sum of given strong equivalences G k ⇐ ⇐ G k ⇒ ⇒ G ef k , we obtain a strong equivalence G ⇐ ⇐ G ⇒ ⇒ G ef . All the chain complexes are equipped with a filtration degree. Since the perturbation on G decreases the filtration degree, while the homotopy operator preserves it, we can apply the perturbation lemmas 8.9, 8.10 to obtain a strong equivalence C ⇐ ⇐ C ⇒ ⇒ C ef .
The main application of the lemma is in the proof of the following result: Proposition 8.13 (Theorem 1.3, Proposition 1.2 in [12]). Let X ∈ sSet−I be a pointwise homologically effective diagram. Then its Bousfield-Kan cofibrant replacement X cof is homologically effective.
Proof. We remind that for any category I there is a simplicial set N I, the nerve of I. The simplicial set N I can be seen as a homotopy colimit of the diagram consisting of points. Then there is a projection q : X cof → N I given as a projection onto n≥0 i 0 ,··· ,in ∆ n × I(i 1 , i 0 ) × · · · × I(i n , i n−1 )/∼ and we define the skeleton of X cof : sk k X cof = q −1 (sk k N I).
We want to use Lemma 8.12 to prove that the diagram C * (X cof ) ∈ Ch−I is homologically effective. Therefore, we first have to introduce a filtration F on the diagram of chain complexes C * (X cof ). We define F as follows: The sum is taken over chains of morphisms in I that do not contain identity as those are cancelled out when taking the quotient G k = F k /F k−1 . By the finiteness of I, the number of nondegenerate chains of morphisms of length k is finite, so the sum is finite. The Eilenberg-Zilber reduction yields in this case By definition, ZI(−, i k ) ∈ Ch−I is effective and so is C * (∆ k , ∂∆ k ) ∈ Ch with a single generator in dimension k. By assumption, C * (X(i 0 )) ∈ Ch is homologically effective and thus, by Lemma 8.11, so is each summand in (8.14): The direct sum is then homologically effective too, making G k (C * (X cof )) itself homologically effective. Now we can apply Lemma 8.12 to complete the proof.
In order to construct Postnikov invariants in the Postnikov tower of a diagram Y , the following proposition will be used. Before the statement itself, we define the diagram of cycles Z: Given an effective diagram of chain complexes C ∈ Ch−I, there is a diagram of cycles Z k ∈ Ab−I such that Z k (i) is the subgroup of cycles in C k (i).
Proposition 8.15. Let C ∈ Ch−I be an effective diagram of chain complexes such that H k (C) = 0 for k ≤ n. Then there is a (computable) retraction r : C n+1 → Z n+1 i.e. a homomorphism that restricts to the identity on Z n+1 .
Proof. The proof is a straightforward generalization of the proof of Proposition 2.12 in [6]. We will compute inductively a contraction σ : C k → C k+1 , for k ≤ n, i.e. a map satisfying ∂σ + σ∂ = id and we use it to split off the cycles, namely we set r = id −σ∂.
Since C is effective, the cells e α form a set of free generators of C k ∈ Ab−I. Thus, we only need to compute σ(e α ) so that ∂σ(e α ) + σ∂(e α ) = e α i.e. ∂σ(e α ) = e α − σ∂(e α ). This σ(e α ) is computed by a Smith normal form algorithm (or the more general Lemma 4.12), provided that it exists; since B k (C) = Z k (C) by assumption, we only need to verify the following (by a very easy argument using induction hypothesis) ∂(e α − σ∂(e α )) = 0.

8.16
Representing a map of diagrams by an effective cocycle. In the Postnikov system algorithm, we will encounter the following situation: We consider a homologically effective diagram X ∈ sSet−I, so that there is given a strong equivalence C * (X) ⇐ ⇐ ⇒ ⇒ C ef * (X) to an effective diagram C ef * (X). Let f : C * (X) → C ef * (X) be the composite (natural) map in the strong equivalence. Let us also consider a (k + 1)-cocycle for some diagram of effective Abelian groups π. The superscript "ef" emphasise that the cocycle belongs to the "effective" cochain complex C * ef (X; π) obtained from the effective diagram C ef * (X) associated to X. Then ψ ef can be represented by a system of finite matrices, since it can be seen as a collection of maps from chain groups C ef k+1 (X) of finite rank into π(i), i ∈ I. The composition ψ = f ψ ef : C * (X) → C ef * (X) → π is then also a cocycle and thus corresponds to a simplicial map ψ : X → W K(π, k).
In the construction of Postnikov systems, we will encounter the following situation: We are given a diagram of simplicial sets P ∈ sSet−I, plus a mapping f : P → W K(π, n), for some diagram of Abelian groups π ∈ Ab−I and a fixed n ≥ 1. Now we define a diagram Q ∈ sSet−I as the pullback according to the following commutative diagram: A result from [5], then gives the following Corollary 8.17 (Corollary 3.18 in [5]). Given π, n, P, f as above, where π is an effective diagram of Abelian groups, the diagram P is pointwise homologically effective, and f is computable, the pullback diagram Q is pointwise homologically effective.
8.18 Computational complexity. As explained, for the running time analysis we need the polynomial time versions of the above results, i.e we view them as suitable polynomial time constructions. The majority of these claims are straightforward generalizations of the results given in [5,Section 3].
• Perturbations lemmas: The polynomial time version of Lemma 8.10, requires a stronger nipotency condition: for every k ≥ 0, there exist some N (k) ≥ 0 such that (ηδ) N (k) (x) = 0 for all x ∈ C k . Under this condition, if the input data (chain complex and reduction) are polynomial time, then so is the output chain complex and reduction data. This further implies a polynomial time version of Lemma 8.12.
• Polynomial time versions of Lemma 8.11 and Corollary 8.17 are obtained in the same way as in [5,Section 3], from which Proposition 8.13 follows.
• A polynomial time version of Proposition 8.15 follows from the fact that there is a polynomial time algorithm computing the Smith normal form.

Postnikov tower for diagrams
In this section, we formally define an algorithmic (homologically effective) version of the Postnikov system of a diagram Y which is used for computations in this paper. Then we describe an algorithm that produces the algorithmic version of the tower in case Y is pointwise homologically effective and 1-connected. Formally, we first state the existence of such algorihm in Theorem 9.2. The proof is then given by first describing the algorithm and then proving its correctness. The algorithm was originally presented in first author's thesis [10]. Here, we give a slightly shorter version that covers the most important points of the construction.
• Effective diagrams of Abelian groups π j (Y ) representing the homotopy groups of Y , 1 ≤ j ≤ n.
Theorem 9.2 (Precise formulation). Let n ≥ 2 be fixed, let Y : I → sSet be a finite pointwise homologically effective diagram such that every space in the diagram Y is 1-connected. Then there is an algorithm that computes the pointwise homologically effective n-stage Postnikov system for Y .
9.3 Description of the algorithm. The algorithm we present here is in fact a modification of an algorithm that constructs a Postnikov tower for 1connected simplicial sets presented in [5]. The main difference can be seen in the application of Proposition 8.15, which will be stressed later.
(9) Apply Corollary 8.17 to obtain P (j) as a pullback in the diagram and set ϕ(j) = (ϕ(j − 1) cof , ℓ j ) as the map to the pullback P (j). 9.5 Correctness of the algorithm. The correctness of the algorithm follows nearly directly from the proof of Theorem 4.1 in [5], where this is proven "pointwise". Here, one has to show further that maps r, ρ, λ j , ℓ j , κ j , k j are well defined morphisms of diagrams, which is a matter of technical verification and is described in full in [10]. Further, we use the fact that P (j − 1) cof is homologically effective, hence so is the mapping cone M and Proposition 8.15 may be applied. 9.6 Computational complexity. Considering the computational complexity, the algorithm described in Theorem 9.2, can be formulated as follows: Theorem 9.7. Let n and I be fixed. The association Y → P , that takes a 1-connected diagram Y of finite simplicial sets and gives its pointwise homologically effective n-stage Postnikov tower, is a polynomial time construction.
2. Given a polynomial time computable map ϕ(j−1) cof : Y (j) → P (j−1) cof between polynomial-time homologically effective diagrams, the remaining data in the diagram (9.4) consists of polynomial time pointwise homologically effective diagrams and polynomial time computable maps.
First point follows from the proof of Proposition 8.13. The second point is achieved "pointwise" using methods from [5], thus they are polynomial time.
The only difference is in the computation of retraction r : M ef j+1 → Z j+1 (M ef ) which is polynomial time by Lemma 8.15.

Applications
10.1 The Tverberg-type problem. In the article [15], Mabillard and Wagner formulated the following generalization of the classical Haefliger-Weber theorem: Theorem 10.2 (Theorem 1 in [15]). Let K be a (finite) simplicial complex of dimension k and r, d ∈ N such that r ≥ 2, d − k ≥ 3 and rd ≥ (r + 1)k + 3. Then there is an r-almost embedding f : K → R d if and only if there exists a S r -equivariant map K r \ ∆ r → S d(r−1)−1 .
Here the space K r \∆ r is the r-fold product of K, with the "fat" diagonals removed. Its cells can be viewed as r-tuples (σ 1 , . . . σ r ), where σ i ∈ K and σ i ∩ σ j = ∅ for i = j. The action of the symmetric group S r on K r \ ∆ r is induced by the permutation action on K r and is thus free.
The sphere S d(r−1)−1 is homotopy equivalent to (R d ) r \δ r , for δ r = {(y, · · · , y)| y ∈ R d }, i.e. the r-fold products with the "thin" diagonal removed and the action on S d(r−1)−1 is induced by the action on (R d ) r , which permutes the r-factors. It follows that the action on S r , has fixed points and for any H ≤ S r , we get ((R d ) r \ δ r ) H ∼ (S d(r−1)−1 ) H = S dq−1 , where 0 ≤ q ≤ (r − 1). We remark that given K ≤ S r subconjugate to H, we get (S d(r−1)−1 ) H ⊆ (S d(r−1)−1 ) K . Remark 10.3. We remark that the proof of Mabillard-Wagner theorem in [14] was criticised by A. Skopenkov, who summarized his critique in [20] and proved the theorem in [21, Theorem 1.2].
10.4 Equivariant stable homotopy groups of spheres. In this section, we describe how Theorem 1.4 can be applied to the computation of equivariant stable homotopy groups of G-spaces (represented as G-simplicial sets). We showcase this on the example of Z 2 equivariant stable homotopy groups of spheres. We are using [17, Chapter IX] as our source of definitions in this section.
10.5 Basic notions. Let G be a finite group, and let V be a representation of G, i.e. a real inner product space (in our case we always assume a finite dimensional vector space over R) on which G acts via linear isometries. 11 For a representation V , we have the unit disc D(V ) = {x ∈ V, x ≤ 1} and sphere S(V ) = {x ∈ V, x ≤ 1} and finally S V -a one point compactification (or S V ∼ = D(V )/S(V )). For a based G-space X, we write Σ V X = X ∧ S V . As an application of Freudenthal suspension theorem, we obtain that the map is surjective if (i) dim(X H ) ≤ 2 conn(Y H ) + 1 for all subgroups H such that V H = 0.
(ii) dim(X H ) ≤ conn(Y K ) for all pairs of subgroups K ≤ H with V K = V H . and bijective if the inequality is strict.
Let us describe how one can see S V 0 , where V 0 is the regular representation of a finite group G (over R): The regular representation is a vector space of dimension |G| and, identifying the coordinate unit vectors with the elements of G, the group G acts by swapping them. Clearly, the dimension of S V 0 is |G|. From here one can deduce a simplicial set model of S V 0 . For example, for G = Z 2 , the space S V 0 is just a 2-sphere and we can model it by glueing two discs D + , D − along their boundary (the equator), group acts by switching the discs, while it keeps the equator fixed, thus (S V 0 ) Z 2 ∼ = S 1 . In simplicial sets, we can thus model S V 0 by having two 2-simplices σ, τ and glue them along their faces, say by setting d 0 σ = d 0 τ and d 1 σ = d 1 τ = d 2 σ = d 2 τ = s 0 d 0 d 0 σ is the basepoint. The action of Z 2 swaps σ and τ . Definition 10.6 (IX, Definition 2.1, [17]). A G-universe U is a countable direct sum of representations such that U contains a trivial representation and also contains each of its sub-representations infinitely often. Thus we can write U as a direct sum of subspaces (V i ) ∞ , where {V i } runs through the set of distinct irreducible representations of G. Universe is complete if, up to isomorphism, it contains every irreducible representation of G. If G is finite and V is its regular representation, then U = V ∞ is a complete G-universe. A finite dimensional sub-G space of U is said to be an indexing space in U .
We define the equivariant stable homotopy classes of maps X → Y as Where V goes through the indexing spaces in U and the colimit is taken over functions that are given by sending a map Σ V X → Σ V Y to its smash product with the identity of S W −V . Corollary 10.7 (IX, Corollary 2.3, [17]). If G is finite and X is finite dimensional, the Frudenthal suspension theorem implies the existence of a finite dimensional representation V 0 = V 0 (X) such that for any representation V is an isomorphism.
The definition of {X, Y } G then gives us Proof. The main idea is to choose a finite dimensional G-representation U satisfying dim(U K ) > dim(U H ) > 0 for any pair of subgroups K ≤ H ≤ G. Clearly, the regular representation, seen as the R[G]-module R[G], is such a representation. It is enough to observe that for an element x = k∈K k , it is true that xk = x, but for any h ∈ H \ K, we get xh = x. From a simple dimension and connectivity comparison it follows that there exists an integer k such that for V 0 = kU = U ⊕ · · · ⊕ U k-times , we get The inequalities (i), (ii) then imply the result.
From the corollary above and the definition of {X, Y } G , we get that for finite simplicial sets with an action of a finite group G there exists a (finite dimensional) G-representation V such that Example. Let us detail this general procedure in the case of the stable Z 2equivariant homotopy groups: from the discussion above, {S n , S 0 } Z 2 is isomorphic to [Σ kV S n , Σ kV S 0 ] Z 2 , where V is the regular representation of Z 2 . In this case, we have S V = S 2 and (S V ) Z 2 = S 1 and we can model this space as a simplicial set with two 2-cells, one 1-cell and one 0-cell.
Thus dim(Σ kV S n ) = 2k + n, conn Σ kV S n = 2k + n − 1, dim((Σ kV S n ) Z 2 = k + n and conn(Σ kV S n ) Z 2 = k + n − 1. As we further have Σ kV S 0 = Σ kV , we conclude that we are in the stable range if n < k − 1, thus to compute the n-th stable homotopy group of S 0 , we should use n + 1 fold suspension with the regular representation.