\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{Brown-Grossman homotopy group} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{homotopy_theory}{}\paragraph*{{Homotopy theory}}\label{homotopy_theory} [[!include homotopy - contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea_use_a_string_of_spheres_not_just_one}{Idea: use a string of spheres not just one!}\dotfill \pageref*{idea_use_a_string_of_spheres_not_just_one} \linebreak \noindent\hyperlink{strings_of_spheres}{Strings of spheres}\dotfill \pageref*{strings_of_spheres} \linebreak \noindent\hyperlink{properties}{Properties}\dotfill \pageref*{properties} \linebreak \noindent\hyperlink{the_browngrossman_homotopy_groups}{The Brown-Grossman homotopy groups}\dotfill \pageref*{the_browngrossman_homotopy_groups} \linebreak \noindent\hyperlink{properties_2}{Properties}\dotfill \pageref*{properties_2} \linebreak \noindent\hyperlink{the_variant_at_the_end}{The variant `at the end'}\dotfill \pageref*{the_variant_at_the_end} \linebreak \noindent\hyperlink{the_browngrossman_homotopy_groups_at_}{The Brown-Grossman homotopy groups at $\infty$}\dotfill \pageref*{the_browngrossman_homotopy_groups_at_} \linebreak \noindent\hyperlink{a_proper_whitehead_theorem}{A proper Whitehead theorem}\dotfill \pageref*{a_proper_whitehead_theorem} \linebreak \noindent\hyperlink{browns_functor}{Brown's $\mathcal{P}$-functor}\dotfill \pageref*{browns_functor} \linebreak \noindent\hyperlink{grossmans_reduced_product_construction}{Grossman's reduced product construction}\dotfill \pageref*{grossmans_reduced_product_construction} \linebreak \noindent\hyperlink{relationship_with_the_milnor_sequence}{Relationship with the Milnor sequence}\dotfill \pageref*{relationship_with_the_milnor_sequence} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{idea_use_a_string_of_spheres_not_just_one}{}\subsection*{{Idea: use a string of spheres not just one!}}\label{idea_use_a_string_of_spheres_not_just_one} Within the context of [[proper homotopy theory]], what might be the analogues of the classical homotopy groups? We might hope that ech style homotopy groups would work, but they don't, or rather, `not exactly'! Given a locally compact and $\sigma$-compact space $X$, and with a base ray $* : [0,\infty) \to X$, with end $\varepsilon(X)$, the ech homotopy groups of $\varepsilon(X)$ relative to $*$ are defined by $lim \pi_n(\varepsilon(X))$. These `make sense' but do not behave well, since the limit will destroy exactness in situations where we would hope for, and expect, long exact sequences. The problem is related to the fact that, depending how you view this, we are using just one sphere, or alternatively an infinite sequence of unrelated spheres. E.M. Brown (1974) suggested a different construction based on an infinite string of spheres and this helps reveal extra structure that helps: \hypertarget{strings_of_spheres}{}\subsection*{{Strings of spheres}}\label{strings_of_spheres} \begin{udefn} Let $\underline{S}^n = ([0,\infty) \cup \bigcup_{k=0}^\infty(S^n \times \{k\})/(k\sim (\underline{1},k)$. This is called a \textbf{string of $n$-spheres.} \end{udefn} For the string of circles, it looks something like this: \hypertarget{properties}{}\subsubsection*{{Properties}}\label{properties} \begin{enumerate}% \item $\varepsilon(\underline{S}^n)$ is a pro-space isomorphic to an $\mathbb{N}$-indexed one with $k^{th}$ level, $\bigvee_{j\geq k}S^n_j$, where each $S^n_j$ is a copy of $S^n$. The structural/ bonding maps from the $(k+1)^{st}$ level to the $k^{th}$ level are the obvious inclusions. \item The space $\underline{S}^n$ is, of course, considered as being based at the ray (given by the right vertical map in the pushout square). \item The space $\underline{S}^n$ is a [[spherical object]] and the family $\mathcal{A} = \{\underline{S}^n\}^\infty_{n=0}$ defines a theory. \end{enumerate} \hypertarget{the_browngrossman_homotopy_groups}{}\subsection*{{The Brown-Grossman homotopy groups}}\label{the_browngrossman_homotopy_groups} \begin{udefn} The $n^{th}$ \emph{Brown-Grossman homotopy group} of $(X,*)$ is given by the group of based proper homotopy classes of based proper maps from $\underline{S}^n$ to $(X,*)$; \begin{displaymath} \underline{\pi}_n(X,*) = Ho(Proper)(\underline{S}^n, (X,*)). \end{displaymath} \end{udefn} \hypertarget{properties_2}{}\subsubsection*{{Properties}}\label{properties_2} \begin{enumerate}% \item As was pointed out above, the $\underline{S}^n$ are cogroups so the $\underline{\pi}_n(X,*)$ are groups, which are abelian for $n\geq 2$. \item In fact the $\underline{\pi}_n(X,*)$ form a $\Pi_\mathcal{A}$-[[spherical object|algebra]] for $\mathcal{A}$ as above. Not only are there the sort of morphisms in $\Pi_\mathcal{A}$ that will induce analogues of [[Whitehead products]], [[composition operations]] etc. but there are other interesting morphisms there, for instance: \item There is a proper \textbf{shift map} $S: \underline{S}^n\to \underline{S}^n$, which shifts all the spheres one place to the right. This induces, by composition, a morphism $S^*(X): \underline{\pi}_n(X,*)\to \underline{\pi}_n(X,*)$. This means that each individual $\underline{\pi}_n(X,*)$ has more structure than simply being a group. \end{enumerate} \hypertarget{the_variant_at_the_end}{}\subsection*{{The variant `at the end'}}\label{the_variant_at_the_end} \hypertarget{the_browngrossman_homotopy_groups_at_}{}\subsubsection*{{The Brown-Grossman homotopy groups at $\infty$}}\label{the_browngrossman_homotopy_groups_at_} \begin{udefn} The $n^{th}$ \emph{Brown-Grossman homotopy group of $(X,*)$ at $\infty$} is given by the group of based germ homotopy classes of based proper germs from $\underline{S}^n$ to $(X,*)$; \begin{displaymath} \underline{\pi}^\infty_n(X,*) = Ho(Proper_\infty)(\underline{S}^n, (X,*)). \end{displaymath} \end{udefn} With this description, it is clear that $\underline{\pi}^\infty_n$ is functorial on base rayed spaces and that it only depends on the choice of the class of $*$ within $e(X)$ (cf. [[proper homotopy theory]]). \hypertarget{a_proper_whitehead_theorem}{}\subsection*{{A proper Whitehead theorem}}\label{a_proper_whitehead_theorem} There are several different types of generalisation of Whitehead's theorem to the proper homotopy setting. The following is due to Ed Brown (1974): \begin{uthm} \textbf{(Brown, 1974)} Let $K$, $L$ be finite dimensional connected locally finite [[simplicial complexes]], then a proper map $f : K \to L$ is a proper homotopy equivalence if, and only if: \begin{enumerate}% \item $e(f) : e(K)\to e(L)$ is a homeomorphism; \item for each $n$ $\pi_n(f) : \pi_n(K,*(0))\to \pi_n(L,f(*(0)))$ is an isomorphism; \item for each $n$, and for each base ray, $*$, in $K$, $\underline{\pi}^\infty_n(K,*)\to \underline{\pi}^\infty_n(L,f(*))$ is an isomorphism. \end{enumerate} \end{uthm} If one removes the condition of finite dimensionality, the result no longer holds. (There is an error in Brown's subsequent reasoning in the quoted paper, for which one needs to consult Edwards and Hastings, (1976).) \hypertarget{browns_functor}{}\subsection*{{Brown's $\mathcal{P}$-functor}}\label{browns_functor} It would be useful to have a construction of the groups $\underline{\pi}^\infty_n(X,*)$ from the [[pro-group]] $\pi_n(\varepsilon(X),*(k))$. Such a construction was given by Brown in the same article (1974). (An alternative construction due to Grossman will be discussed in a separate entry.) Let $\underline{G} = \{G_n,p^m_n\}$ be an inverse sequence of groups (aka \emph{tower of groups}), that is a pro-group that is indexed by the ordered set of positive integers. We assume $G_0=1$. Consider all sequences $\{g_{k(n)}\}$ with $g_{k(n)} \in G_{k(n)}$, where $k(n)$ is a sequence of natural numbers such that $k(n)\to \infty$ as $n\to \infty$. Given two such sequences $\{g_{k(n)}\}$ and $\{g\prime_{l(n)}\}$, we say they are equivalent if there is a third sequence $m(n)$, $m(n)\to \infty$ as $n \to \infty$, with $m(n)\leq min(k(n),l(n)))$ and $p^{k(n)}_{m(n)}(g_{k(n)}) = p^{l(n)}_{m(n)}(g\prime_{l(n)})$. We let $\mathcal{P}(\underline{G})$ be the set of equivalence classes. \begin{itemize}% \item This has a natural group structure; \item If $X = \bigcup_n K_n$, $U_n = X- K_n$, and $* : [0,\infty) \to X$ is chosen so that $*[n,\infty)\subset U_n$, then setting $G_n = \pi_k(U_n,*(n))$ with $G_n\to G_{n-1}$ induced by the inclusion of $U_n$ into $U_{n-1}$ and the change of base point along $*([n-1,n])$, then $\underline{\pi}^\infty_n(X,*) \cong \mathcal{P}(\underline{G}).$ \item For any tower of groups, $\underline{G}$ there is an action of the group $F = \underline{\pi}_1(\underline{S}^1,[0,\infty)$ on $\mathcal{P}(\underline{G})$. \item (Chipman) Let $\underline{G}$, $\underline{H}$ be towers of finitely generated groups, then $\underline{G}$ is isomorphic to $\underline{H}$ if, and only if, there is an isomorphism from $\mathcal{P}(\underline{G})$ to $\mathcal{P}(\underline{H})$ commuting with the operation of $F$. (What is remarkable here is that initially no morphism between $\underline{G}$ and $\underline{H}$ is given. It is constructed from the ones on the images under $\mathcal{P}$.) \end{itemize} \hypertarget{grossmans_reduced_product_construction}{}\subsubsection*{{Grossman's reduced product construction}}\label{grossmans_reduced_product_construction} Grossman gave an alternative construction of $\mathcal{P}(\underline{G})$ for any tower of groups (or, in fact, any tower of sets, $\underline{X}$). This involves the [[reduced product]]. \hypertarget{relationship_with_the_milnor_sequence}{}\subsection*{{Relationship with the Milnor sequence}}\label{relationship_with_the_milnor_sequence} \hypertarget{references}{}\subsection*{{References}}\label{references} General references include: the survey article: \begin{itemize}% \item [[Tim Porter]], \emph{Proper Homotopy Theory}, in the \emph{Handbook on Algebraic Topology}, Ed. I.M.James, Elsevier, 1995, p. 127-167, \end{itemize} and for a slightly different approach: \begin{itemize}% \item [[Hans-Joachim Baues|Hans Baues]] and Antonio Quintero, \emph{Infinite homotopy theory}, Volume 6 of K-monographs in mathematics, Springer, 2001 \end{itemize} A specific reference for the Brown Whitehead theorem is \begin{itemize}% \item E. M. Brown, \emph{Proper homotopy theory in simplicial complexes,} Topology Conference (Virginia Polytechnic Institute and State University, Dickmann and Fletcher, eds.) SLNM 375, Springer (1974), pp. 41-46, \end{itemize} and further \begin{itemize}% \item [[D. A. Edwards]] and [[H. M. Hastings]], \emph{ech and Steenrod Homotopy Theory with Applications,} SLNM 542, Springer (1976). \end{itemize} [[!redirects Brown-Grossman homotopy groups]] \end{document}