Perhaps this is obvious and I am overlooking something, but why are the homology groups of compact manifolds finitely generated?
Let G be a finitely generated abelian group and M a compact manifold,  I want to prove that $H_r(M,G)$ is finitely generated for $r\ge 0 $.  First I was thinking if  I could do induction over $r$ because for $r=0$, $H_0(M,G) \cong \bigoplus_{i=1}^nG$ where $n$ denotes the number of connected components of M.But for $r&gt;0$ I can't see a way to relate $H_r(M,G$) and $H_{r+1}(M,G)$.  Then I tried to use the fact that for every compact surface there exists a finite cover $\{A_i\}_{i=1}^m$ such that the finite intersections of $A_i$'s are contractile.Let $\{A_i\}_{i=1}^m$ such cover for $M$.Then,using induction on $m$, we have :  -For $m=0$, $M$ is contractile and $G$ finitely generated then $H_r(M,G) $is finitely generated.  -For $m=r$ it's true by induction hypothesis.  -For $m=r+1$ now putting $A_{r+1}=B$ and $\cup_{i=1}^r A_i=A$, and using Mayer Vietoris we get:  $$ ...\rightarrow H_{r+1}(A\cap B,G)\rightarrow  H_{r+1}(A,G) \oplus H_{r+1}(B,G) \rightarrow H_{r+1}(M,G)\rightarrow H_{r}(A\cap B,G) \rightarrow...$$   Here I don't know what to do, maybe I'm missing some algebraic argument It's easy to see that $H_{r+1}(A\cap B,G)$ and $H_{r+1}(A,G) \oplus H_{r+1}(B,G)$ are finitely generated.But how can I argue that $H_{r+1}(M,G)$ is finitely generated? Any idea would be aprecciated.
I'm trying to show that for $b&gt;1$, $x&gt;0$ and $x$ irrational, that $$\sup \{b^p:p\in Q,\;0&lt;p&lt;x\} = \inf\{b^q:q\in Q,\;x&lt;q\}$$ I know this follows immediately if we define $b^x=\exp(x\log(b))$ and use the fact that the exponential function is strictly increasing and continuous over $\mathbb R$, but I'm not allowed to do that. In fact, I only have that $b^{m/n}=(b^{1/n})^m$, where $b^{1/n}$ means the positive $n^{th}$ root of $b$; $b^x$ is not yet defined for irrational $x$.  I know that the supremum and infimum both exist because if $b&gt;1$ and $p&lt;q$, then $b^p&lt;b^q$. Also, by assuming that the inf $&lt;$ sup, I got a contradiction. The part I'm stuck on is deriving a contradiction from assuming that sup $&lt;$ inf. Does anybody have any ideas?  Thank you. Should first and last name be formatted? .NET How to check if path is a file and not a directory? I have a path and I need to determine if it is a directory or file.    Is this the best way to determine if the path is a file?  string file = @"C:\Test\foo.txt";  bool isFile = !System.IO.Directory.Exists(file) &amp;&amp;                           System.IO.File.Exists(file);   For a directory I would reverse the logic.  string directory = @"C:\Test";  bool isDirectory = System.IO.Directory.Exists(directory) &amp;&amp;                              !System.IO.File.Exists(directory);   If both don't exists that then I won't go do either branch.  So assume they both do exists. Unexpected results when mounting two drives on a single mount point I was running out of /tmp space on one of my servers today so I attached a new 100GB disk to the system and did the following without unmounting /usr/tmpDSK from /tmp:  mkfs.ext4 /dev/xvde mount /dev/xvde /tmp   and now df -h outputs as:  Filesystem      Size  Used Avail Use% Mounted on /usr/tmpDSK      98G  4.5G   89G   5% /tmp /dev/xvde        98G  4.5G   89G   5% /tmp    The size of /usr/tmpDSK shows :  [root@server2 usr]# ll -h /usr/tmpDSK -rw------- 1 root root 2.3G Jan 27 17:32 /usr/tmpDSK    Different forums suggested using mhddfs to mount multiple drives on a single mount point, but I just did it directly and it seems to have worked -- or am I missing something?  I am hoping to better understand what actually happened. I already have the pink and red leather gloves, the armor, the crown, and the monkey's staff (and they're all enchanted). Regardless of how many health potions I use, I always die. Help! Page range truncation with imakeidx This is a followup question to egreg's answer to  The answer runs into a problem if an index topic occurs in more than one page range. The following MWE, based on egreg's answer:  \begin{filecontents*}{subjind.ist} delim_0 ", \\checkrange{" delim_t "}" \end{filecontents*}  \documentclass{book} \usepackage{xparse} \usepackage{imakeidx}  \makeindex[title=Subject Index,options=-s subjind]  \ExplSyntaxOn \NewDocumentCommand{\checkrange}{&gt;{\SplitArgument{1}{--}}m}  {   \formatrange#1  } \NewDocumentCommand{\formatrange}{mm}  {   \IfNoValueTF { #2 }    { % no --, it's not a range     #1    }    { % it's a range     \egreg_range:nn { #1 } { #2 }    }  }  \bool_new:N \l__egreg_range_compare_bool  \cs_new_protected:Nn \egreg_range:nn  {   % print the start number   #1--   \int_compare:nNnTF { \str_count:n { #1 } } = { \str_count:n { #2 } }    {% same number of digits, remove equal ones at the start     \__egreg_range_compare:nn { #1 } { #2 }    }    {% different number of digits, print both     #2    }  } \cs_new_protected:Nn \__egreg_range_compare:nn  {   \bool_set_true:N \l__egreg_range_compare_bool   % do a loop on the digits in the first number   \int_step_inline:nn { \str_count:n { #1 } }    {     \bool_if:NTF \l__egreg_range_compare_bool      {       % if the digits coincide, print nothing       \str_if_eq:eeF { \str_item:nn { #1 } { ##1 } } { \str_item:nn { #2 } { ##1 } }        {         \str_item:nn { #2 } { ##1 }         % at the first differing digit, don't compare any longer         \bool_set_false:N \l__egreg_range_compare_bool        }      }      { \str_item:nn { #2 } { ##1 } }    }  } \ExplSyntaxOff  \begin{document} \setcounter{page}{95}\index{Topic0|(}Text\newpage \setcounter{page}{101}\index{Topic0|)}Text\newpage \setcounter{page}{124}\index{Topic1|(}\index{Topic2|(}Text\newpage \setcounter{page}{126}\index{Topic1|)}Text\newpage \setcounter{page}{134}\index{Topic2|)}Text\newpage \setcounter{page}{141}\index{Topic0}Text\newpage \index{Topic0}Text\newpage \index{Topic0}Text \printindex \end{document}   yields the following error message:  ! LaTeX3 Error: Too many '--' tokens when trying to split argument.  For immediate help type H &lt;return&gt;.  ...                                                l.3   \item Topic0, \checkrange{95--101, 141--143}   Entering non-stop yields the following output:    which omits "-3" from the second index entry of Topic0. The question is how to get around this.  Edit following up on egreg's ingenious solution.  I don't know if I should ask a new follow up question, so I'm posing it first here in this edit.  egreg's solution doesn't seem to handle index sub-topics.  If one adds the following 4 lines  \setcounter{page}{135}\index{Topic0!sub0|(}Text\newpage \setcounter{page}{136}\index{Topic0!sub0!subsub0|(}Text\newpage \setcounter{page}{139}\index{Topic0!sub0!subsub0|)}Text\newpage \setcounter{page}{140}\index{Topic0!sub0|)}Text\newpage   after  \setcounter{page}{134}\index{Topic2|)}Text\newpage   in the solution, one gets the following errors:  Output written in mwe.ind. Transcript written in mwe.ilg.  (mwe.ind ! Extra }, or forgotten \endgroup. l.4     \subitem sub0, 135--140}  ? r OK, entering \nonstopmode... ! Extra }, or forgotten \endgroup. l.5       \subsubitem subsub0, 136--139}  ) [145] (mwe.aux) )   and this output:    Alas I don't understand egreg's code well enough to make the required changes. Which manuals are on your "TeX Reference" shelf? This is a community wiki since there is no "one true answer"- if you find an answer that contains a lot of your choices, but is missing something you feel is incredibly useful.  Feel free to add it.  A short description of what topics the reference covers would be nice as well.  Organize by subject please.  For example: I always keep the following PDFs at my fingertips.  Document Layout   :  Covers, in exquisite detail, how to produce just about any document using the memoir LaTeX class. ( 4.5 MB)   Mathematical Typesetting   : A document by Herbert Voß that explains how to typeset just about any mathematical expression in LaTeX. ( 2 MB)   Graphics   : Explains, with examples, how to draw just about any figure using PGF/TikZ.  Also a good example of what awesome documentation should look like. ( 9.5 MB) Can someone explain __all__ in Python? I have been using Python more and more, and I keep seeing the variable __all__ set in different __init__.py files.  Can someone explain what this does? What's the downtime limit of a domain controller (DC)? On my VMware  environment there are 10 VMs running. One of the VMs is the domain controller (). The other VMs are configured with a static DHCP and DNS IP address in their network settings.  How long is the downtime limit of my domain controller? root folder access via gui I'm new to linux and the terminal. As I learn how to use the terminal to navigate through directories, I like to use the gui file explorer to mirror my terminal navigation. The icons and file extension info in the gui file explorer help me figure out what everything is. However, I can't access the root folder via the gui, I can only access it via the terminal. Is there a way to enable access to the root folder outside of the terminal? It's well seen throughout the series that there is a “curse” on the DADA teacher position, that no one can hold that post for more than a year. But it seems like Quirrell has been around for longer than a year. What's up with that? Can there be multiple paths for which Fermat's least time principle can be obeyed? Can there be more than one path for which Fermat's least time principle is obeyed? I'd like to use a different + symbol in addition to + in math mode, preferably one which is just bolder than the standard one.  I'm currently using \pmb{+} from the amsbsy package, but it's a bit too lean for my taste, and it looks a bit pointy to the ends.   I am aware of \ding{58} from the pifont package, as well as \Plus from bbding, both of which seem to be non-math mode symbols, and look really bad next to math symbols.  Am I missing some other option to produce a bold +, apart from drawing the symbol myself? Why is the area under a curve the integral? How to sort text in sqlite3 with specified locale? Sqlite3 by default sorts only by ascii letters. I tried to look in google, but the only thing I found were informations about collations. Sqlite3 has only NOCASE, RTRIM and BIARY collations. How to add support for a specific locale? (I'm using it in Rails application) Man clones himself to have the clone do things he doesn't enjoy I read a short story about four years ago and can't remember the title or author. The only thing I know is that it is relatively old -- like Huxley or Asimov era. Can anyone help me?   The basic synopsis is this: a man clones himself and has his clone do the parts of his life that he doesn't enjoy. He deceives his wife about this; she doesn't know he has a clone. Whenever the man and the clone are both home, the clone is locked in the "toolbox" in the basement. The clone starts to treat the man's wife better than he had previously. His wife starts to fall in love the clone, and the man decides he needs to get rid of the clone. When he tries to do so, the clone overpowers the man and locks him in the toolbox in the basement!  I'm hoping to share this story with my English class this school year. Any help is appreciated! When conducting multiple regression, when should you center your predictor variables & when should you standardize them? I have a 12-hour layover in Istanbul. Will I be able to leave the airport to do some sightseeing in the city? I'm flying to Barcelona from Israel via Istanbul. The layover in Istanbul is 12 hours, and I'm thinking about leaving the airport and entering the country for a couple of hours. Would that be possible? Are there any Border/Airline restrictions?  I'm Traveling with Turkish airlines, and hold a passport which does not require a visa to enter Turkey.  I've done this in the past, but only inside the Schengen area, so this question is Turkey-specific. Why does my Nikon D3100 give the error "Lens not attached" with a Vivitar 200 telephoto lens? Open Safari / Google Chrome developer tools programmatically from JavaScript