Skip to main content
Springer logoLink to Springer
. 2018 Sep 25;2(3):177–231. doi: 10.1007/s41468-018-0021-5

Computing simplicial representatives of homotopy group elements

Marek Filakovský 1,, Peter Franek 1, Uli Wagner 1, Stephan Zhechev 1
PMCID: PMC6777513  PMID: 31633005

Abstract

A central problem of algebraic topology is to understand the homotopy groupsπd(X) of a topological space X. For the computational version of the problem, it is well known that there is no algorithm to decide whether the fundamental groupπ1(X) of a given finite simplicial complex X is trivial. On the other hand, there are several algorithms that, given a finite simplicial complex X that is simply connected (i.e., with π1(X) trivial), compute the higher homotopy group πd(X) for any given d2. However, these algorithms come with a caveat: They compute the isomorphism type of πd(X), d2 as an abstract finitely generated abelian group given by generators and relations, but they work with very implicit representations of the elements of πd(X). Converting elements of this abstract group into explicit geometric maps from the d-dimensional sphere Sd to X has been one of the main unsolved problems in the emerging field of computational homotopy theory. Here we present an algorithm that, given a simply connected space X, computes πd(X) and represents its elements as simplicial maps from a suitable triangulation of the d-sphere Sd to X. For fixed d, the algorithm runs in time exponential in size(X), the number of simplices of X. Moreover, we prove that this is optimal: For every fixed d2, we construct a family of simply connected spaces X such that for any simplicial map representing a generator of πd(X), the size of the triangulation of Sd on which the map is defined, is exponential in size(X).

Keywords: Computational homotopy theory, Effective Hurewicz Theorem, Whitehead tower

Introduction

One of the central concepts in topology are the homotopy groupsπd(X) of a topological space X. Similar to the homology groupsHd(X), the homotopy groups πd(X) provide a mathematically precise way of measuring the “d-dimensional holes” in X, but the latter are significantly more subtle and computationally much less tractable than the former. Understanding homotopy groups has been one of the main challenges propelling research in algebraic topology, with only partial results so far despite an enormous effort (see, e.g., Ravenel 2004; Kochman 1990); the amazing complexity of the problem is illustrated by the fact that even for the 2-dimensional sphere S2, the higher homotopy groups πd(S2) are nontrivial for infinitely many d and known only for a few dozen values of d.

For computational purposes, we consider spaces that have a combinatorial description as simplicial sets (or, alternatively, finite simplicial complexes) and maps between them as simplicial maps.

A fundamental computational result about homotopy groups is negative: There is no algorithm to decide whether the fundamental groupπ1(X) of a finite simplicial complex X is trivial, i.e., whether every continuous map from the circle S1 to X can be continuously contracted to a point; this holds even if X is restricted to be 2-dimensional.1

On the other hand, given a space X that is simply connected (i.e., path connected and with π1(X) trivial) there are algorithms that compute the higher homotopy group πd(X), for every given d2. The first such algorithm was given by Brown (1957), and newer ones have been obtained as a part of general computational frameworks in algebraic topology; in particular, an algorithm based on the methods of Sergeraert (1994) and Rubio and Sergeraert (2002) was described by Real (1996).

More recently, Čadek et al. (2014b) proved that, for any fixed d, the homotopy group πd(X) of a given 1-connected finite simplicial set can be computed in polynomial time. On the negative side, computing πd(X) is #P-hard if d is part of the input (Anick 1989; Čadek et al. 2013b) (and, moreover, W[1]-hard with respect to the parameter dMatoušek 2014), even if X is restricted to be 4-dimensional. These results form part of a general effort to understand the computational complexity of topological questions concerning the classification of maps up to homotopy (Čadek et al. 2013a, b, 2014a; Filakovský and Vokřínek 2013) and related questions, such as the embeddability problem for simplicial complexes (a higher-dimensional analogue of graph planarity) (Matoušek et al. 2011, 2014; Čadek et al. 2017).

Our results: representing homotopy classes by explicit maps

By definition, elements of πd(X) are equivalence classes of continuous maps from the d-dimensional sphere Sd to X, with maps being considered equivalent (or lying in the same homotopy class) if they are homotopic, i.e. if they can be continuously deformed into one another (see Sect. 3 for more details).

The algorithms of Brown (1957) or Čadek et al. (2014b) mentioned above compute πd(X) as an abstract abelian group, in terms of generators and relations.2 However, they work with very implicit representations of the elements of πd(X).

On the other hand, assuming that X is finite, 0-reduced and (d-1) connected, Berger (1991, 1995) presented an algorithm that computes generators of πd(X) as explicit simplicial maps.

Combining this algorithm with an algorithmic construction of the Whitehead tower, we managed to drop the condition on the connectivity and obtained the main result of this paper: an algorithm that, given an element α of πd(X), computes a suitable triangulation Σd of the sphere Sd and an explicit simplicial map ΣdX representing the given homotopy class α.

Apart from the intrinsic importance of homotopy groups, we see this as a step towards the more general goal of computing explicit maps with specific topological properties; instances of this goal include computing explicit representatives of homotopy classes of maps between more general spaces X and Y (a problem raised in Čadek et al. 2014a) as well as computing an explicit embedding of a given simplicial complex into Rd (as opposed to deciding embeddability). Moreover, these questions are also closely related to quantitative questions in homotopy theory (Gromov 1999) and in the theory of embeddings (Freedman and Krushkal 2014). See Sect. 1.2 for a more detailed discussion of these questions.

Throughout this paper, we assume that the input X is simply connected, i.e., that it is connected and has trivial fundamental group π1(X). For the purpose of the exposition, we will assume that X is given as a 1-reduced simplicial set, encoded as a list of its nondegenerate simplices and boundary operators given via finite tables. We remark that the class of 1-reduced simplicial sets contains standard models of 1-connected topological spaces, such as spheres or complex projective spaces. A more general version of the theorem that also includes simply connected simplicial complexes is discussed in Sect. 4.

Theorem A

There exists an algorithm that, given d2 and a finite 1-reduced simplicial set X, computes a set of generators g1,,gk of πd(X) as simplicial maps ΣjdX, for suitable triangulations Σjd of Sd, j=1,,k.

For fixed d, the time complexity is exponential in the size (number of simplices) of X; more precisely, it is O(2P(size(X))) where P=Pd is a polynomial depending only on d.

Any element of πd(X) can be expressed as a sum of generators, and expressing the sum of two explicit maps from spheres into X as another explicit map is a simple operation. Hence, the algorithm in Theorem A can convert any element of πd(X) into an explicit simplicial map.

Theorem A also has the following quantitative consequence: Fix some standard triangulation Σ of the sphere Sd, e.g., as the boundary of a d+1-simplex. By the classical Simplicial Approximation Theorem (Hatcher 2001, 2.C), for any continuous map f:SdX, there is a subdivision Σ of Σ and a simplicial map f:ΣX that is homotopic to f. Theorem A implies that if f represents a generator of πd(X), then the size of Σ can be bounded by an exponential function of the number of simplices of X.

Furthermore, we can show that the exponential dependence on the number of simplices in X is inevitable:

Theorem B

Let d2 be fixed. Then there is an infinite family of d-dimensional 0-reduced 1-connected simplicial sets X such that for any simplicial map ΣX representing a generator of πd(X), the triangulation Σ of Sd on which f is defined has size at least 2Ω(size(X)). If d3, we may even assume that X are 1-reduced.

Consequently, any algorithm for computing simplicial representatives of the generators of πd(X) for 1-reduced simplicial set X has time complexity at least 2Ω(size(X)).

In Sects. 4 and 5, we state and prove generalizations of Theorems A and B denoted as Theorems A.1 and B.1 . They remove the assumption that X is 1-reduced and replace it by a more flexible certificate of simply connectedness, allowing the input space X to be a more flexible simplicial set or simplicial complex.

This reduction from simplicial sets to simplicial complexes is achieved using a technical result we formulate later in the text as Lemma 6. The main ideas of this Lemma can be summarized as follows. For a finite simplicial complex Xsc endowed with a certificate of 1-connectedness, we choose a spanning tree T and contract it into a point, creating a 0-reduced simplicial set X=Xsc/T. The certificate of 1-connectedness transfers to X and generalizes the 1-reduceness assumption in Theorem A. Once we compute a homotopy representative ΣX, we then convert it to an equivalent map Sd(Σ)Xsc where Sd is a suitable subdivision functor, see Sect. 8 for details.

Source of the exponential

Let us briefly discuss the source of the exponential time complexity bound: Given the X as an input in Theorem A, the algorithm computes a set of generators of πd(X). These have an algebraic representation as elements of a simplicial group G. In particular, a generator gG of πd has a form g=γ1α1γnαn, where the elements γi are some agreed upon generators of G. The size of the exponents αi is considered in a standard way (i.e. number of bits). All steps are polynomial up to this point.

The exponential blowup happens, when we assign a simplicial model of a sphere to g=γ1α1γnαn. The resulting sphere will contain i=1n|αi| number of distinct d-simplices. This number can be large (even though its bit-size is polynomial). Hence, just outputting all these simplices could have exponential-time complexity in the input. In Theorem B, we show that this blowup really happens.

We remark that, in the boundary case of 1-reduced simplicial sets for d=2 (outside the scope of Theorem B), we don’t know whether the lower complexity bound is sub-exponential or not. However, we can show that the algorithm from Theorem A is optimal in that case as well, see a discussion in Sect. 5.

Related and future work

Computational homotopy theory and applications

This paper falls into the broader area of computational topology, which has been a rapidly developing area (see, for instance, the textbooks Edelsbrunner and Harer 2010; Zomorodian 2005; Matveev 2007); more specifically, as mentioned above, this work forms part of a general effort to understand the computational complexity of problems in homotopy theory, both because of the intrinsic importance of these problems in topology and because of applications in other areas, e.g., to algorithmic questions regarding embeddability of simplicial complexes (Matoušek et al. 2011; Čadek et al. 2017), to questions in topological combinatorics (see, e.g., Mabillard and Wagner 2016), or to the robust satisfiability of equations (Franek and Krčál 2015).

A central theme in topology is to understand the set [XY] of all homotopy classes of maps from a space X to a space Y. In many cases of interest, this set carries additional structure, e.g., an abelian group structure, as in the case πd(X)=[Sd,X] of higher homotopy groups that are the focus of the present paper.

Homotopy-theoretic questions have been at the heart of the development of algebraic topology since the 1940’s. In the 1990s, three independent groups of researchers proposed general frameworks to make various more advanced methods of algebraic topology (such as spectral sequences) effective (algorithmic): Schön (1991), Smith (1998), and Sergeraert, Rubio, Dousson, Romero, and coworkers (e.g., Sergeraert 1994; Rubio and Sergeraert 2002, 2005; Romero et al. 2006; also see Rubio and Sergeraert 2012 for an exposition). These frameworks yielded general computability results for homotopy-theoretic questions (including new algorithms for the computation of higher homotopy groups Real 1996), and in the case of Sergeraert et al., also a practical implementation in form of the Kenzo software package (Heras et al. 2011).

Building on the framework of objects with effective homology by Sergeraert et al., in recent years a variety of new results in computational homotopy theory were obtained (Čadek et al. 2013b, 2014a, b, 2017; Krčál et al. 2013; Vokřínek 2017; Filakovský and Vokřínek 2013; Romero and Sergeraert 2012, 2016), including, in some cases, the first polynomial-time algorithms, by using a refined framework of objects with polynomial-time homology (Krčál et al. 2013; Čadek et al. 2014b) that allows for a computational complexity analysis. For an introduction to this area from a theoretical computer science perspective and an overview of some of these results, see, e.g., Čadek et al. (2013a) and the references therein.

Explicit maps

As mentioned above, the above algorithms often work with rather implicit representations of the homotopy classes in πd(X) (or, more generally, in [XY]) but does not yields explicit maps representing these homotopy classes.

For instance, the algorithm in Real (1996) computes πd(X) as the homology groupHd(F) of an auxiliary space F=Fd(X) constructed from X in such a way that πd(X) and Hd(F) are isomorphic as groups.3

More recently, Romero and Sergeraert (2016) devised an algorithm that, given a 1-reduced (and hence simply connected) simplicial set X and d2, computes the homotopy group πd(X) as the homotopy group πd(K) of an auxiliary simplicial set K (a so-called Kan completion of X) with πd(X)πd(K). Moreover, given an element of this group, the algorithm can compute an explicit simplicial map ΣdK from a suitable triangulation of Sd to K representing the given homotopy class. In this way, homotopy classes are represented by explicit maps, but as maps to the auxiliary space K, which is homotopy equivalent to but not homeomorphic to the given space X.

By contrast, our general goal is to is represent homotopy classes by maps into the given space; in the present paper, we treat, as an important first instance, the case πd(X)=[Sd,X].

Open problems and future work

Our next goal is to extend the results here to the setting of Čadek et al. (2014a), i.e., to represent, more generally, homotopy classes in [XY] by explicit simplicial maps from some suitable subdivision X to Y (under suitable assumptions that allow us to compute [XY]).4

In a subsequent step, we hope to generalize this further to the equivariant setting [X,Y]G of Čadek et al. (2017), in which a finite group G of symmetries acts on the spaces XY and all maps and homotopies are required to be equivariant, i.e., to preserve the symmetries.

As mentioned above, one motivation is the problem of algorithmically constructing embeddings of simplicial complexes into Rd. Indeed, in a suitable range of dimensions (d3(k+1)2), the existence of an embedding of a finite k-dimensional simplicial complex K into Rd is equivalent to the existence of an Z2-equivariant map from an auxiliary complex K~ (the deleted product) into the sphere Sd-1, by a classical theorem of Haefliger (1962) and Weber (1967). The proof of the Haefliger–Weber Theorem is, in principle, constructive, but in order to turn this construction into an algorithm to compute an embedding, one needs an explicit equivariant map into the sphere Sd-1.

Quantitative homotopy theory

Another motivation for representing homotopy classes by simplicial maps and complexity bounds for such algorithms is the connection to quantitative questions in homotopy theory (Gromov 1999; Ferry and Weinberger 2013) and in the theory of embeddings (Freedman and Krushkal 2014). Given a suitable measure of complexity for the maps in question, typical questions are: What is the relation between the complexity of a given null-homotopic map f:XY and the minimum complexity of a nullhomotopy witnessing this? What is the minimum complexity of an embedding of a simplicial complex K into Rd? In quantitative homotopy theory, complexity is often quantified by assuming that the spaces are metric spaces and by considering Lipschitz constants (which are closely related to the sizes of the simplicial representatives of maps and homotopies Ferry and Weinberger 2013). For embeddings, the connection is even more direct: a typical measure is the smallest number of simplices in a subdivision K or K such that there exists a simplexwise linear-embedding KRd.

Structure of the paper

The remainder of the paper is structured as follows: In Sect. 2, we give a high-level description of the main ingredients of the algorithm from Theorem A. In Sect. 3, we review a number of necessary technical definitions regarding simplicial sets and the frameworks of effective and polynomial-time homology, in particular Kan’s simplicial version of loop spaces and polynomial-time loop contractions for infinite simplicial sets. In Sect. 4, we formally describe the algorithm from Theorem A and give a high level proof based on a number of lemmas which are proved in in subsequent chapters. Section 5 contains the proof of Theorem B. The rest of the paper contains several technical parts needed for the proof of Theorem A: in Sect. 6, we describe Berger’s effective Hurewicz inverse and analyze its running time (Theorem 1), in Sect. 7, we prove that the stages of the Whitehead tower have polynomial-time contractible loops (Lemma 4). Finally, in Sect. 8, we show how to reduce the case when the input is a simplicial complex Xsc to the case of an associated simplicial set X and convert a map ΣX into a map from a subdivision Sd(Σ) into Xsc (Lemma 6).

Outline of the algorithm

In this section we present a high-level description of the main steps and ingredients involved in the algorithm from Theorem A.

The algorithm in a nutshell

  1. In the simplest case when the space X is (d-1)-connected (i.e., πi(X)=0 for all id-1), the classical Hurewicz Theorem (Hatcher 2001, Sect. 4.2) yields an isomorphism πd(X)Hd(X) between the dth homotopy group and the dth homology group of X. Computing generators of the homology group is known to be a computationally easy task (it amounts to solving a linear system of equations over the integers). The key is then converting the homology generators into the corresponding homotopy generators, i.e., to compute an inverse of the Hurewicz isomorphism. This was described in the work of Berger (1991, 1995). We analyze the complexity of Berger’s algorithm in detail and show that it runs in exponential time in the size of X (assuming that the dimension d is fixed).

  2. For the general case, we construct an auxiliary simplicial set Fd together with a simplicial map ψd:FdX that has the following properties:
    • Fd is a simplicial set that is d-1 connected, and
    • ψd:FdX induces an isomorphism ψd:πd(Fd)πd(X).
    Our construction of Fd is based on computing stages of the Whitehead tower5 of X (Hatcher 2001, p. 356); this is similar to Real’s algorithm, which computes πd(X) as Hd(Fd) as an abstract abelian group.

    The overall strategy is to use Berger’s algorithm on the space Fd and compute generators of πd(Fd) as simplicial maps. Then we use the simplicial map ψd to convert each generator of πd(Fd) into a map ΣdX, and these maps generate πd(X). The main technical task for this step is to show that Berger’s algorithm can be applied to Fd. For this, we need to construct a polynomial algorithm for explicit contractions of loops in Fd (this space is 1-connected but not 1-reduced in general).

Our contributions

The main ingredients of the algorithm outlined above are the computability of stages of the Whitehead tower (Real 1996) as simplicial sets with polynomial-time homology and Berger’s algorithmization of the inverse Hurewicz isomorphism (Berger 1991, 1995).

The idea that these two tools can be combined to compute explicit representatives of πd(X) is rather natural and is also mentioned, for the special case of 1-reduced simplicial sets, in Romero and Sergeraert (2016, p. 3); however, there are a number of technical challenges to overcome in order to carry out this program. On a technical level, our main contributions are as follows:

  • We give a complexity analysis of Berger’s algorithm to compute the inverse of the Hurewicz isomorphism (Theorem 1).

  • We show that the homology generators of the Whitehead stage Fd can be computed in polynomial time (Lemma 3).

  • Berger’s algorithm requires an explicit algorithm for loop contraction—a certificate of 1-connectedness of the space Fd. While Fd is not 1-reduced in general, we describe an explicit algorithm for contracting its loop and show that Berger’s algorithm can be applied.

We remark that the Whitehead tower stages are simplicial sets with infinitely many simplices, and we need the machinery of objects with polynomial-time homology to carry out the last two steps.

Definitions and preliminaries

In this section, we give the necessary technical definitions that will be used throughout this paper. In the first part, we recall the standard definitions for simplicial sets and the toolbox of effective homology.

Afterwards, we present Kan’s definition of a loop space and further formalize our definition of (polynomial-time) loop contractions.

Simplicial sets and polynomial-time effective homology

Simplicial sets and their computer representation

A simplicial set X is a graded set X indexed by the non-negative integers together with a collection of mappings di:XnXn-1 and si:XnXn+1,0in called the face and degeneracy operators. They satisfy the following identities:

didj=dj-1difori<j,disi=di+1si=idfor0i<n,disj=sjdi-1fori>j+1,disj=sj-1difori<j,sisj=sj+1siforij.

More details on simplicial sets and the motivation behind these formulas can be found in May (1992) and Goerss and Jardine (1999).

Simplicial maps between simplicial sets are maps of graded sets which commute with the face and degeneracy operators. The elements of Xn are called n-simplices. We say that a simplex xXn is (non-)degenerate if it can(not) be expressed as x=siy for some yXn-1. If a simplicial set X is also a graded (Abelian) group and face and degeneracy operators are group homomorphisms, we say that X is a simplicial (Abelian) group.

A simplicial set is called k-reduced for k0 if it has a single i-simplex for each ik.

For a simplicial set X, we define the chain complex C(X) to be a free Abelian group generated by the elements of Xn with differential

(c)=i=0n(-1)idi(c).

A simplicial set is locally effective if its simplices have a specified finite encoding and algorithms are given that compute the face and degeneracy operators. A simplicial map f between locally effective simplicial sets X and Y is locally effective if an algorithm is given that for the encoding of any given xX computes the encoding of f(x)Y.

We define a simplicial set to be finite if it has finitely many non-degenerate simplices. Such simplicial set can be algorithmically represented in the following way. The encoding of non-degenerate simplices can be given via a finite list and the encoding of a degenerate simplex siksi1y for i1<i2<<ik and a non-degenerate y can be assumed to be a pair consisting of the sequence (i1,,ik) and the encoding of y. The face operators are fully described by their action on non-degenerate simplices and can be given via finite tables. In this way, any simplicial set with finitely many non-degenerate simplices is naturally locally effective. Any choice of an implementation of the encoding and face operators is called a representation of the simplicial set. The size of a representation is the overall memory space one needs to store the data which represent the simplicial set.

Geometric realization

To each simplicial set X we assign a topological space |X| called its geometric realization. The construction is similar to that of simplicial complexes. Let Δj be the geometric realization of a standard j-simplex for each j0. For each k, we define Di:Δk-1Δk to be the inclusion of a (k-1)-simplex into the i’th face of a k-simplex and Si:ΔkΔk-1 be the geometric realization of a simplicial map that sends the vertices (0,1,,k) of Δk to the vertices (0,1,,i,i,i+1,,k-1). The geometric realization |X| is then defined to be a disjoint union of all simplices X factored by the relation

|X|:=n=0Xn×Δn/

where is the equivalence relation generated by the relations (x,Di(p))(di(x),p) for xXn+1, pΔn and the relations (x,Si(p))(si(x),p) for xXn-1, pΔn.

Similarly, a simplicial map between simplicial complexes naturally induces a continuous map between their geometric realizations.

Simplicial complexes and simplicial sets

In any simplicial complex Xsc, we can choose an ordering of vertices and define a simplicial sets Xss that consists of all non-decrasing sequences of points in Xsc: the dimension of (V0,,Vd) equals d. The face operator is di omits the i’th coordinate and the degeneracy sj doubles the j’th coordinate. Moreover, choosing a maximal tree T in the 1-skeleton of X enables us to construct a simplicial set X:=Xss/T in which all vertices and edges in the tree, as well as their degeneracies, are considered to be a base-point (or its degeneracies). The geometric realizations of Xsc and X are homotopy equivalent and X is 0-reduced, i.e. it has one vertex only.

Homotopy groups

Let (X,x0) be a pointed topological space. The k-th homotopy group πk(X,x0) of (X,x0) is defined as the set of pointed homotopy6 classes of pointed continuous maps (Sk,)(X,x0), where Sk is a distinguished point. In particular, the 0-th homotopy group has one element for each path connected component of X. For k=1, π1(X,x0) is the fundamental group of X, once we endow it with the group operation that concatenates loops starting and ending in x0. The group operation on πk(X,x0) for k>1 assigns to [f], [g] the homotopy class of the composition SkπSkSkfgX where π factors an equatorial (k-1)-sphere containing x0 into a point. Homotopy groups πk are commutative for k>1.

If the choice of base-points is understood from the context or unimportant, we will use the shorter notation πk(X). For a simplicial set X, we will use the notation πk(X) for the k’th homotopy group of its geometric realization |X|.

An important tool for computing homotopy groups is the Hurewicz theorem. It says that whenever X is (d-1)-connected, then there is an isomorphism πd(X)Hd(X). Moreover, if the element of πd(X) is represented by a simplicial map f:ΣdX and jkjσj represents a homology generator of Hd(Σd), then the Hurewicz isomorphism maps [f] to the homology class of the formal sum jkjf(σj) of d-simplices in X.

Effective homology

We call a chain complex Clocally effective if the elements cC have finite (agreed upon) encoding and there are algorithms computing the addition, zero, inverse and differential for the elements of C.

A locally effective chain complex C is called effective if there is an algorithm that for given nN generates a finite basis cαCn and an algorithm that for every cC outputs the unique decomposition of c into a linear combination of cα’s.

Let C and D be chain complexes. A reductionInline graphic is a triple (fgh) of maps such that f:CD and g:DC are chain homomorphisms, h:CC has degree 1, fg=id and fg-id=h+h, and further hh=hg=fh=0.

A locally effective chain complex C has effective homology (C is a chain complex with effective homology) if there is a locally effective chain complex C~, reductions Inline graphic where Cef is an effective chain complex, and all the reduction maps are computable.

Eilenberg–MacLane spaces

Let d1 and π be an Abelian group. An Eilenberg–MacLane space K(π,d) is a topological space with the properties πd(K(π,d))π and πj(K(π,d))=0 for 0<jd. It can be shown that such space K(π,d) exists and, under certain natural restrictions, has a unique homotopy type. If π is finitely generated, then K(π,d) has a locally effective simplicial model (Krčál et al. 2013).

Globally polynomial-time homology and related notions

In many auxiliary steps of the algorithm, we will construct various spaces and maps. To analyze the overall time complexity, we need to parametrize all these objects by the very initial input, which is in our case an encoding of a finite 1-reduced simplicial set (or, in Theorem A.1, a more general space endowed with certain explicit certificate of 1-connectedness).

More generally, let I be a parameter set so that for each II an integer size(I) is defined. We say that F is a parametrized simplicial set (group, chain group, ...) if for each II, a locally effective simplicial set (group, chain group, ...) F(I) is given. The simplicial set F is locally polynomial-time if there exists a locally effective model of F(I) such that for each kN and an encoding of a k-simplex xF(I), the encoding of di(x) and sj(x) can be computed in time polynomial in size(enc(x))+size(I). The polynomial, however, may depend on k. A polynomial-time map between parametrized simplicial sets F and G is an algorithm that for each kN, II and an encoding of an k-simplex x in F(I) computes the encoding of f(x) in time polynomial in size(enc(x))+size(I): again, the polynomial may depend on k.

Similarly, a locally polynomial-time (parametrized) chain complex is an assignment of a computer representation C(I) of a chain complex with a distinguished basis in each gradation, such that all these basis elements have some agreed-upon encoding. A chain jkjσj is assumed to be represented as a list of pairs (kj,enc(σj))j and has size j(size(kj)+size(enc(σj))), where we assume that the size of an integer kj is its bit-size. Further, an algorithm is given that computes the differential of a chain zCk(I) in time polynomial in size(z)+size(I), the polynomial depending on k. The notion of a polynomial-time chain map is straight-forward.

A globally polynomial-time chain complex is a locally polynomial-time chain complex EC that in addition has all chain groups EC(I)k finitely generated and an additional algorithm is given that for each k computes the encoding of the generators of EC(I)k in time polynomial in size(I). Finally, we define a simplicial set with globally polynomial-time homology to be a locally polynomial-time parametrized simplicial set F together with reductions Inline graphic where C~,EC are locally polynomial-time chain complexes, EC is a globally polynomial-time chain complex and the reduction data are all polynomial-time maps, as usual the polynomials depending on the grading k.

The name “polynomial-time homology” is motivated by the following:

Lemma 1

Let F be a parametrized simplicial set with polynomial-time homology and k0 be fixed. Then all generators of Hk(F(I)) can be computed in time polynomial in size(I).

Proof

For the globally polynomial-time chain complex EF and each fixed j, we can compute the matrix of the differentials dj:EF(I)jEF(I)j-1 with respect to the distinguished bases in time polynomial in size(I): we just evaluate dk on each element of the distinguished basis of EF(I)k. Then the homology generators of Hk(EC) can be computed using a Smith normal form algorithm applied to the matrices of dk and dk+1, as is explained in standard textbooks (such as Munkres 1984). Polynomial-time algorithms for the Smith normal form are nontrivial but known (Kannan and Bachem 1981).

Let x1,,xm be the cycles generating Hk(EF(I)). We assume that reductions

graphic file with name 41468_2018_21_Equ78_HTML.gif

are given and all the reduction maps are polynomial. Thus we can compute the chains

fg(x1),fg(x2),,fg(xm)

in polynomial time and it is a matter of elementary computation to verify that they constitute a set of homology generators for Hk(F(I)).

Loop spaces and polynomial-time loop contraction

Principal bundles and loop group complexes

In the text we will frequently deal with principal twisted Cartesian products: these are simplicial analogues of principal fiber bundles. The definitions in this section come from Kan’s article (Kan 1958b).

We first define the Cartesian product X×Y of simplicial sets XY: The set of n-simplices (X×Y)n consists of tuples (xy), where xXn,xYn. The face and degeneracy operators on X×Y are given by di(x,y)=(dix,diy), si(x,y)=(six,siy).

Definition 1

(Principal Twisted Cartesian product) Let B be a simplicial set with a basepoint b0B0 and G be a simplicial group. We call a graded map (of degree -1) τ:Bn+1Gn,n0 a twisting operator if the following conditions are satisfied:

  • dnτ(b)=τ(dn+1b)-1τ(dnb)

  • diτ(b)=τ(dib) for 0i<n

  • siτ(b)=τ(sib), i<n, and

  • τ(snb)=1n for all bBn where 1n is the unit element of Gn.

Let B, G, τ be as above. We will define a twisted Cartesian productB×τG to be a simplicial set E with En=Bn×Gn, and the face and degeneracy operators are also as in the Cartesian product, i.e. di(b,g)=(dib,dig) , with the sole exception of dn, which is given by

dn(b,g):=(dnb,τ(b)dn(g)),(b,g)Bn×Gn.

It is not trivial to see why this should be the right way of representing fiber bundles simplicially, but for us, it is only important that it works, and we will have explicit formulas available for the twisting operator for all the specific applications.

We remark that in the literature one can find multiple definitions of twisted operator and twisted product (May 1992; Kan 1958b; Berger 1991) and that they, in essence differ from each other based on the decision whether the twisting “compresses” the first two or the last two face operators. Here, we follow the same notation as in Berger (1991).

Dwyer–Kan loop group construction

A simplicial set X can be viewed as a discrete description of a topological space |X|. It is natural to ask whether one can give a discrete description of a loop space of |X|. It turns out there are multiple models that can be used. Here, we describe the Dwyer–Kan’s G-construction (Kan 1958b) and later in Sect. 6, we present another model which is due to Berger (1991). Before the formal definition, we give some geometric intuition

For any n0 one can define a graph where Xn+1 is the set of edges and X0 is the set of vertices with source and target operators s,t:Xn+1X0, defined by s(σ)=(d0)n+1σ and t(σ)=dn+1(d0)nσ. Further a relation 1=snσ is added.

In short, any simplex σXn+1 is an (n-dimensional) edge which goes from its second-to-last vertex to its last vertex and the simplex degenerate along this edge is considered a trivial path.

The Dwyer–Kan loop groupoid GX is defined as a free simplicial groupoid (e.g. paths) on the graph described above. In the case X is a 0-reduced simplicial set, the paths all begin and end in the only vertex, making them loops and the space GX can defined as follows:

Definition 2

Let X be a 0-reduced simplicial set. Then we define GX to be a (non-commutative) simplicial group such that

  • GXn has a generator σ¯ for each (n+1)-simplex σX and a relation sny¯=1 for each simplex in the image of the last degeneracy sn.

  • The face operators are given by diσ¯:=diσ¯ for i<n and dnσ¯:=(dn+1σ¯)-1dnσ¯

  • The degeneracy operators are siσ¯:=siσ¯.

We use the multiplicative notation, with 1 being the neutral element. For the proof that GX is indeed a discrete simplicial analog of the loop space of X, see Kan (1958b) and May (1992).

For algorithmic puroposes, we assume that an elements jσ¯jkj of GX is represented as a list of pairs (σj,kj) and has size jsize(σj)+size(kj).

Definition 3

Let X be a 0-reduced simplicial set. We say that a map c0:GX0GX1 is a contraction of loops in X if d0c0(x)=x and d1c0(x)=1 for each xGX0.

In case where X has finitely many nondegenerate 1-simplices, we define the size size(c0) to be the sum

γX1size(c0(γ)).

Loop contraction for simplicial complexes

Let Xsc be a simplicial complex. Let T be a spanning tree in the 1-skeleton of Xsc and R a chosen vertex. For each oriented edge e=(v1v2) we define a formal inverse to be e-1:=(v2v1) and we also consider degenerate edges (vv). A loop is defined as a sequence e1,,ek of oriented edges in Xsc such that

  • The end vertex of ei equals the initial vertex of ei+1, and

  • The initial vertex of e1 and the end vertex of ek equal R.

Every edge e that is not contained in T gives rise to a unique loop le. Further, every loop in Xsc is either a concatenation of such le’s, or can be derived from such concatenation by inserting and deleting consecutive pairs (e,e-1) and degenerate edges. Before we formally define our combinatorial version of loop contraction, we need the following definition.

Definition 4

Let S be a set, US, F(S) and F(U) be free groups generated by S, U, respectively.7 Let hU:F(S)F(S) be a homomorphism that sends each uU to 1 and each sS\U to itself. We say that an element x of F(S) equals y modulo U if hU(x)=y.

An example of an element that is trivial modulo U is the word sus-1, where sS and uU.

Definition 5

Let S be the set of all oriented edges and oriented degenerate edges in Xsc and assume that a spanning tree T is chosen. Let U be the set of all oriented edges in T, including all degenerate edges. A contraction of an edge α is a sequence of vertices A0,A1,,As and B1,,Bs such that

  • for each i, {Ai,Ai+1,Bi+1} is a simplex of Xsc, and

  • the element of F(S)
    (A0B1)(B1A1)(A1B2)(B2A2)(BsAs)(AsAs-1)(As-1As-2)(A1A0) 1
    equals α modulo U.

    loop contraction in a simplicial complex is the choice of a contraction of α for each edge αXsc\T.

The size of the contraction of α is defined to be the number of vertices in (1) and the size size(c) of the loop contraction on Xsc is the sum of the sizes over all αXsc\T.

The geometry behind this definition is displayed in Fig. 1. The sequence of Ai’s and Bj’s gives rise to a map from the sequence of (full) triangles into Xsc. The big loop around the boundary is combinatorially described by (1). We can continuously contract all of its parts that are in the tree T to a chosen basepoint, as the tree is contractible. Further, we can continuously contract all pairs of edges (e,e-1) and what remains is the original edge α: with all the tree contracted to a point, it will be transformed into a loop that geometrically corresponds to lα. The interior of the full triangles then constitutes its “filler”, hence a certificate of the contractibility of lα.

Fig. 1.

Fig. 1

The loop ranging over the boundary of this geometric shape equals α, after ignoring edges in the maximal tree and canceling pairs (e,e-1). The interior of the triangles gives rise to a contraction

A loop contraction in the sense of Definition 1 exists iff the space Xsc is simply connected. One could choose different notions of loop contraction. For instance, we could provide, for each α, a simplicial map from a triangulated 2-disc into Xsc such that the oriented boundary of the disc would be mapped exactly to lα. The description from Definition 5 could easily be converted into such map. We chose the current definition because of its canonical and algebraic nature. The connection between Definitions 3 and 5 is the content of the following lemma.

Lemma 2

Let Xsc be a 1-connected simplicial complex with a chosen orientation of all simplices, Xss the induced simplicial set, T a maximal tree in Xsc, and X:=Xss/T the corresponding 0-reduced simplicial set. Assume that a loop contraction in the simplicial complex Xsc is given, such as described in Definition 5. Then we can algorithmically compute c0(α)GX1 such that d0c0(α)=α and d1c0(α)=1, for every generator α of GX0. Moreover, the computation of c0(α) is linear in the size of Xsc and the size of the simplicial complex contraction data.

Proof

For each i, the triangle {Ai,Ai+1,Bi+1} from Definition 5 is in the simplicial complex Xsc. There is a unique oriented 2-simplex in Xss of the form (V0,V1,V2) (possibly degenerate) such that {V0,V1,V2}={Ai,Ai+1,Bi+1}. Let us denote such oriented simplex by σi, and its image in GX1 by σ¯i. We will define an element giGX1 such that it satisfies

d0gi(Ai,Ai+1)¯andd1gi(Ai,Bi+1)¯(Bi+1,Ai+1)¯ 2

where is an equivalence relation that identifies any element (U,V)¯GX1 with (V,U)¯-1 (note that only one of the symbols (UV) and (VU) is well defined in Xss, resp. X.) Explicitly, we can define gi with these properties as follows:

  • If σi=(Bi+1,Ai,Ai+1), then gi:=σ¯i,

  • If σi=(Ai,Ai+1,Bi+1), then gi:=s0(d2σi)¯σ¯is0d0(σ¯i)-1

  • If σi=(Ai+1,Bi+1,Ai), then gi=s0d0σi¯-1σi¯s0(d1σi¯)-1

  • If σi=(Bi+1,Ai+1,Ai), then gi:=σi¯-1

  • If σi=(Ai+1,Ai,Bi+1), then gi:=s0d0σi¯σi¯-1s0(d2σi¯)-1

  • If σi=(Ai,Bi+1,Ai+1), then gi:=s0(d1σi¯)σi¯-1s0d0σi¯.

Let g:=g0,gs. The assumption (1) together with Eq. (2) immediately implies that d1g(d0g)-1=α¯. Thus we define c0(α¯):=s0d1(g)g-1. Algorithmically, to construct g amounts to going over all the triples (Ai,Ai+1,Bi+1) from a given sequence of Ais and Bj’s, checking the orientation and computing gi for every i.

Polynomial-time loop contraction

Let F be a parametrized simplicial set such that each F(I) is 0-reduced. Using constructions analogous to those defined above, GF is a parametrized locally-polynomial simplicial group whereas we assume a simple encoding of elements of GFi as follows. If x=jσj¯kjGF(I)k where σj are (k+1)-simplices in F(I), not in the image of sk, then we assume that x is stored in the memory as a list of pairs (kj,enc(σj)) and has size j(size(kj)+size(σj)) where some σi may be equal to σj for ij. Face and degeneracy operators are defined in Definition (2) and it is easy to see that for any locally polynomial-time simplicial set F, GF is a locally polynomial-time simplicial group.

Definition 6

Let F be a locally polynomial simplicial set. We say that F has polynomially contractible loops if there exists an algorithm that for a 0-simplex xGF(I) computes a 1-simplex c0(x)GF(I) such that d0x=x, d1x=1GF(I)0, and the running-time is polynomial in size(x)+size(I).

Proof of Theorem 1

We will prove a stronger statement of Theorem A formulated as follows.

Theorem A.1

There exists an algorithm that, given d2 and a finite 0-reduced simplicial set X (alternatively, a finite simplicial complex) with an explicit loop contraction c0 (such as in Definitions 3 or 5) computes the generators g1,,gk of πd(X) as simplicial maps ΣjdX, for suitable triangulations Σjd of Sd, j=1,,k.

For fixed d, the time complexity is exponential in the size of X and the size of the loop contraction c0; more precisely, it is O(2P(size(X)+size(c0))) where P=Pd is a polynomial depending only on d.

This immediately implies Theorem A, as for a 1-reduced simplicial set, the contraction c0 is trivial, given by c0(1)=1.

The proof of Theorem A.1 is based on a combination of four statements presented here as Lemma 3, Theorem 1, Lemma 4 and Lemma 6. Each of them is relatively independent and their proofs are delegated to further sections.

First we present an algorithm that, given a 1-connected finite simplicial set X and a positive integer d, outputs a simplicial set Fd and a simplicial map ψd such that

  • the simplicial set Fd is d-1 connected, it has polynomial-time effective homology and polynomially contractible loops.

  • the simplicial map ψd:FdX is polynomial-time and induces an isomorphism ψd:πd(Fd)πd(X).

Whitehead tower

We construct simplicial sets Fd as stages of a so-called Whitehead tower for the simplicial set X. It is a sequence of simplicial sets and maps

graphic file with name 41468_2018_21_Equ79_HTML.gif

where fi induces an isomorphism πj(Fi+1)πj(Fi) for j>i and πj(Fi)=0 for j<i. We define ψd=fdfd-1f3. One can see that Fd,ψd satisfy the desired properties.

Lemma 3

  Let d2 be a fixed integer. Then there exists a polynomial-time algorithm that, for a given 1-connected finite simplicial set X, constructs the stages F2,,Fd of the Whitehead tower of X.

The simplicial sets Fk(X), parametrized by 1-connected finite simplicial sets X, have polynomial-time homology and the maps fk are polynomial-time simplicial maps.

Proof

The proof is by induction. The basic step is trivial as F2=X. We describe how to obtain Fk+1,fk+1 assuming that we have computed Fk, 2k<d.

  1. We compute simplicial map φk:FkK(πk(X),k)=K(πk(Fk),k) that induces an isomorphism φk:πk(Fk)πk(K(πk(X),k))πk(X). This is done using the algorithm in Čadek et al. (2014b), as K(πk(X),k) is the first nontrivial stage of the Postnikov tower for the simplicial set Fk.

    For the simplicial set K(πk(X),k) and for such simplicial sets there is a classical principal bundle (twisted Cartesian product) (see May 1992):
    graphic file with name 41468_2018_21_Equ80_HTML.gif
  2. We construct Fk+1 and fk+1 as a pullback of the twisted Cartesian product:
    graphic file with name 41468_2018_21_Equ81_HTML.gif

It can be shown that the pullback, i.e. simplicial subset of pairs (x,y)Fk×E(πk(X),k-1) such that δ(y)=φk(x), can be identified with the twisted product as above (May 1992), where the twisting operator τ is defined as τφk.

To show correctness of the algorithm, we assume inductively, that Fk has polynomial-time effective homology. According to Čadek et al. (2014b, Section 3.8), the simplicial sets K(πk(X),k-1), E(πk(X),k-1), K(πk(X),k) have polynomial-time effective homology and maps φk,δ are polynomial-time. Further, they are all obtained by an algorithm that runs in polynomial time.

As Fk+1 is constructed as a twisted product of Fk with K(πk(X),k), Corollary 3.18 of Čadek et al. (2014b) implies that Fk+1 has polynomial-time effective homology and fk+1 is a polynomial-time map.8

The sequence of simplicial sets Inline graphic induces the long exact sequence of homotopy groups

graphic file with name 41468_2018_21_Equ82_HTML.gif

The reason why this is the case follows from a rather technical argument that identifies the simplicial set Fk+1 with a so called homotopy fiber of the map φk:FkK(πk(X),k). In more detail, the category of simplicial sets is right proper (Goerss and Jardine 1999, II.8.67) and map δ is a so-called Kan fibration (May 1992, §23). This makes the pullback Fk+1 coincide with so-called homotopy pullback. Further, the simplicial set E(πk(X),k-1) is contractible, hence the homotopy pullback is a homotopy fiber. The induced exact sequence is due to Quillen (1967, chapter I.3).

The inductive assumption, together with the fact that φk induces an isomorphism φk:πk(Fk)πk(K(πk(X),k)) imply that fk induces an isomorphism πj(Fk+1)πj(Fk) for j>k and πj(Fk+1)=0 for jk.

The lemma implies that the simplicial sets Fk have polynomial-time effective homology and maps ψk=fkfk-1f3 are polynomial-time as they are defined as a composition of polynomial-time maps fi.

The following theorem is a key ingredient of our algorithm.

Theorem 1

(Effective Hurewicz Inverse) Let d>1 be fixed and F be an (d-1)-connected 0-reduced simplicial set parametrized by a set I, with polynomial-time homology and polynomially contractible loops.

Then there exists an algorithm that, for a given d-cycle zZd(F(I)), outputs a simplicial model Σd of the d-sphere and a simplicial map ΣdF(I) whose homotopy class is the Hurewicz inverse of [z]Hd(F(I)).

Moreover, the time complexity is bounded by an exponential of a polynomial function in size(I)+size(z).

The construction of an effective Hurewicz inverse is the main result of Berger (1991) and further details are provided in Sect. 6. It exploits a combinatorial version of Hurewicz theorem given by Kan (1958a) where πd(F) is described in terms of πd-1(GF~) where GF~ is a non-commutative simplicial group that models the loop space of F. Kan showed that the Hurewicz isomorphism can be identified with a map Hd-1(GF~)Hd-1(AF~) induced by Abelianization. Berger then describes the inverse of the Hurewicz homomorphism as a composition of the maps 1, 2, 3 in the diagram

graphic file with name 41468_2018_21_Equ83_HTML.gif

Arrow 1 is induced by a chain homotopy equivalence and arrow 3 by Berger’s explicit geometric model of the loop space. To algorithmize arrow 2, we need an algebraic machinery that includes an explicit contraction of k-loops in GF~ for all k<d-1. Those are based partially on linear computations in the Abelian group AF~ and partially on explicit inductive formulas dealing with commutators. The lowest-dimensional contraction operation, however, cannot be algorithmized, without some external input. The possibility of providing it is the content of the following claim:

Lemma 4

Let d2 be a fixed integer and I be the set of all 1-connected 0-reduced finite simplicial sets with an explicit loop contraction c0. Then the simplicial set Fd from Lemma 3, parametrized by I has polynomial-time contractible loops (see Definition 6).

The proof is constructive, based on explicit formulas in our model of Fd. The details are in Sect. 7.

We remark that the output of the algorithm in Lemma 4 i.e. the loop contraction of Fd is polynomial time with respect to the input—a 0-reduced and 1-connected simplicial set with a specific loop contraction c0 on this simplicial set.

The core of the algorithm we will describe works with simplicial sets and simplicial maps between them. If our input is a simplicial complex, we need tools to convert them into maps between simplicial complexes. The next two lemmas address this.

Lemma 5

Let Y be a finite simplicial set. Then there exists a polynomial-time algorithm that computes a simplicial complex Ysc with a given orientation of each simplex, and a map γ:YscY (still understood to be a map between simplicial sets) such that the geometric realization of γ is homotopic to a homeomorphism.

This construction is originally due to Barratt (1956), and described in detail in Čadek et al. (2013b, Appendix B).9 Explicitly, the simplicial complex Ysc is defined to be Ysc:=B(Sd(Y)), where Sd is the barycentric subdivision functor and B a functor introduced in Jardine (2004): Ysc can be constructed recursively by adding a vertex vσ for each nondegenerate simplex σSd(Y) and replacing σ by the cone with apex vσ over B(σ). The subdivision Sd(Y) is a regular simplicial set and B(Sd(Y)) coincides with the flag simplicial complex of the poset of nondegenerate simplices of Sd(Y). It follows that the geometric realizations |Ysc| is homeomorphic10 to |Y|. Simplices of Ysc are naturally oriented and the explicit description of γ is given in Čadek et al. (2013b, p. 61) and the references therein.

In our main algorithm, Y=Σd will be a triangulation of the d-sphere and X a simplicial set derived from a simplicial complex Xsc by contracting its spanning tree into a point. The following lemma shows that we can convert a map ΣscX into a map (Σsc)Xsc between simplicial complexes.

Lemma 6

Let d>0 be fixed. Assume that Xsc is a given simplicial complex with a chosen ordering of vertices and a maximal spanning tree T; we denote the underlying simplicial set by Xss. Let p:XssX:=Xss/T be the projection to the associated 0-reduced simplicial set. Let Σ be a given d-dimensional simplicial complex with a chosen orientation of each simplex, Σss the induced simplicial set, and f:ΣssX a simplicial map.

Then there exists a subdivision Sd(Σ) and a simplicial map f:Sd(Σ)Xsc between simplicial complexes11 such that

|Σ|=|Sd(Σ)||f||Xsc||p||X|

is homotopic to |Σss||f||X|. Moreover, f can be computed in polynomial time, assuming an encoding of the input f,Σ,Xsc, X and T.

Thus if Σ is a sphere and f corresponds to a homotopy generator, f is the corresponding homotopy generator represented as a simplicial map between simplicial complexes. We remark that the algorithm we describe works even if d is a part of the input, but the time complexity would be exponential in general, as the number of vertices in our subdivision Sd(Σ) would grow exponentially with d.

The proof of Lemma 6 is given in Sect. 8.

Proof of Theorem A.1

First assume that a finite simplicial complex Xsc is given together with a loop contraction. Then the algorithm goes as follows.

  1. We choose an ordering of vertices and convert Xsc into a simplicial set. Choosing a spanning tree and contracting it to a point creates a 0-reduced simplicial set X homotopy equivalent to Xsc. By Lemma 2, we can convert the input data into a list c0(α) for all generators α of GX0 in polynomial time.

  2. We construct the simplicial set Fd from Lemma 3 as simplicial set with polynomial-time effective homology. Hence by Lemma 1 we can compute the generators of Hd(Fd) in time polynomial in size(X). Due to Lemma 4 and Theorem 1, we can convert these homology generators to homotopy generators ΣjdFd in time exponential in P(size(X)+size(c0)) where P is a polynomial.

  3. We compose the representatives of πd(Fd) with ψd to obtain representatives ΣjdX of the generators of πd(X), another polynomial-time operation. This way, we compute explicit homotopy generators as maps into the simplicial set X.

  4. We use Lemma 5 to compute simplicial complexes Σjsc and maps ΣjscΣd homotopic to homeomorphisms. The compositions ΣjscΣjdX still represent a set of homotopy generators. Finally, by Lemma 6, we can compute, for each j, a subdivision of the sphere Σjsc and a simplicial map from this subdivision into the simplicial complexXsc, in time polynomial in the size of the representatives ΣjscX.

In case when the input is a 0-reduced simplicial set X with a loop contraction c0, only steps 2 and 3 are performed. In either case, the overall exponential complexity bound comes from Berger’s Effective Hurewicz inverse theorem.

Proof of Theorem B

Similarly as in the proof of Theorem A, we prove a slightly more general version of Theorem B that also includes finite simplicial complexes.

Theorem B.1

Let d2 be fixed. Then

  1. there is an infinite family of d-dimensional 1-connected finite simplicial complexes X such that for any simplicial map ΣX representing a generator of πd(X), the triangulation Σ of Sd on which f is defined has size at least 2Ω(size(X)).

  2. there is an infinite family of d-dimensional (d-1)-connected and (d-2)-reduced simplicial sets X such that for any simplicial map ΣX representing a generator of πd(X), the triangulation Σ of Sd on which f is defined has size at least 2Ω(size(X)).

Consequently, any algorithm for computing simplicial representatives of the generators of πd(X) has time complexity at least 2Ω(size(X)).

The second item immediately implies Theorem B.

In the first item, we don’t assume any certificate for 1-connectedness. However, we suspect that any algorithm that computes representatives of πd(X) for simplicial complexes Xmust necessarily use some explicit certificate of simple connectivity, but so far we have not been able to verify this.

Lemma 7

Let d2.

  1. There exists a sequence {Xk}k1 of d-dimensional (d-1)-connected simplicial complexes, such that Hd(Xk)Z for all k and for any choice of a cycle zkZd(Xk) generating the homology group, the largest coefficient in zk grows exponentially in size(Xk).

  2. There exists a sequence {Xk}k1 of d-dimensional (d-1)-connected and (d-2)-reduced simplicial sets, such that Hd(Xk)Z for all k and for any choice of cycles zkZd(Xk) generating the homology, the largest coefficient in zk grows exponentially12 in size(Xk).

Proof of Theorem 2 based on Lemma 7

Let {Xk}k1 be the sequence of simplicial sets or simplicial complexes from Lemma 7. Since they are (d-1)-connected, by the theorem of Hurewicz, πd(Xk)Hd(Xk)Z. For each k, let Σk be a simplicial set or simplicial complex with |Σk|=Sd, and fk:ΣkXk a simplicial map representing a generator of πd(Xk). The generator of Hd(Σd) contains each non-degenerate d-simplex with a coefficient ±1 (this follows from the fact that Σk is a triangulation of the d-sphere and the d-homology of the d-sphere is generated by its fundamental class). The Hurewicz isomorphism πd(Xk)Hd(Xk) maps such a representative to the formal sum of simplices

fkσis ad-simplex in(Σk)±fk(σ)Cd(Xk),

which represents a generator of Hd(Xk). It follows from Lemma 7 that the number of d-simplices in Σk grows exponentially in size(Xk). Moreover, the complexity of any algorithm that computes fk:ΣkXk is at least the size of Σk, which completes the proof.

It remains to define the sequence from Lemma 7:

Proof of Lemma 7

1. We begin by constructing for every d2, a sequence of {Xk}k1 of (d-1)-connected simplicial complexes, such that Hd(Xk)Z for all k, and for any choice of a cycle zkZd(Xk) generating the homology group, the largest coefficient in zk grows exponentially in size(Xk).

We start with d=2. The idea is to glue Xk out of k copies of a triangulated mapping cylinders of a degree 2 map S1S1, i.e. k Möbius bands, and then fill in the two open ends with one triangle each (A and B in Fig. 2). The case k=1 is shown in Fig. 2. For k2, we take k copies of the triangulated Möbius band and identify the middle circle of each one to the boundary of the next one.

Fig. 2.

Fig. 2

The Möbius band is the mapping cylinder of a degree 2 map S1S1. The triangulation has four layers because starting from the boundary, which is a triangle, we first need to pass to a hexagon in order to cover the middle triangle twice, obtaining the desired degree 2 map. Connecting k copies of the Möbius band creates a mapping cylinder of a degree 2k map, using only linearly (in k) many simplices. Gluing the full triangles A and B to the ends of this mapping cylinder finishes the construction of Xk. The red coefficients exhibit a generator ξ of H2(X1)=Z2(X1)Z given as a formal sum of 2-simplices

We observe that, up to homotopy equivalence, Xk consists of a 2-disc with another 2-disc which is attached to it via the boundary map S1S1 of degree 2k. Therefore, Xk is simply connected and has H2(Xk)Z and any homology generator will contain the 2-simplex A with coefficient ±1 and B with coefficient ±2k.

Similarly for d>2, the simplicial complex Xk is obtained by glueing k copies of a triangulated mapping cylinder of a degree 2 map Sd-1Sd-1, and the two open ends are filled in with two triangulated d-balls.

2. For every k1 we define the simplicial sets Xk to have one vertex , no non-degenerate simplices up to dimension d-2, k non-degenerate (d-1)-simplices σ1,,σk that are all spherical (that is, for all ij, diσj= is the degeneracy of the only vertex of Xk), and k+1d-simplices A,C1,C2,,Ck-1,B such that

  • d0A=σ1, djA= for j>0,

  • d0Ci=σi, d1Ci=σi+1, d2Ci=σi and djCi= for j>2, and

  • d0B=σk, djB= for j>0.

Xk does not have any non-degenerate simplices of dimension larger than d. The relations of a simplicial set are satisfied, because didj is trivial in all cases.

The boundary operator in the associated normalised chain complex C(Xi) acts on basis elements as

  • A=σ1

  • Ci=2σi-σi+1, and

  • B=σk.

To see that Xk is (d-1)-connected for d>2, it is enough to prove that Hd-1(Xk) is trivial (by 1-reduceness and Hurewicz theorem). This is true, because σ1 is the boundary of A and for i>1, σi is the boundary of the chain

2i-1A-2i-2C1--2Ci-2-Ci-1.

In the case d=2, Xk is not 1-reduced, but we can show 1-connectedness similarly as in the proof of the first part: up to homotopy, Xk consists of two discs with boundaries together via a map of degree 2k-1.

There are no non-degenerate (d+1)-simplices, so Hd(Xk)Zd(Xk) and a simple computation shows that every cycle is a multiple of

2k-1A-2k-2C1-2k-3C2--Ck-1-B.

The computer representation of Xk has size that grows linearly with k, but the coefficients of homology generators grow exponentially with k, so they grow exponentially with size(Xk).

Discussion on optimality

If d=2 and X is a 1-reduced simplicial set, then generators of H2(X) can be computed via the Smith normal form of the differential 3:C3(X)C2(X). Using canonical bases, the matrix of 3=d0-d1+d2-d3 satisfies that the sum of absolute values over each column is at most 4. We were not able to find any infinite family of such matrices so that the smallest coefficient in any set of homology generating cycles grows exponentially with the size of X (that is, the size of the matrix). However, if a set of homology-generating cycles with subexponential coefficients always exists and can be found algorithmically in polynomial time, our main algorithm given as Theorem A is optimal in this case as well. This is because the exponential complexity of the algorithm only appears in the geometric realization of an element of GX1sph with large (exponential) exponents (see “Arrow 3” in Sect. 6), and the only source of such exponents is the homology H1(AX)H2(X).

Effective Hurewicz inverse

Here, we will prove Theorem 1 by directly describing the algorithm proposed in Berger (1991) and analysing its running time.

Definition 7

Let G be a simplicial group. Then the Moore complex G~ is a (possibly non-abelian) chain complex defined by G~i:=Gi(j>0kerdj) endowed with the differential d0:G~iG~i-1.

It can be shown that d0d0=1 in G~ and that Im(d0) is a normal subgroup of kerd0 so that the homology H(G~) is well defined.

Definition 8

Let F be a 0-reduced simplicial set, GF the associated simplicial group from Definition 2, and GF~ its Moore complex. We define AF to be the Abelianization of GF and AF~ to be the Moore complex of AF. The simplicial group AF is also endowed with a chain group structure via =j(-1)jdj. If σFk, we will denote by σ¯ the corresponding simplex in GFi-1, resp. AFi-1.

Note that, following Definition 2, the “last” differential dkσ¯ in AFk equals dkσ¯-dk+1σ¯. Clearly, the Abelianization map p:GFGF/[GF,GF]=AF takes GF~ into AF~.

Kan (1958a) showed that for d>1 and a (d-1)-connected simplicial set F, the Hurewicz isomorphism can be identified with the map Hd-1(GF~)Hd-1(AF~) induced by Abelianization, whereas these groups are naturally isomorphic to πd(F) and Hd(F), respectively. Our strategy is to construct maps representing the isomorphisms 1, 2, 3 in the commutative diagram

graphic file with name 41468_2018_21_Equ3_HTML.gif 3

Here h stands for the Hurewicz isomorphism, 1 is induced by a homotopy equivalence of chain complexes, 2 is the inverse of Hd-1(p) where p is the Abelianization, and 3 represents an isomorphism between the (d-1)’th homology of GF~ (that models the loop space of F) and πd(F). The algorithms that compute 1, 2, 3 act on representatives, that is, 1 and 2 map cycles to cycles and 3 converts a cycle to a simplicial map ΣdF where |Σd|=Sd. In what follows, we will explicitly describe maps 1, 2, 3 and show that the underlying algorithms are polynomial for arrows 1, 2 and exponential for arrow 3.

Arrow 1

Let F be a 0-reduced simplicial set, C(F) be the (unreduced) chain complex of F and AF-1 the shifted chain complex of AF defined by (AF-1)i:=AFi-1. As a chain complex, AF-1 is a subcomplex of C(F) generated by all simplices that are not in the image of the last degeneracy. Let AF~-1 be the Moore complex of AF-1.

We will describe a chain homotopy (f,g,h):C(F)AF~-1. Arrow 1 then coincides, on the level of chains, with f. We only need f for the actual algorithm; however, we prefer to state a more general Lemma claiming that gh are polynomial time maps as well.

Lemma 8

There exists a polynomial-time strong chain deformation retraction (f,g,h):C(F)AF~-1. That is, f:C(F)AF~-1, g:AF~-1C(F) are polynomial-time chain-maps and h:C(F)C+1(F) is a polynomial map such that fg=id and gf-id=h+h.

Proof

First we will describe the deformation retraction in terms of formulas and then comment on polynomiality.

Part 1: Formulas for the deformation retraction. We begin with a chain deformation retraction from C(F) to AF-1 represented by f0:C(F)AF-1, g0:AF-1C(F) and h0:C(F)C+1(F).

The chain complex AF-1 consists of Abelian groups AFk-1 freely generated by k-simplices in F that are not in the image of the last degeneracy sk-1. On generators, we define

f0(σ):=0wheneverσis ak-simplex inIm(sk-1)σ¯otherwise. 4

The remaining maps are defined by g0(σ¯):=σ-sk-1dkσ and h0(σ):=(-1)kskσ. It is a matter of straight-forward computations to check that f0 and g0 are chain maps, f0g0=id and g0f0-id=h0+h0.

Further, we define another chain deformation retraction from AF to AF~. For each p0, let Ap be a chain subcomplex of AF defined by

(Ap)k:={xAFk:dix=0fori>max{k-p,0}}

that is, the kernel of the p last face operators, not including d0 (di refers here to the face operators in AF). Then Ap+1 is a chain subcomplex of Ap and we define the maps fp+1:(Ap)k(Ap+1)k by fp+1(x)=x-sk-p-1dk-px whenever k-p>0, and fp+1(x)=x otherwise; gp+1:Ap+1Ap will be an inclusion, and hp+1:(Ap)k(Ap)k+1 via hp+1(x)=(-1)k-psk-px if k-p>0 and 0 otherwise. A simple calculation shows that fp+1,gp+1 are chain maps, fp+1gp+1=id, gp+1fp+1-id=hp+1+hp+1.

By definition, the Moore complex AF~=p>0Ap. The strong chain deformation retraction (fgh) from C(F) to AF~-1 is then defined by the compositions

f:=fk+1fkf1f0g:=g0g1gkgk+1

and the sum

h=h0+g1h1f1+(g1g2)h2(f2f1)+

which are all well-defined, because when applying them to an element x, only finitely many of fj,gj differ from the identity map and only finitely many hj are nonzero.

Part 2: Polynomiality. We need to show that if the degree k is fixed, then we can evaluate fgh on Ck(F) resp. AF~k-1 in time polynomial in the input size. The map f0 is defined via the if-else condition (4). To decide whether a simplex σF(I) is in the image of sk-1 amounts to deciding σ=sk-1dkσ which can be done in time polynomial in size(I)+size(σ), the polynomial depending on k. It follows that f0 is a locally polynomial map. All the remaining maps fi,gi and hi are defined via simple formulas and are obviously locally polynomial-time maps.

For fixed k, the definition of fgh includes only fi,gi,hi for i<k. It follows that fg are composed of k polynomial-time maps and h is a sum of k polynomial-time maps.

Arrow 2

This part is taken almost completely from Berger (1991), we only slightly adjusted the notation to our settings, formalized some details that in Berger (1991) are treated as obvious, and comment on polynomiality.

To summarize the main ideas, we will define an algorithm for computing contraction operators GFjGFj+1 that geometrically represent contraction of spheres in the loop space of F. The first such contraction c0:GF0GF1 actually corresponds to the contraction of loops in F and cannot be derived algorithmically in general. That’s the reason why we insist on having some kind of information about the loop contraction c0. Higher contractions, however, can be derived via formulas, assuming the input is (d-1)-connected (we don’t have a good intuition for this fact, but the Hurewicz isomorphism is probably the key; it is easy to construct these contractions on the Abelian part and the hard work is to pull them back to the non-commutative GF~). Formulas for the contractions ck are the core of Arrow 2.

graphic file with name 41468_2018_21_Equ5_HTML.gif 5

Given an algorithm for the contractions, Arrow 2 is then defined as follows. For a cycle zAF~k+1, we compute an arbitrary p-preimage y, p(y)=z, and then adjust it to y(ckd0y)-1 which already is a cycle in GF~k+1.

We remark that without having something like the contraction data ck, it is hard to find any non-trivial spherical elements of GF~.

Lemma 9

(Boundary certificate) Let d>1 be fixed and let F be a (d-1)-connected simplicial set with polynomial-time homology. There is an algorithm that, for j<d-1 and a cycle zZj(AF~), computes an element cA(z)AF~j+1 such that d0cA(z)=z. The running time is polynomial in size(z)+size(I).

Proof

First note that the (d-1)-connectedness of F implies that Hj+1(F)Hj(AF~) are trivial for j<d-1, so each cycle in these dimensions is a boundary.

By assumption, F has a polynomial-time homology, which means that there exists a globally polynomial-time chain complex EF, a locally polynomial-time chain complex Y and polynomial-time reductions from Y to C(F) and EF

graphic file with name 41468_2018_21_Equ84_HTML.gif

Let (f,g,h) be chain homotopy equivalence of Y and AF~-1 defined as the composition of Inline graphic and the chain homotopy equivalence of C(F) and AF~-1 described in Lemma 8. Further, let f,g,h be the maps defining the reduction Inline graphic: all of these maps are polynomial-time.

Let j<d-1 and zZj(AF~), z=jkjyj. Then the element fg(z) is a cycle in Ej+1F and can be computed in time polynomial in size(z)+size(I). In particular, the size of fg(z) is bounded by such polynomial. The number of generators of Ej+2F and Ej+1F is polynomial in size(I) and we can compute, in time polynomial in size(I), the boundary matrix of :Ej+2FEj+1F with respect to the generators.

Next we want to find an element tEj+2F such that t=fg(z). Using generating sets for Ej+2F, Ej+1F, this reduces to a linear system of Diophantine equations and can be solved in time polynomial in the size of the -matrix and the right hand side fg(z) (Kannan and Bachem 1981).

Finally, we claim that cA(z):=fg(t)-fhg(z) is the desired element mapped to z by the differential in AF~. This follows from a direct computation

cA(z):=fg(t)-fhg(z)=fg(t)-fhg(z)=fgfg(z)-fhg(z)=f(h+h+id)g(z)-fhg(z)=fhgz+fhg(z)+fg(z)-fhg(z)=0+fg(z)=z

The computation of t as well as all involved maps are polynomial-time, hence the computation of cA(z) is polynomial too.

The next lemma will be needed as an auxiliary tool later.

Lemma 10

Let S be a countable set with a given encoding, G be the free (non-abelian) group generated by S, and define size(jsjkj):=j(size(sj)+size(kj)). Let G:=[G,G] be its commutator subgroup.

Then there exists a polynomial-time algorithm that for an element g=jsjkj in GG, computes elements ai,biG such that g=j[aj,bj].

In other words, we can decompose commutator elements into simple commutators in polynomial-time at most.

Proof

Let us choose a linear ordering on S and let g=jsjkj be in G: that is, for each j, the exponents {kj:sj=sj} sum up to zero. We will present a bubble-sort type algorithm for sorting elements in g. Going from the left to right, we will always swap sjkj and sj+1k+1 whenever sj+1<sj. Such swap always creates a commutator, but that will immediately be moved to the initial segment of commutators.

More precisely, assume that Init is the initial segment, x=sjkj and y=sj+1kj+1 should be swapped, Rest represent the segment behind y, and Commutators is a final segment of commutators. The swapping will consists of these steps:

InitxyRestCommutatorsInityx[x-1,y-1]RestCommutatorsInityxRest([x-1,y-1][[y-1,x-1],Rest-1]Commutators)

where the parenthesis enclose a new segment of commutators. Before the parenthesis, x and y are swapped. Each such swap requires enhancing the commutator section by two new commutators of size at most size(g), hence each such swap has complexity linear in size(g).

Let us call everything before the commutator section a “regular section”. Going from left to right and performing these swaps will ensure that the largest element will be at the end of the regular section. But no later then that, the largest element ylargest disappears from the regular section completely, because all of its exponents add up to 0. Again, starting from the left and performing another round of swaps will ensure that the second-largest elements disappear from the regular section; repeating this, all the regular section will eventually disappear which will happen in at most size(g)2 swaps in total. Each swap has complexity linear in size(g) and the overall time complexity is not worse than cubic.

Lemma 11

Assume that F is a parametrized simplicial set with polynomially contractible loops. Let k>0, γGFk be spherical, i.e. diγ=1, 0ik, and αGFk is arbitrary. There is a polynomial-time algorithm that computes δGFk+1 such that d0δ=[α,γ] and diδ=1 for all i>0.

In other words, a simple commutator of a spherical element with another element can always be “contracted” in GF in polynomial time. Our proof roughly follows the construction in Kan (1958a, Sect. 8).

Proof

For xGF0, we will denote by c0x the element of GF~1 such that d0c0x=x: this can be computed in polynomial-time by the assumption on polynomial loop contractions. For the simplex αGFk, we define (k+1)-simplices β0,,βk by βk:=s0kc0d0kα and inductively βj-1:=(sjdjβj)·(sjα-1)·(sj-1α) for j<k. Then the following relations hold:13

  • d0β0=α.

  • djβj=djβj-1, 1jk

  • dk+1βk=1.

The second and third equations are a matter of direct computation, while the first follows from the more general relation d0j+1βj=d0jα which can be proved by induction. If k is fixed, then all β0,,βk can be computed in polynomial time.

The desired element δ is then the alternating product

δ:=[β0,s0γ][β1,s1γ]-1[βk,skγ]±1.

Lemma 12

Under the assumptions of Theorem 1, there exist homomorphisms cj:GFjGFj+1 for 0j<d-1 such that

  1. d0cj=id,

  2. dicj=cj-1di-1, 0<ij+1, and

  3. cjsi=si+1cj-1 for 0<j<d-1 and 0i<j,

  4. d1c0(x)=1 for all xGF0.

If d is fixed and xGFj, j<d-1, then cj(x) can be computed in polynomial time.

Proof

The homomorphism c0 can be constructed directly from the assumption on polynomial contractibility of loops. We have a canonical basis of GF0 consisting of all non-degenerate 1-simplices of F. For σF1, we denote by σ¯ the corresponding generator of GF0. The we define c0(σ¯jkj) to be bjkj where bj is the element of GF1 such that d0bj=σ¯j and d1bj=1.

In what follows, assume that 1k<d-1 and ci have been defined for all i<k. We will define ck in the following steps.

Step 1. Contractible elements.

Let xGFk. We will say that x is contractible and yGFk+1 is a contraction of x if d0y=x and diy=ck-1di-1x for all i>0.

The general strategy for defining ck will be to find a contraction h for each basis element ((k+1)-simplex) gGFk and define ck(g):=h. This will enforce properties 1 and 2. Moreover, in case when g is degenerate, the contraction will be chosen in such a way that property 3 holds too; otherwise it holds vacuously. Property 4 only deals with c0 and is satisfied by the definition of loop contraction (a polynomial-time c0 is given as an input in Theorem 1).

Step 2. Contraction of degenerate elements.

Let g=siy be a basis element of GFk, yGFk-1. Then g can be uniquely expressed as sjz where j is the maximal i such that gIm(si). We then define ck(g):=sj+1ck-1(z). Note that

d0ck(g)=d0sj+1ck-1(z)=sjd0ck-1(z)=sjz=g,

so property 1 is satisfied. To verify property 2, first assume that i{j+1,j+2}. Then we have

dick(g)=disj+1ck-1(z)=ck-1(z)=ck-1di-1sjz=ck-1di-1g.

This fully covers the case k=1, because then the only possibility is j=0 and i{1,2}. Further, let k>1. If ij, then we have

dickg=dicksjz=disj+1ck-1(z)=sjdick-1(z)=sjck-2di-1z=ck-1sj-1di-1z=ck-1di-1sjz=ck-1di-1g

and if i>j+2, then the computation is completely analogous, using the relation disj+1=sj+1di-1 instead.

So far, we have shown that ck(g):=sj+1ck-1g is a contraction of g. It remains to show property 3. That is, we have to show that if g=sjz can also be expressed as siy, then ck(siy)=si+1ck-1y.

The degenerate element g has a unique expression g=siusi1si0v where i0<i1<<iu=j and is expressible as six iff i=ij for some j=0,1,,u. Choosing such i<j, we can rewrite g as g=sjsiv for some v and then g=sisj-1v, so that y=sj-1v and z=siv. Then we again use induction to show

ck(siy)=sj+1ck-1(z)=sj+1ck-1siv=sj+1si+1ck-2v=si+1sjck-2v=si+1ck-1sj-1v=si+1ck-1y

as required.

Step 3. Decomposition into spherical and conical parts.

We will call an element x^GFk to be conical if it is a product of elements that are either degenerate or in the image of ck-1. Let xGFk be arbitrary. We define xk:=x and inductively xi-1:=xi(si-1dixi)-1. In this way we obtain x0,,xn such that xi is in the kernel of dj for j>i and x=x0y where y is a product of degenerate simplices. Further, let xs:=x0(ck-1d0x0)-1. A simple computation shows that xs is spherical, that is, dixs=1 for all i. We obtain an equation x=xsx^ where x^=(ck-1(d0x0)y; this is a decomposition of x into a spherical part xs and a conical element x^.

We will define ck on non-degenerate basis elements g=σ¯ by first decomposing g=gSg^ into a spherical and conical part, finding contractions h1 of gS and h2 of g^, and defining ck(g):=h1h2. Then ck(g) is a contraction of g and hence satisfies properties 1 and 2: property 3 is vacuously true once g is non-degenerate.

Step 4. Contraction of the conical part.

Let x^:=ck-1(d0x0)y be the conical part defined in the previous step. By construction, x0GF~k and y is a product of degenerate elements si1u1silul. We define the contraction of ck-1(d0x0) to be

c~k(ck-1(d0x0)):=s0ck-1(d0x0).

Note that this satisfies property 1 as d0c~kck-1(d0x0)=ck-1(d0x0). For property 2, we first verify

d1c~kck-1(d0x0)=d1s0ck-1(d0x0)=ck-1(d0x0)=ck-1d0ck-1(d0x0).

Not let i2. If k=1, then the remaining face operator is d2 and we have

d2c~1c0(d0x0)=d2s0c0(d0x0)=s0d1c0(d0x0)=1=c0d1c0(d0x0)

using axiom 4 for c0. Finally, if i2 and k2, we have

dic~kck-1(d0x0)=dis0ck-1(d0x0)=s0di-1ck-1(d0x0)=s0ck-1di-2d0x0=s0ck-1d0di-1x0=s0ck-1d01=1=ck-1ck-2d0di-1x0=ck-1ck-2di-2d0x0=ck-1di-1ck-1(d0x0),

where we exploited the fact that x0GF~k and hence dux0=1 for u2.

The contraction of degenerate elements y has already been defined in Step 2, so we can define a contraction of ck-1(d0x0)y to be s0ck-1(d0x0)ck(y).

Step 5. Contraction of commutators.

Let gGFk be an element of the commutator subgroup. By Lemma 10, we can algorithmically decompose g into a product of simple commutators, so to find a contraction of g, it is sufficient to find a contraction of each simple commutator [xy] in this decomposition.

Let x=xSx^ and y=ySy^ be the decompositions into spherical and conical parts described in Step 3. Using the notation ba:=bab-1, we can decompose [xy] as follows (Berger 1991, p. 60):

[x,y]=([x,y][y^,x])([x,y^][y^,x^])[x^,y^]=[xyx-1,xy(y-1y^)][xy^,x(x-1x^)][x^,y^]. 6

Both x-1x^ and y-1y^ are spherical simplices and so are their conjugations. It follows that Eq. (6) can be rewritten to [x,y]=[α1,γ1][α2,γ2][x^,y^] where γ1 and γ2 are spherical. All of these decompositions are done by elementary formulas and are polynomial-time in the size of x and y.

By Lemma 11 we can find an elements λiGF~k+1 such that d0λi=[αi,γi], i=1,2, in polynomial time. Further, both x~ and y~ are conical and they are in the form x~=c0(d0x0)xdeg where x0GF~k and xdeg is degenerate; similar decomposition holds for y. In Step 4 we showed how to compute elements cx and cy such that cx, cy is a contraction of x^, y^, respectively. Then [cx,cy] is a contraction of [x^,y^] and λ1λ2[cx,cy] is a contraction of [xy].

Step 6. Contraction of spherical elements.

The last missing step is to compute a contraction of the spherical element gS where gS is the spherical part of a basis element gGFk.

Let us denote by p the projection GFpAF. The projection z:=p(gS) is in the kernel of all face operators and hence a cycle in AF~k. By Lemma 9, we can compute t:=ckA(z)AF~k+1 such that d0t=z, in polynomial time. Let hGFk+1 be any p-preimage14 of t. Let hk:=h and inductively define hj-1:=hj(sj-1djhj)-1 for j<k. Then h0 is in the kernel of all faces except d0, that is, h0GF~k+1. It follows that p(h0)AF~k+1 is in the kernel of all faces except d0. We claim that p(h0)=t.This can be shown as follows: assume that p(hj)=t, then p(hj-1)=p(hj)+p(sj-1djhj-1)=t+sj-1djt=t+0=t.

We have the following commutative diagram:

graphic file with name 41468_2018_21_Equ85_HTML.gif

Both gS and d0h0 are mapped by p to the same element z: it follows that gS(d0h0)-1 is mapped by p to zero and hence is an element of the commutator subgroup. Let h~ be the contraction of gS(d0h0)-1, computed in Step 5, and finally let h:=h~h0. Then h is an element of GF~k+1 and a direct computation shows that d0h=gS as desired.

This completes the construction of ck: for each non-degenerate basis element g of GFk, ck(g) is defined to be the product of the contraction of gS and the contraction15 of g^.

All the subroutines described in the above steps are polynomial-time. Thus we showed that if there exists a polynomial-time algorithm for ck-1, then there also exists a polynomial-time algorithm for ck. The existence of a polynomial-time c0 follows from the assumption on polynomial loop contractibility and d is fixed, thus there exists a polynomial-time algorithm that for xGFj computes cj(x) for each j<d-1.

Lemma 13

(Construction of arrow 2) Under the assumption of Theorem 1, let zZd-1(AF~) be a cycle. Then there exists a polynomial-time algorithm that computes a cycle xZd-1(GF~) such that the Abelianization of x is z.

The assignment zx is hence an effective inverse of the isomorphism

Hd-1(GF~)Hd-1(AF~)

on the level of representatives.

Proof

Let cd-2 be the contraction from Lemma 12 and zZd-1(AF~) be a cycle. First choose yGFd-1 such that p(y)=z. Creating the sequence yn:=y, yj-1:=yjsj-1djyj-1 for decreasing j, yields an element y0GF~d-1 that is still mapped to z by p, similarly as in Step 4 of Lemma 12. The equation pd0(y0)=d0p(y0)=d0z=0 shows that d0y0 is in the commutator subgroup GF~d-2. We define x:=y0cd-2(d0y0)-1: this is already a cycle in GF~d-1 and p(x)=p(y0)=z.

Arrow 3

A cycle gGF~d-1GFd-1 represents a generator of the homotopy group Hd-1(GF~)πd(F). Given such g, our goal is to construct a simplicial set Σd with |Σd|=Sd and a simplicial map γg:ΣdF with [γg][g].

Consider first the following naive idea of the construction: Suppose that g=x1xn¯, where xiFd,1in. For simplicity, assume that xi’s are all nondegenerate simplices. We then take n disjoint simplices y1,yn and define f:i=1nyiF sending yi to xi. From the fact that dj(x1xn¯)=1, we now define relations on the faces of yi’s (say we conclude that dj(xi)=dj(xi+1)-1, then we add relation dj(yi)dj(yi+1)). Putting all such relations together we define a simplicial set Y=i=1nyi/ and a simplicial map f:YF where f factors through f, see Fig. 3 for an example.

Fig. 3.

Fig. 3

Let gGF1 with g=x1x2x3x4¯, where d0(x1)=d0(x2)-1, d0(x3)=d0(x4)-1, d2(x1)=d1(x2), d2(x2)=d1(x1), d1(x3)=d2(x3) and d1(x4)=d2(x4). Simplicial set Y is then obtained by identifying faces of triangles y1,y2,y3,y4 as pictured here. One can see |Y|=S2S2

We have nearly achieved what we aimed for - one can show that |Y| is homotopy equivalent to the wedge sum of d - dimensional spheres and [f]g. However, in general |Y| is not homeomorphic to Sd. One way to overcome the problem is to make the space Y “thicker” and making sure that identifying simplices never results in a wedge of spheres.

To this end, we utilize the following construction which is one of the main results from Berger (1995). Here, we describe the main points of the construction while details are given in later sections.

On an algebraic level, we define another simplicial model of a loopspace of F—a simplicial group Ω¯F. Further, there is a homomorphism of simplicial groups t:GFΩ¯F that induces an isomorphism on the level of homotopy groups. This is described in Berger (1995, Proposition 3.3).

The homomorphism t is given later by formula (8) and the simplicial set Ω¯F is described in the next section. Here, we remark that the size of t(g) is exponential in size of g.

Finally, Lemma 14 describes an algorithm that for a spherical element γΩ¯Fd-1 constructs a simplicial map γsph:Σd(γ)F such that πd-1(Ω¯F)[γ][γsph]πd(F) - essentially using the naive idea described above. We describe the construction in detail in the next section.

The size of γsph is polynomial in size(γ). Hence, given a spherical gGF~d-1, the algorithm produces t(g)sph:Σd(t(g))F that is exponential with respect to size(g).

Berger’s model of the loop space

Definition 9

(Oriented multigraph onXn) Let X be a 0-reduced simplicial set. We define a directed multigraph MXn=(Vn,En), where the set of vertices Vn=Xn and the set of edges En is given by

En={[x,i]ϵxXn+1,0in,ϵ{1,-1}}.

We define maps source,target:EnVn by setting source[x,i]=di+1x, target[x,i]=dix and source[x,i]-1=target[x,i] and target[x,i]-1=source[x,i].

An edge [x,i]ϵEn is called compressible if x=six for some xXn.

Definition 10

(Paths) Let XsSet. A sequence of edges in MXn

γ=[x1,i1]ϵ1[x2,i2]ϵ2[xk,ik]ϵk 7

is called an n-path if target[xj,ij]ϵj=source[xj+1,ij+1]ϵj+1, 1j<k.

Moreover, for every xVn=Xn we define a path of length zero 1x with the property source1x=x=target1x and relations a1x=a whenever targeta=x and 1xb=b whenever sourceb=x.

The set of paths on MXn is denoted by IXn. Let γIXn by as in (7). We define sourceγ=source[x1,i1]ϵ1 and targetγ=target[xk,ik]ϵk. The inverse of γ, denoted γ-1, is defined as

γ-1=[xk,ik]-ϵk[x1,i1]-ϵ1.

if γ = 1x, then γ-1=γ. Note that each path is either equal to 1x for some x or can be represented in a form such as (7), without any units.

For algorithmic purposes, we assume that a path γ=[x1,i1]ϵ1[x2,i2]ϵ2[xk,ik]ϵk is represented as a list of triples (xj,ij,ϵj) and has size

size(γ):=jsize(xj)+size(ij)+size(ϵj),

which is bounded by a linear function in jsize(xj).

Given an edge [x,i]ϵMXn, we define operators

d0,dn:EnIXn-1ands0,,sn:EnIXn+1

called face and degeneracy operators, respectively. These are given as follows

dj[x,i]ϵ=[djx,i-1]ϵ,j<i;1didi+1x,i=j;[dj+1x,i]ϵ,j>i.sj[x,i]ϵ=[sjx,i+1]ϵ,j<i;[six,i+1][si+1x,i])ϵ,i=j;[sj+1x,i]ϵ,j>i.

One can now extend the definition of face and degeneracy operators to paths, i.e. we define operators d0,dn:IXnIXn-1 and s0,,sn:IXnIXn+1

djγ=dj([x1,i1]ϵ1)dj([x2,i2]ϵ2)dj([xk,ik]ϵk)ifγ=[x1,i1]ϵ1[x2,i2]ϵ2[xk,ik]ϵk,1djxifγ=1x,xXn.sjγ=sj([x1,i1]ϵ1)sj([x2,i2]ϵ2)sj([xk,ik]ϵk)ifγ=[x1,i1]ϵ1[x2,i2]ϵ2[xk,ik]ϵk1sjxifγ=1x,xXn.

With the operators defined above, one can see that IX is in fact a simplicial set.

For any γ,γIX such that targetγ=sourceγ, we define a composition γ·γ in an obvious way.

If the simplicial set X is 0-reduced, we denote the unique basepoint X0. Abusing the notation, we denote the iterated degeneracy of the basepoint s0s0k-timesXk by  as well. With that in mind, we define simplicial subsets PX, ΩX of IX as follows:

PX={γIXtargetγ=}ΩX={γIXsourceγ==targetγ}.

We remark that simplicial sets PX,ΩX intuitively capture the idea of path space and loop space in a simplicial setting.

Definition 11

A path γ=[x1,i1]ϵ1[x2,i2]ϵ2[xk,ik]ϵkIX is called reduced if for every 1j<k the following condition holds:

(xj=xj+1&ij=ij+1)ϵj=ϵj+1.

e.g. an edge in the path γ is never followed by its inverse.

An edge [x,i]ϵEn is called compressible if x=six for some xXn. A path is compressed if it does not contain any compressible edge.

We define relation R on IX (or rather on each IXn) as a relation generated by

[x,i]ϵ[x,i]-ϵR1source([x,i]ϵ),nN0,[x,i]ϵEn.

Similarly, we define C on IX as a relation generated by

[x,i]ϵC1source([x,i]ϵ),if[x,i]ϵEnis compressible.

We finally define I¯X=(IX/C)/R. Similarly, one defines P¯X,Ω¯X.

For γ,γIXn, we write γγ if they represent the same element in I¯Xn. The symbol γ¯, denotes the (unique) compressed and reduced path such that γγ¯. One can see I¯X (P¯X,Ω¯X) as the set of reduced and compressed paths in IX(PX,ΩX).

In a natural way, we can extend the definition of face and degeneracy operators di,si on sets I¯X(P¯X,Ω¯X) by setting diγ=diγ¯ and siγ=siγ¯. One can check that this turns I¯X, P¯X and Ω¯X into simplicial sets.

Similarly, we define operation ·:Ω¯Xn×Ω¯XnΩ¯Xn by γ·γγγ¯, i.e. we first compose the loops and then assign the appropriate compressed and reduced representative. With the operation defined as above, Ω¯X is a simplicial group.

Homomorphism t:GXΩ¯X

We first describe how to any given xXn assign a path γxP¯Xn with the property sourceγx=x and targetγx=:

For xXn, n>0, the 0-reducedness of X gives us di1di2dinx=, here ij{0,,j}, 0<jn. In particular, d0d1dn-1x=. Using this, we define

γx=[snx,n-1][snsn-1dn-1x,n-2][snsn-1s1d1d2dn-1x,0].

Ignoring the degeneracies, one can see the sequence of edges as a path

xdn-1xdn-2dn-1xd0d1dn-1x.

We define the homomorphism t on the generators of GXn, i.e. on the elements x¯, where xXn+1 as follows:

t(x¯)=γdn+1x-1[x,n]γdnx¯. 8

This is an element of Ω¯Xn.

The algorithm representing the map t has exponential time complexity due to the fact that an element σ¯k with size size(σ)+size(k) is mapped to

γdn+1x-1[x,n]γdnxγdn+1x-1[x,n]γdnx¯ktimes

which in general can have size proportional to k. Assuming an encoding of integers such that size(k)ln(k), this amounts to an exponential increase.

Universal preimage of a path

Intuitively, one can think of the simplicial set IX of paths as of a discretized version of space of continuous maps |X|[0,1]. In particular, γIXd-1 is a walk through a sequence of d-simplices in X that connect sourceγ with targetγ. However, in the continuous case an element μ|X|[0,1] corresponds to a continuous map μ:[0,1]|X|. We want to push the parallels further, namely, given any nontrivial16γIXd-1, we aim to define a simplicial set Dom(γ) and a simplicial map γmap:Dom(γ)X with the following properties:

  1. |Dom(γ)|=Dd.

  2. γmap maps Dom(γ) to the set of simplices contained in the path γ.

We will utilize the following construction given in Berger (1995).

Definition 12

Let γIXd-1 . We define Dom(γ) and γmap as follows. Suppose, that γ=[y1,i1]ϵ1[y2,i2]ϵ2[yk,ik]ϵk. For every edge [yj,ij]ϵj, let αj be the simplicial map Δdyj sending the nondegenerate d simplex in Δd to yj.

We define Dom(γ) as a quotient of the disjoint union of k copies of Δd:

Dom(γ)=i=1kΔd/

where each copy of Δd corresponds to a domain of a unique αj and the relation is given by

(αj)-1target([yj,ij]ϵj)(αj+1)-1source([yj+1,ij+1]ϵj+1).

The map γmap is induced by the collection of maps α1,,αk:

graphic file with name 41468_2018_21_Equ86_HTML.gif

We recall that simplicial set I¯X was defined as the set of “reduced and compressed” paths in IX. Similarly, one introduces a reduced and compressed versions of the construction Dom. As a final step we then get

Lemma 14

(Section 2.4 in Berger 1995) Let γΩ¯Xd-1 such that diγ=1Ω¯X for all i. Then the map γmap:Dom(γ)X factorizes through a simplicial set model of the sphere Σd(γ) as follows:

graphic file with name 41468_2018_21_Equ87_HTML.gif

Further, πd-1(Ω¯X)[γ][γsph]πd(X).

We will not give the proof of correctness of Lemma 14 (it can be found in Berger 1995). Instead, in the next section, we only describe the algorithmic construction of γsph:Σd(γ)X and give a running time estimate.

Algorithm from Lemma 14

The algorithm accepts an element γΩ¯Xd-1 such that diγ=1Ω¯X for all i, a spherical element. We divide the algorithm into four steps that correspond to the four step factorization in the following diagram:

graphic file with name 41468_2018_21_Equ88_HTML.gif
Dom(γ):

We interpret γ as an element in IX and construct γmap:Dom(γ)X. This is clearly linear in the size of γ.

Dom¯(γ):

The algorithm checks, whether an edge [y,j]ϵ in di1di2diγ, where 0i1<i2<<i<(d--2) is compressible, i.e. y=sjdjy. If this is the case, add a corresponding relation on the preimages: α-1(y)sjdjα-1(y). Factoring out the relations, we get a map γc:Dom¯(γ)X.

Although the number of faces we have to go through is exponential in d, this is not a problem, since d is deemed as a constant in the algorithm and so is 2d. Hence the number of operations is again linear in the size of γ.

Dom¯¯(γ):

Let k<d. We know that dkγ¯=1, so after removing all compressible elements from the path dkγ, it will contain a sequence of pairs ([yi,ji]ϵi,[yi,ji]-ϵi) such that, after removing all [yu,ju]±1 for all u<v, then [yv,jv]ϵv and [yv,jv]-ϵv are next to each other.17 Each such pair ([yi,ji]ϵi,[yi,ji]-ϵi) corresponds to a pair of indices (li,mi) corresponding to the positions of those edges in dkγ. These sequences are not unique, but can be easily found in time linear in length(γ). Then we glue αli-1(yi) with αmi-1(yi) for all i. Performing such identifications for all k defines the new simplicial set Dom¯¯(γ).

Σd(γ):

It remains to identify α-1(sourceγ) and α-1(targetγ) with the appropriate degeneracy of the (unique) basepoint. The resulting space |Σd(γ)| is a d-sphere.

Polynomial-time loop contraction in Fd

In this section, we show that simplicial sets Fi, 2id constructed algorithmically in Sect. 4 have polynomial-time contractible loops, thus proving Lemma 4.

Assuming that X is a 0-reduced, 1-connected simplicial set with a given algorithm that computes the contraction on loops c0:(GX)0(GX)1, the contraction c0 on F2 is automatically defined, as F2=X.

The majority of the effort in the rest of this section is concentrated on the description of the contraction c0 on F3, as show that the contraction Fi,i>3 can be easily obtained from the contraction on F3.

We remark that the loop contractions, i.e. maps c0:G0(Fi)G1(Fi) with d0c0=id and d1c0=1, are not unique. We only describe one of possible choices and provide an analysis on the overall length of the formulas/running time of the algorithm.

Notation

We will further use the following shorthand notation: For a 0-reduced simplicial set X we will denote the iterated degeneracy s0s0 of its unique basepoint by and we set πi=πi(X). For any Eilenberg–Maclane space K(πi,i-1), i2, we denote its basepoint and its degeneracies by 0. From the context, it will always be clear which simplicial set we refer to.

Loop contraction on Fi, i>3

Suppose we have defined the contraction on the generators of G0(F3). i.e. for any (x,k)(X×τK(π2,1))1 we have

c0((x,k)¯)=(x1,k1)¯ϵ1(xn,kn)¯ϵn(xj,kj)(F3)2,ϵjZ,1jn

such that d0c0((x,k)¯)=(x,k)¯ and d1c0((x,k)¯)=1. In detail, we get the following:

(x,k)¯=d0c0((x,k)¯)=(d0x1,d0k1)¯ϵ1(d0xn,d0kn)¯ϵn 9
1=d1c0((x,k)¯)=((d2x1,τ(x1)d2k1)¯-1·(d1x1,d1k1)¯)ϵ1((d2xn,τ(xn)d2kn)¯-1·(d1xn,d1kn)¯)ϵn 10

We now aim to give a reduction on the generators of G0(Fi), i>3. Simplicial set Fi is an iterated twisted product of the form

(((X×τK(π2,1))×τK(π3,2))×τ×τK(πi-2,i-3))×τK(πi-1,i-2)

As simplicial sets K(πi-1,i-2) are 1-reduced for i>3, we can identify elements of (Fi)1 with vectors (x,k,0,,0), where kK(π2,1)1,xX1. We further shorthand the series of i-3 zeros in the vector with 0. Hence generators G0(Fi) are of the form (x,k,0)¯. The 1-reducedness also implies that τ(α)=0 whenever α(Fi)2, i>2.

Finally, we set

c0((x,k,0)¯)=(x1,k1,0)¯ϵ1(xn,kn,0)¯ϵn(xj,kj,0)(Fi)2,ϵjZ,1jn

The (almost) freeness of G0(Fi), the fact that K(πi-1,i-2) are 1-reduced for i>3 and Eqs. (9), (10) give that d0c0((x,k,0)¯)=(x,k,0)¯ and d1c0((x,k,0)¯)=1.

Before the definition of contraction on simplicial set F3, we recall some basic facts about the simplicial model of Eilenberg–MacLane spaces we are using.

Eilenberg–MacLane spaces

As noted in Sect. 3, given a group π and an integer i0 an Eilenberg–MacLane space K(π,i) is a space satisfying

πj(K(π,i))=πforj=i,0else.

In the rest of this section, by K(π,i) we will always mean the simplicial model which is defined in May (1992, p. 101)

K(π,i)q=Zi(Δq;π),

where ΔqsSet is the standard q-simplex and Zi denotes the cocycles. This means that each q-simplex is regarded as a labeling of the i-dimensional faces of Δq by elements of π such that they add up to 0π on the boundary of every (i+1)-simplex in Δq, hence elements of K(π,q)q are in bijection with elements of π. The boundary and degeneracy operators in K(π,k) are given as follows: For any σK(π,i)q, dj(σ)K(π,k)q-1 is given by a restriction of σK(π,i) to the j-th face of Δq. To define the degeneracy we first introduce mapping ηj:{0,1,,q+1}{0,1,,q} given by

ηj()=forj,-1for>j.

Every mapping ηj defines a map C(ηj):C(Δq)C(Δq+1).The degeneracy sjσ is now defined to be C(ηj)(σ) (see May 1992, §23).

It follows from our model of Eilenberg–MacLane space, that elements of K(π2,1)2 can be identified with labelings of 1-faces of a 2-simplex by elements of π2 that sum up to zero.

As π2 is an Abelian group, we use the additive notation for π2. We identify the elements of K(π2,1)2 with triples (k0,k1,k2), kiπ2, 0i2, such that k0-k1+k2=0π2.

Loop contraction on F3

Let X be a 0-reduced, 1-connected simplicial set with a given algorithm that computes the contraction on loops c0:(GX)0(GX)1.

In the rest of the section, we will assume xX1. Then by our assumptions c0x¯=y1¯ϵ1yn¯ϵn, where yiX2,ϵiZ, 1in. Let ki=τ(yi).

We first show that in order to give a contraction on elements of the form (x,0)¯ and (x,k)¯, it suffices to have the contraction on elements of the form (,k)¯:

Contraction on element (x, 0)

Let (x,0)¯G0(F3). We define

c0(x,0)¯=i=1n(c0(,ki)¯-1(s1d2yi,(ki,ki,0))¯·(yi,0)¯)ϵi.

Contraction on element (xk)

Suppose (x,k)¯(GF3)0. The formula for the contraction is given using the formulae on contraction on (x,0)¯ and (,k)¯ as follows

c0(x,k)¯=(s0x,(k,0,-k))¯·s0(x,0)¯-1·s0(,-k)¯·c0((,-k)¯)-1·c0((x,0)¯)

Contraction on element (,k)

We formalize the existence of the contraction as follows:

Lemma 15

Let kπ2(X). Then there is an algorithm that computes an element z(GF3)1 such that d0z=(,k)¯ and d1z=1.

The proof is postponed until later and uses a variety of technical results. The main idea is to take a generator of π2(X) represented by a spherical element γπ1(GX) with [γ]=k, and use it to find a filler of (,k)¯.

Consider first the following, simplified, situation: Suppose that there is y(X)2 with d0(y¯)=1 and d1(y¯)=d2y¯-1d1y¯=1. Let k=[y¯]π2(X), then τ(y)=k. Observe that

d0(y,(0,0,0))¯=(d0y,0)¯=(,0)¯=1d1(y,(0,0,0))¯=(d2y,k)¯-1·(d1y,0)¯.

Purely from the point of view of information at our disposal, we are close to finding c0(,k)¯. What we need to do is to employ some algebraic machinations that would “uncouple” the pair (d2y,k)¯-1 into, say (d2y,0)¯-1 and (,k)¯-1, “merge” (d2y,0)¯-1 with (d1y,0)¯ (thus eliminating it) and , finally, “switch” the “d0” and “d1”. These informally described operations are made precise in Lemma 17.

In general case, for an arbitrary kπ2 one cannot expect that there exists y with the properties as above, however, the following is true:

Lemma 16

Let kπ2, then there exists γ=y1¯ϵ1yn¯ϵnGX~1 where yiX2 and τyi=kiπ2(X), such that d0γ=1=d1γ and i=1nϵi·ki=k.

Proof

Given an element kπ2H2(X), one can compute a cycle γZ2(X) such that

[γ]=kπ2(X)H2(X)H2(K(π2,2))π2(K(π2,2)),

where the middle isomorphism is induced by φ2 and the other isomorphisms follow from the Hurewicz theorem.

We recall that the loop contraction c0 on the space X is given as a part of the input. According to Lemma 13, one can compute the inverse of the Hurewicz isomorphism

H1(GX~)H1(AX~)H2(X)

on the level of representatives.

Therefore, if we consider γAX~1, we can algorithmically compute a spherical element γ=y1¯ϵ1yn¯ϵnGX~1 and it is easy to see that it has the desired properties.

We can now use Lemma 16 and some minor technical tricks to prove Lemma 15.

Proof of Lemma 15

Let kπ2, then, by Lemma 16, we compute γ=y1¯ϵ1yn¯ϵnGX~1 with yiX2 and τyi=kiπ2(X), such that d0γ=1=d1γ and i=1nϵi·ki=k.

We define z(GF3)1 by

z=i=1n(s0d0yi,(ki,0,-ki))¯ϵi·i=1n(yi,(ki,0,-ki))¯ϵi-1.

Observe that d0(z)=1 and

d1z=((,-k1)¯-1·(d0y1,0)¯)ϵ1((,-kn)¯-1·(d0yn,0)¯)ϵn.

We apply Lemma 18 on z and get an element z(GF3)1 with the property d0z=1 and d1z=(,k)¯. We define z=s0(,k)¯·(z)-1. Thus d0z=(,k)¯ and d1z=1.

Technical statements

Definition 13

Let Z={z(GF3)1d0z=1} and let W={d1zzZ} We define an equivalence relation on the elements of W in the following way: We say that ww if there exists zZ, α,β(GF3)1 such that d1z=w, αzβZ and d1(αzβ)=w.

Lemma 17

Let wW such that

  1. w=(x,k)¯ϵ·α, where α(GF3)1 Then w=(x,k)¯ϵ·αα·(x,k)ϵ=w.

  2. w=(,k)¯ϵ·α, where α(GF3)0. Then ww=(,-k)¯-ϵ·α.

  3. w=(,-k)¯-1(x,0)·α, where α(GF3)0. Then ww=(x,k)¯·α.

  4. w=(x,0)¯-1(x,k)¯·α, where α(GF3)0. Then ww=(,k)¯·α.

  5. w=(,-l)¯-1(,k)¯·α, where α(GF3)0. Then ww=(,k+l)¯·α.

Proof

In all cases, we assume zZ such that d1z=w and we give a formula for zZ with d1z=w:

  1. z=s0(x.k)¯-ϵ·z·s0(x,k)¯ϵ.

  2. z=(,(k,0,-k))¯ϵ·(s0(,k)¯)-ϵ·z.

  3. z=(s0(x,k)¯)·(s0x,(k,0,-k))¯-1·z.

  4. z=(s0(,k)¯)(s1x,(k,k,0))¯-1·z.

  5. z=(s0(,k+l))¯(,(k+l,k,-l))¯-1·z.

Lemma 18

Let z(GF3)1, zZ with

d1z=w=(,-k1)¯-1·(x1,0)¯ϵ1(,-kn)¯-1·(xn,0)¯ϵn

where x1¯ϵ1xn¯ϵn=1 in GX0, xiX, kiπ2(X), ϵi{1,-1}, 1in. Then w(i=1nki,)¯.

Proof

We achieve the proof using a sequence of equivalences given in Lemma 17. Without loss of generality we can assume that x1=x2-1 and ϵ1,ϵ2=1 (If this is not the case, we can use rule (1) and/or relabel the elements). Using (1) gives us

w=(,-k1)¯-1·(x2,0)¯-1·(,-k2)¯-1·(x2,0)¯(,-kn)¯-1·(xn,0)¯ϵn(,-k2)¯-1·(x2,0)¯(,-kn)¯-1·(xn,0)¯ϵn·(,-k1)¯-1·(x2,0)¯-1.

Then successive use of (3), (1), (4), (1) and finally (5) gives us

w(x2,k2)¯(,-kn)¯-1·(xn,0)¯ϵn·(,-k1)¯-1·(x2,0)¯-1.(x2,0)¯-1·(x2,k2)¯(,-kn)¯-1·(xn,0)¯ϵn·(,-k1)¯-1(,k2)¯(,-kn)¯-1·(xn,0)¯ϵn·(,-k1)¯-1(,k1+k2)¯·(,-k3)¯-1·(x3,0)¯(,-kn)¯-1·(xn,0)¯ϵn

multiple use or rules (2) and (1) and gives us

w(,-k1-k2-k3)¯-1·(x3,0)¯(,-kn)¯-1·(xn,0)¯ϵn

So far, we have produced some element zZ(GF3)1 such that d0z=1,

d1z=(,-k1-k2-k3)¯-1·(x3,0)¯(,-kn)¯-1·(xn,0)¯ϵn

and further x3¯ϵ3xn¯ϵn=1 in GX0.

It follows that the construction described above can be applied iteratively until all elements (xi,0)¯ are removed and we obtain w(-i=1nki,)¯-1(i=1nki,)¯.

Computational complexity

We first observe that formulas for c0 on a general element (x,k)¯ depend polynomially on the size of c0(x¯) and the size of contractions on (,k)¯. Hence it is enough to analyze the complexity of the algorithm described in Proposition 15.

The computation of γ is obtained by the polynomial-time Smith normal form algorithm presented in Kannan and Bachem (1981) and the polynomial-time algorithm in Lemma 13. The size of z depends polynomially (in fact linearly) on size of γ. The algorithm described in Lemma 18 runs in a linear time in the size of z.

To sum up, the algorithm computes the formula for contraction on the elements of GFi in time polynomial in the input (sizeX+sizec0(GX)).

Reconstructing a map to the original simplicial complex

This section contains the proof of Lemma 6 formulated on page 20. To summarize it, we will prove that whenever a simplicial set X was constructed from a simplicial complex Xsc by contracting its spanning tree T into the basepoint and Σ is a simplicial complex, then we can convert a simplicial map ΣX into a simplicial map between simplicial complexesSd(Σ)Xsc where Sd(Σ) is a suitable subdivision of Σ. We will describe an explicit construction and argue that the underlying algorithm is polynomial.

Edgewise subdivision of simplicial complexes

In Edelsbrunner and Grayson (1999), the authors present, for kN, the edgewise subdivisionEsdk(Δm) of an m-simplex Δm that generalizes the two-dimensional sketch displayed in Fig. 4. This subdivision has several nice properties: in particular, the number of simplices of Esdk(Δm) grows polynomially with k. Explicitly, the subdivision can be represented as follows.

  • The vertices of Esdk(Δm) are labeled by integer coordinates (a0,,am) such that aj0 and jaj=k.

  • Two vertices (a0,am) and (b0,,bm) are adjacent if there is a pair j<k such that |bj-aj|=|bk-ak|=1 and ai=bi for ij,k.

  • Simplices of Esdk(Δm) are given by tuples of vertices such that each vertex of a simplex is adjacent to each other vertex.

We define the distance of two vertices to be the minimal number of edges between them.

Fig. 4.

Fig. 4

Edgewise subdivision of a 2-simplex for k=4. In this case, there exists a copy of the 2-simplex completely in the “interior”, defined by vertices (2, 1, 1), (1, 2, 1) and (1, 1, 2). All other vertices are at the “boundary”: more formally, their coordinates contain a zero

An edgewise k-subdivision of Δm induces an edgewise k-subdivision of all faces, hence we may naturally define an edgewise subdivision of any simplicial complex.

Constructing the map Esdk(Σ)Xsc

Let R be a chosen root in the tree T. We denote the tree-distance of a vertex W from R by distT(W). Let

l:=max{distT(V):Vis a vertex ofXsc}

be the maximal tree-distance of some vertex from R. For each vertex V of Xsc, there is a unique path in the spanning tree that goes from R into V. Further, we define the maps M(j):(Xsc)(0)(Xsc)(0) from vertices of Xsc into vertices of Xsc such that

  • M(j)(V):=V if jdistT(V), and

  • M(j)(V) is the vertex on the unique tree-path from R to V that has tree-distance j from R if j<distT(V).

If, for example, R-U-V-W is a path in the tree, then M(0)(W)=R, M(1)(W)=U etc. Clearly, M(l)=M(l+1)= is the identity map, as l equals the longest possible tree-distance of some vertex.

Assume that d is the dimension of Σ and k:=l(d+1)+1. We will define f:Esdk(Σ)Xsc simplexwise. Let τΣ be an m-simplex and f(τ)=σ~X be its image in the simplicial set X. If σ is the degeneracy of the base-point X, then we define f(x):=R for all vertices x of Esdk(τ): in other words, f will be constant on the subdivision of τ. Otherwise, σ~ is not the degeneracy of a point and has a unique lift σXss (recall that X:=Xss/T). Let (V0,,Vm) be the vertices of σ (order given by orientation): these vertices are not necessarily different, as σ may be degenerate.

In the algorithm, we will need to know which faces of σ are in the tree T. We formalize this as follows: let S2m be the family of all subsets of {0,1,,m} such that

  • For each {i0,,ij}S, {Vi0,,Vij} is in the tree (that is, it is either an edge or a single vertex),

  • Each set in S is maximal wrt. inclusion.

Elements of S correspond to maximal faces of σ that are in the tree, in other words, to faces of σ~ that are degeneracies of the base-point.

Definition 14

Let Δm be an oriented m-simplex, represented as a sequence of vertices (e0,,em). For any face s{e0,,em}, we define the extended faceE(s)inEsdk(Δm) to be the set of vertices (x0,,xm) in Esdk(Δm) that have nonzero coordinates only on positions i such that eiS.

The geometric meaning of this is illustrated by Fig. 5.

Fig. 5.

Fig. 5

Illustration of extended faces. Here S={s1,s2} corresponds to the lower- and left-face of a 2-simplex. The extended faces E(s1) and E(s2) are sets of vertices of Esdk(Δ2) that are on the lower- and left-boundary. The corresponding extended tree E(T) is the union of all these vertices. The integers indicate edge-distances distET of vertices in Esdk(Δ2) from E(T)

Definition 15

Let S be defined as above. We define the extended treeE(T) to be the union of the extended faces E(s) in Esdk(Δm) for all sS. The edge-distance of a vertex x in Esdk(Δm) from E(T) will be denoted by distET(x).

In words, E(T) it is the union of all vertices in parts of the boundary of Esdk(Δm) that correspond to the faces of σ that are in the tree, see Fig. 5. The number distET(x) is the distance to x from those boundary parts that correspond to faces of σ that are in the tree.

To define a simplicial map from Esdk(τ) to Xsc, we need to label vertices of Esdk(τ) by vertices of Xsc such that the induced map takes simplices in Esdk(τ) to simplices in Xsc. Recall that V0,,Vm are the vertices of σ. For x=(x0,,xm), we denote by argmaxx the smallest index of a coordinate of x among those with maximal value [for instance, argmax(4,2,1,4,0)=0, as the first 4 is on position 0]. The geometric meaning of Vargmaxx is illustrated by Fig. 6.

Fig. 6.

Fig. 6

Labeling vertices of Esdk(Δ2) by Vargmaxx

Now we are ready to define the map f:Esdk(τ)Xsc. It is defined on vertices x with coordinates (x0,,xm) by

f(x0,,xm):=M(distET(x))(Vargmaxx). 11

Geometrically, most vertices x will be simply mapped to Vj for which the j’th coordinate of x is dominant. In particular, a unique m-simplex “most in the interior of Esdk(τ)” with coordinates

j+1jjj+1j+1T,jj+1jj+1j+1T,,jjj+1j+1j+1T,jjjj+2j+1T,,jjjj+1j+2T 12

for suitable j will be labeled by V0,V1,,Vm; in other words, it will be mapped to σ.18

However, vertices x close to those boundary parts of Esdk(τ) that correspond to the tree-parts of σ, will be mapped closer to the root R and all the extended tree E(T) will be mapped to R. One illustration is in Fig. 7.

Fig. 7.

Fig. 7

Example of the labeling induced by formula (11). We assume that f(τ)=σ~ where σ is a simplex of Xsc with three different vertices V0V1V2. In this example, the tree connects R-V0-V1 as well as R-V0-V2 and the edge V1V2 is not in the tree. On the right, we give the induced labeling of vertices of Esdk(τ) which determines a simplicial map to Xsc. The bottom and left faces of σ are in the tree, hence the bottom and left extended faces in Esdk(τ) are all mapped into R. The right face of σ is the edge V1V2 that is not in the tree: the corresponding right extended face in Esdk(τ) is mapped to a loop R-V0-V1-V2-V0-R, where V1V2 is the only part that is not in the tree. The bold edges are sent to the edge V1V2. The most interior simplex in Esdk(τ) is highlighted and is the only one mapped to σ

Computational complexity

Assuming that we have a given encoding of Σ,f,X,Xsc and a choice of T and R, defining a simplicial map f:Esdk(Σ)Xsc is equivalent to labeling vertices of Esdk(Σ) by vertices of Xsc. Clearly, the maximal tree-distance l of some vertex depends only polynomially on the size of Xsc and can be computed in polynomial time, as well as the maps M(0),,M(l). Whenever j>l, we can use the formula M(j)=id. Further, k=l(d+1)+1 is linear in l, assuming the dimension d is fixed. If τΣ is an m-simplex, then the number of vertices in Esdk(τ) is polynomial19 in k, and their coordinates can be computed in polynomial time. Finding the lift σ of f(τ)=σ~ is at most a linear operation in size(Xsc)+size(σ~). Converting σXss into an ordered sequence (V0,V1,,Vm) amounts to computing its vertices d0d1di^,dmσ, where di is omitted. Collecting information on faces of σ that are in the tree and the set of vertices E(T) is straight-forward: note that assuming fixed dimensions, there are only constantly many faces of each simplex to be checked. If s={i0,,ij} is a face, then the edge-distance of a vertex x from E(s) equals to uxiu. Applying formula (11) to x requires to compute the edge-distance of x from E(T): this equals to the minimum of the edge-distances of x from E(s) for all faces s of σ that are in the tree. Computing argmaxx is a trivial operation. Finally, the number of simplices τ of Σ is bounded by the size of Σ, so applying (11) to each vertex of Esdk(Σ) only requires polynomially many steps in size(Σ,f,Xsc,T,X).

Correctness

What remains is to prove that formula (11) defines a well-defined simplicial map and that |Esdk(Σ)||Xsc||X| is homotopic to |Σ||X|.

Lemma 19

The above algorithm determines a well-defined simplicial map Esd(Σ)Xsc.

Proof

First we claim that formula (11) defines a global labeling of vertices of Esdk(Σ) by vertices of Xsc. For this we need to check that if τ is a face of τ, then (11) maps vertices of Esdk(τ) compatibly. This follows from the following facts, each of them easily checkable:

  • If τ is spanned by vertices of τ corresponding to s{0,,m}, then a vertex x:=(x0,,xj) in Esdk(τ) has coordinates x in Esdk(τ) equal to zero on positions {0,m}\s and to x0,,xj on other positions, successively.

  • If Vk:=Vik for s=(i0,,ij) are the vertices of the corresponding face of σ, then
    Vargmaxx=Vargmaxx
  • The extended tree E(T) in Esdk(τ) equals the intersection of the extended tree in Esdk(τ) with E(τ)

  • The distance distET(x) in Esdk(τ) equals distET(x) in Esdk(τ).

Further, we need to show that this labeling defines a well-defined simplicial map, that is, it maps simplices to simplices. We claim that each simplex in Esdk(τ) is mapped either to some subset of {V0,,Vm} or to some edge in the tree T, or to a single vertex.

We will show the last claim by contradiction. Assume that some simplex is not mapped to a subset of {V0,,Vm}, and also it is not mapped to an edge of the tree and not mapped to a single vertex. Then there exist two vertices x and y in this simplex that are labeled by U and W in Xsc, such that either U or W is not in {V0,,Vm}, UW is not in the tree, and UW.

The fact that at least one of {U,W} does not belong to {V0,Vm}, implies that distET(x)<l or distET(y)<l (as M(j) maps each Vargmaxx to itself for jl).

Without loss of generality, assume that argmaxx=0 and argmaxy=1. Then the coordinates of x and y are either

x=(j+1,j,x3,,xm),y=(j,j+1,x3,,xm)

such that xij+1 for all i3, or

x=(j,j,x3,,xm),y=(j-1,j+1,x3,,xm)

for some j such that xij for all i3.

We claim that V0V1 and that the edge V0V1 is not in the tree. This is because there exists a tree-path from R via U to V0 and also a tree-path from R via W to V1 (and UW): both V0=V1 as well as a tree-edge V0V1 would create a circle in the tree. In coordinates, this means that vertices (,,0,0,,0) are not contained in E(T), apart of (k,0,0,,0) and (0,k,0,,0). So, any vertex in E(T) has a zero on either the zeroth or the first coordinate. This immediately implies that distET(x)j and distET(y)j. Keeping in mind that coordinates of x (and y) has to sum up to k=l(d+1)+1, the smallest possible value of j is j=l (if m=d is maximal), in which case x=(l+1,l,l,,l) and y=(l,l+1,,l). This choice, however, would contradict the fact that either distET(x)<l or distET(y)<l. Therefore we have a strict inequality j>l. Finally, we derive a contradiction having either distET(x)j>l>distET(x), or a similar inequality for y.

This completes the proof that each simplex is either mapped to a subset of {V0,,Vm} or to an edge in the tree or to a single vertex: the image is a simplex in Xsc in either case.

Lemma 20

The geometric realizations of pf:Esdk(Σ)X and f:ΣX are homotopic.

Proof

First we reduce the general case to the case when all maximal simplices in Σ (wrt. inclusion) have the same dimension d. If this were not the case, we could enrich any lower-dimensional maximal simplex τ={x0,,xj}Σ by new vertices yj+1τ,,ydτ and produce a maximal d-simplex

τ~={x0,,xj,yj+1τ,,ydτ}.

Thus we produce a simplicial complex Σ~Σ with the required property. Whenever f(τ) is mapped to σ~ where σ=(V0,,Vj), we define f(τ~) to be sjd-jσ~, a degenerate simplex with lift (V0,,Vj,Vj,,Vj). The map f:Σ~Xsc is constructed from f:Σ~X as above and if we prove that |f| is homotopic to |pf| as maps |Σ~||X|, it immediately follows that their restrictions are homotopic as maps |Σ||X| as well.

Further, assume that all maximal simplices have dimension d. Let τΣ be a d-dimensional simplex and let τint be the simplex in Esdk(τ) spanned by the vertices

(l+1,l,,l),,(l,,l,l+1),

that is, the simplex in the interior of τ that is mapped by pf to σ~. Let Hτ(·,1):|τ||τ| be a linear map that takes |τ| linearly to |τint| via mapping the i’th vertex to (l,,l+1,1,l) where the l+1 is on position i. Further, let Hτ be a linear homotopy |τ|×[0,1]|τ| between the identity Hτ(·,0)=id and Hτ(·,1). The composition |pf|Hτ then gives a homotopy |τ|×[0,1]|X| between the restrictions (|pf|)||τ| and (|f|)||τ|. For a general x|Σ|, there exists a maximal d-simplex |τ| such that x|τ| and we define a homotopy

(x,t)|pf|Hτ(x,t).

It remains to show that this map is independent on the choice of τ.

Let us denote the (ordered) vertices of τ by {v0,v1,,vd} and let δτ be one of its faces: further, let wi be the vertex of τint with barycentric coordinates (l,,l,l+1,l,,l)/k in |τ| such that the l+1 is in position i. The homotopy Hτ sends points in |δ| onto the span of points wi for which viδ. For y|δ|, the j-th barycentric coordinate of Hτ(y,t) is equal to t(l/k) for each jδ. In particular, the j-th coordinate of Hτ(y,t) is between 0 and l / k for jδ, and hence it is not the “dominant” coordinate. It follows that each z:=Hτ(x,t) is contained in the interior of a unique simplex Δ of Esdk(τ) such that vargmaxxδ for all vertices x of Δ.

Let i0<i1<ik be the indices with vijδ, and j1<<jd-k be the remaining indices. Let τ=(v0,,vd) be another d-simplex containing δ as a face. Assume, for simplicity, that the vertices of τ are ordered so that vertices of δ have orders i0,,ik—such as it is in τ. Let σ,σ be the lift of f(τ), f(τ) respectively, and Vi, Vi the i-th vertex of σ, σ respectively.

We define a “mirror” map m:|τ||τ|, which to a point with barycentric coordinates (x0,,xd) with respect to τ assigns a point in |τ| with the same barycentric coordinates with respect to τ. Clearly, Hτ(y,t)=m(Hτ(y,t)) for y|τ| and whenever z is in the interior of a simplex ΔEsdk(τ), then m(z) is in the interior of m(Δ), where vertices of Δ and m(Δ) have the same barycentric coordinates with respect to τ and τ, respectively. If, moreover, Δ is such that each of its vertices r have coordinates l/k on positions j1,,jd-k, then Vargmaxr=Vargmaxm(r).

To summarize these properties, Hτ(y,t) and Hτ(y,t) satisfy that20

  • they have the same coordinates wrt. τ, τ, respectively,

  • they are in the interior of simplices ΔEsdk(τ), ΔEsdk(τ) whose vertices have the same coordinates wrt. τ, τ, respectively,

  • the argmax labeling induces the same labeling of vertices of Δ, Δ by vertices of δ, respectively.

The map pf takes each m-simplex Δ in Esdk(τ) with vertices tu labeled by Vargmaxtu onto p(Vargmaxt0,,Vargmaxtm) and it follows from the above properties that m(Δ) is mapped to the same simplex. We conclude that |pf|Hτ(y,t)=|pf|Hτ(y,t) for each y|δ| and t[0,1] (Fig. 8).

Fig. 8.

Fig. 8

The homotopy Hτ takes y linearly into z and Hτ takes y into z. Due to the symmetry represented by the horizontal line, |pf| maps Hτ(y,t) into the same point of X as |pf|Hτ(y,t)

Acknowledgements

Open access funding provided by Austrian Science Fund (FWF). We would like to thank Marek Krčál, Lukáš Vokřínek, Martin Čadek and Sergey Avvakumov for helpful conversations and comments.

Footnotes

1

This follows via a standard reduction from a result of Adyan (1955) and Rabin (1958) on the algorithmic unsolvability of the triviality problem of a group given in terms of generators and relations; we refer to the survey Soare (2004) for further background.

2

That is, they compute integers r,q1,,qk such that πd(X) is isomorphic to ZrZq1Zqk.

3

Similarly, the algorithm in Čadek et al. (2014b) constructs an auxiliary chain complex C such that πd(X) is isomorphic to the homology group Hd+1(C) and computes the latter.

4

Similarly as before, the algorithm in Čadek et al. (2014a) computes [XY] as the set [XP] for some auxiliary space P (a stage of a Postnikov system for Y) and represents the elements of [X,Y][X,P] as maps from X to P, but not as maps to Y.

5

The Whitehead tower can is a “dual” construction to the Postnikov tower, beginning with the space X and gradually eliminating the homotopy groups “’form the bottom”. For the readers familiar with Moore–Postnikov towers (or relative Postnikov towers), the Whitehead tower is the Moore–Postnikov tower for X, see e.g. Goerss and Jardine (1999), Def. IV, 2.9.

6

A homotopy F:Sk×IX is pointed if F(,t)=x0 for all tI.

7

Formally, elements of F(S) are sequences of symbols sϵ for ϵ{1,-1} and sS with the relation s1s-1=1, where 1 represents the empty sequence. The group operation is concatenation.

8

We remark that the paper Čadek et al. (2014b) uses a different formalization of twitsed cartesian product than the one employed by us. However, the paper Filakovský (2012), on which the Corollary 3.18 of Čadek et al. (2014b) is based, can be reformulated in context of the definition used here. We do not provide full details, only remark that one has to make a choice of Eilenberg–Zilber reduction data that corresponds to the definition of twisted cartesian product.

9

A version of this lemma is given as Barratt (1956, Theorem 2) or Čadek et al. (2013b, Proposition 3.5). However, we also need the fact that |Ysc| is homeomorphic to |Y|, which is not explicitly mentioned in the references, but follows easily from the construction.

10

The subdivision Sd(Y) has geometric realization homeomorphic to |Y| by Fritsch and Piccinini (1990, Thm 4.6.4). The realization of Sd(X) is a regular CW complex and B(Sd(Y)) coincides with the first derived subdivision of this regular CW complex, as defined in Geoghegan (2007, p. 137). The geometric realization of the resulting simplicial complex is still homeomorphic to |Y| and |Sd(Y)| by Geoghegan (2007, Prop. 5.3.8).

11

The constructed map f does not necessarily preserves orientations: it only maps simplices to simplices.

12

With a slight abuse of language, we assume that each Xk not only a simplicial set but also its algorithmic representation with a specified size such as explained in Sect. 3.

13

Kan uses a slightly different convention in Kan (1958a) but the resulting properties are the same. The sequence β0,,βk can be interpreted as a discrete path from α to the identity element.

14

For t=jkjσ¯j, we may choose h=jσ¯jkj (choosing any order of the simplices).

15

The connectivity assumption on F was exploited in the existence of the contraction cjA on the Abelian part.

16

By nontrivial we mean that γ1x for any xXd-1.

17

For example, [a,1][b,2][b,2]-1[a,1]-1 can be split into a sequence ([b,2],[b,2]-1),([a,1],[a,1]-1).

18

If dim(τ)=d is maximal, then j=l and this most-middle simplex has particularly nice coordinates (l+1,l,,l),,(l,,l,l+1).

19

Here the assumption on the fixed dimension d is crucial.

20

In general, vertices of δ may have different order in τ and τ and the assumption on compatible ordering was chosen only to increase readability. If i0<<ik are such that vij=vij (orders of δ-vertices wrt. τ) and j1<<jd-k are positions of the remaining vertices in τ, then m is defined so that it maps x|τ| with τ-coordinates (x0,,xd) into x|τ| with coordinates xij=xij and xjk=xjk.

The research leading to these results has received funding from Austrian Science Fund (FWF): M 1980.

References

  1. Adyan SI. Algorithmic unsolvability of problems of recognition of certain properties of groups. Dokl. Akad. Nauk SSSR (NS) 1955;103:533–535. [Google Scholar]
  2. Anick, D.J.: The computation of rational homotopy groups is #-hard. In: Proceedings of the Conference on Computers in Geometry and Topology, Chicago/IL, 1986, Lecture Notes in Pure and Application Mathematics, vol. 114, pp. 1–56 (1989)
  3. Barratt M. Simplcial and Semisimplicial Complextes. Mimeographed Lecture Notes. Princeton: Princeton University; 1956. [Google Scholar]
  4. Berger, C.: An effective version of the Hurewicz theorem. Theses, Université Joseph-Fourier—Grenoble I, (1991). https://tel.archives-ouvertes.fr/tel-00339314
  5. Berger C. Un groupoïde simplicial comme modèle de l’espace des chemins. Bull. Soc. Math. Fr. 1995;123(1):1–32. [Google Scholar]
  6. Brown EH., Jr Finite computability of Postnikov complexes. Ann. Math. 1957;2(65):1–20. [Google Scholar]
  7. Čadek, M., Krcál, M., Matoušek, J., Vokřínek, L., Wagner, U.: Extending continuous maps: polynomiality and undecidability. In: STOC, pp. 595–604 (2013a)
  8. Čadek M, Krčál M, Matoušek J, Vokřínek L, Wagner U. Extendability of continuous maps is undecidable. Discrete Comput. Geom. 2013;51(1):24–66. [Google Scholar]
  9. Čadek M, Krčál M, Matoušek J, Sergeraert F, Vokřínek L, Wagner U. Computing all maps into a sphere. J. ACM. 2014;61(3):17:1–17:44. [Google Scholar]
  10. Čadek M, Krčál M, Matoušek J, Vokřínek L, Wagner U. Polynomial-time computation of homotopy groups and Postnikov systems in fixed dimension. SIAM J. Comput. 2014;43(5):1728–1780. [Google Scholar]
  11. Čadek M, Krčál M, Vokřínek L. Algorithmic solvability of the lifting-extension problem. Discrete Comput. Geom. 2017;57:1–51. [Google Scholar]
  12. Edelsbrunner, H., Grayson, D.R.: Edgewise subdivision of a simplex. In: Proceedings of the Fifteenth Annual Symposium on Computational Geometry, SCG ’99, pp. 24–30, New York, NY, USA, 1999. ACM
  13. Edelsbrunner H, Harer JL. Computational Topology. Providence, RI: American Mathematical Society; 2010. [Google Scholar]
  14. Ferry S, Weinberger S. Quantitative algebraic topology and lipschitz homotopy. Proc. Natl. Acad. Sci. 2013;110(48):19246–19250. [Google Scholar]
  15. Filakovský, M.: Effective chain complexes for twisted products. Preprint (2012). arXiv:1209.1240
  16. Filakovský, M., Vokřínek, L.: Are two given maps homotopic? An algorithmic viewpoint (2013). Preprint arXiv:1312.2337
  17. Franek P, Krčál M. Robust satisfiability of systems of equations. J. ACM. 2015;62(4):26:1–26:19. [Google Scholar]
  18. Freedman M, Krushkal V. Geometric complexity of embeddings in Rd. Geom. Funct. Anal. 2014;24(5):1406–1430. [Google Scholar]
  19. Fritsch R, Piccinini RA. Cellular Structures in Topology. Cambridge Studies in Advanced Mathematics. Cambridge: Cambridge University Press; 1990. [Google Scholar]
  20. Geoghegan, R.: Topological Methods in Group Theory. Graduate Texts in Mathematics. Springer, New York (2007). https://books.google.at/books?id=BwX6gblqV8MC
  21. Goerss PG, Jardine JF. Simplicial Homotopy Theory. Basel: Birkhäuser; 1999. [Google Scholar]
  22. Gromov, M.: Quantitative homotopy theory. In: Rossi, H. (ed.) Prospects in Mathematics: Invited Talks on the Occasion of the 250th Anniversary of Princeton University, pp. 45–49 (1999)
  23. Haefliger, A.: Plongements différentiables dans le domaine stable. Comment. Math. Helv. 37, 155–176 (1962/1963)
  24. Hatcher A. Algebraic Topology. Cambridge: Cambridge University Press; 2001. [Google Scholar]
  25. Heras J, Pascual V, Rubio J, Sergeraert F. fKenzo: a user interface for computations in algebraic topology. J. Symb. Comput. 2011;46(6):685–698. [Google Scholar]
  26. Jardine JF. Simplicial approximation. Theory Appl. Categ. 2004;12(2):34–72. [Google Scholar]
  27. Kan, D.: The Hurewicz theorem. In: International Symposium of Algebraic Topology, Autonomous University of Mexico and UNESCO, pp. 225–231 (1958a)
  28. Kan DM. A combinatorial definition of homotopy groups. Ann. Math. 1958;67(2):282–312. [Google Scholar]
  29. Kannan R, Bachem A. Polynomial algorithms for computing the Smith and Hermite normal forms of an integer matrix. SIAM J. Comput. 1981;8:499–507. [Google Scholar]
  30. Kochman SO. Stable Homotopy Groups of Spheres: A Computer-Assisted Approach. Lecture Notes in Mathematics. Berlin: Springer; 1990. [Google Scholar]
  31. Krčál M, Matoušek J, Sergeraert F. Polynomial-time homology for simplicial Eilenberg–MacLane spaces. Found. Comput. Math. 2013;13:935–963. [Google Scholar]
  32. Mabillard, I., Wagner, U.: Eliminating higher-multiplicity intersections, II. The deleted product criterion in the r-metastable range. In: Proceedings of the 32nd International Symposium on Computational Geometry (SoCG 2016), pp. 51:1–51:12 (2016)
  33. Matoušek, J.: Computing higher homotopy groups is W[1]-hard. Fund. Inf. (2014). Preprint arXiv:1304.7705
  34. Matoušek J, Tancer M, Wagner U. Hardness of embedding simplicial complexes in Rd. J. Eur. Math. Soc. 2011;13(2):259–295. [Google Scholar]
  35. Matoušek, J., Sedgwick, E., Tancer, M., Wagner, U.: Embeddability in the 3-sphere is decidable. In: Proceedings of the Thirtieth Annual ACM Symposium on Computational Geometry, SOCG’14, pp. 78–84, New York, NY, USA (2014)
  36. Matveev S. Algorithmic Topology and Classification of 3-Manifolds. Berlin: Springer; 2007. [Google Scholar]
  37. May JP. Simplicial Objects in Algebraic Topology. Chicago Lectures in Mathematics. Chicago: University of Chicago Press; 1992. [Google Scholar]
  38. Munkres JR. Elements of Algebraic Topology. Reading, MA: Addison-Wesley; 1984. [Google Scholar]
  39. Quillen DG. Homotopical Algebra. Lecture Notes in Mathematics. Berlin: Springer; 1967. [Google Scholar]
  40. Rabin MO. Recursive unsolvability of group theoretic problems. Ann. Math. 1958;2(67):172–194. [Google Scholar]
  41. Ravenel DC. Complex Cobordism and Stable Homotopy Groups of Spheres. 2. Providence: American Mathematical Society; 2004. [Google Scholar]
  42. Real P. An algorithm computing homotopy groups. Math. Comput. Simul. 1996;42:461–465. [Google Scholar]
  43. Romero A, Sergeraert F. Effective homotopy of fibrations. Appl. Algebra Eng. Commun. Comput. 2012;23(1–2):85–100. [Google Scholar]
  44. Romero A, Sergeraert F. A Bousfield-Kan algorithm for computing the effective homotopy of a space. Found. Comput. Math. 2016;17:1–32. [Google Scholar]
  45. Romero A, Rubio J, Sergeraert F. Computing spectral sequences. J. Symb. Comput. 2006;41(10):1059–1079. [Google Scholar]
  46. Rubio J, Sergeraert F. Constructive algebraic topology. Bull. Sci. Math. 2002;126(5):389–412. [Google Scholar]
  47. Rubio J, Sergeraert F. Algebraic models for homotopy types. Homol. Homotopy Appl. 2005;17:139–160. [Google Scholar]
  48. Rubio, J., Sergeraert, F.: Constructive homological algebra and applications. Preprint arXiv:1208.3816 (2012)
  49. Schön R. Effective Algebraic Topology. Memoirs of the American Mathematical Society. Providence: American Mathematical Society; 1991. [Google Scholar]
  50. Sergeraert F. The computability problem in algebraic topology. Adv. Math. 1994;104(1):1–29. [Google Scholar]
  51. Smith, J.R.: m-Structures determine integral homotopy type. Preprint arXiv:math/9809151v1 (1998)
  52. Soare RI. Computability theory and differential geometry. Bull. Symb. Logic. 2004;10(4):457–486. [Google Scholar]
  53. Vokřínek L. Decidability of the extension problem for maps into odd-dimensional spheres. Discrete Comput. Geom. 2017;57(1):1–11. [Google Scholar]
  54. Weber C. Plongements de polyèdres dans le domaine metastable. Comment. Math. Helv. 1967;42:1–27. [Google Scholar]
  55. Zomorodian AJ. Topology for Computing. Cambridge Monographs on Applied and Computational Mathematics. Cambridge: Cambridge University Press; 2005. [Google Scholar]

Articles from Journal of Applied and Computational Topology are provided here courtesy of Springer

RESOURCES