Last updated: Apr 2, 2024

Analysis, Volume I
Terence Tao
Hindustan Book Agency, January 2006.  Fourth edition, 2022. (Also Springer, Fourth edition, 2002.)
Hardcover, 368 pages.

ISBN 81-85931-62-3 (first edition), 978-981-19-7261-4 (Springer fourth edition)

This is basically an expanded and cleaned up version of my lecture notes for Math 131A. In the US, it is available through the American Mathematical Society. It is part of a two-volume series; here is my page for Volume II.  It is currently in its fourth edition.  It will also be translated into French as “Le cours d’analyse de Terence Tao”.

There are no solution guides for this text.

  • Sample chapters (contents, natural numbers, set theory, integers and rationals, logic, decimal system, index)

Errata to older versions than the corrected third edition can be found here.

— Errata to the corrected third edition —

  • Page 1: On the final line, -2 should be in math mode.
  • Page 7: In Example 1.2.6, Theorem 19.5.1 should be “Theorem 7.5.1 of Analysis II”.
  • Page 8: In Example 1.2.7, “Exercise 13.2.9” should be “Exercise 2.2.9 of Analysis II”.  In Example 1.2.8, “Proposition 14.3.3” should be “Proposition 3.3.3 of Analysis II”.  In Example 1.2.9, “Theorem 14.6.1” should be “Theorem 3.6.1 of Analysis II”.
  • Page 9: In Example 1.2.10, “Theorem 14.7.1” should be “Theorem 3.7.1 of Analysis II”.
  • Page 11: In the final line, the comma before “For instance” should be a period.
  • Page 14: “without even aware” should be “without even being aware”.
  • Page 17: In Definition 2.1.3, add “This convention is actually an oversimplification.  To see how to properly merge the usual decimal notation for numbers with the natural numbers given by the Peano axioms, see Appendix B.”
  • Page 19: After Proposition 2.1.8: “Axioms 2.1 and 2.2” should be “Axioms 2.3 and 2.4”.
  • Page 20: In the proof of Proposition 2.1.11, the period should be inside the parentheses in both parentheticals.  Also, Proposition 2.1.11 should more accurately be called Proposition Template 2.1.11.
  • Page 23, first paragraph: delete a right parenthesis in f_3(a_3)).
  • Page 27: In the final sentence of Definition 2.2.7, the period should be inside the parentheses.  In proposition 2.2.8, “a is positive” should be “a is a positive natural number”.
  • Page 29: Add Exercise 2.2.7: “Let n be a natural number, and let P(m) be a property pertaining to the natural numbers such that whenever P(m) is true, P(m+\!+) is true.  Show that if P(n) is true, then P(m) is true for all m \geq n.  This principle is sometimes referred to as the principle of induction starting from the base case n“.
  • Page 31: “Euclidean algorithm” should be “Euclid’s division lemma”.
  • Page 39: in the sentence before Proposition 3.1.18, the word Proposition should not be capitalised.
  • Page 41: In the paragraph after Example 3.1.22, the final right parenthesis should be deleted.
  • Page 45: at the end of the section, add “Formally, one can refer to {\bf N} as “the set of natural numbers”, but we will often abbreviate this to “the natural numbers” for short.  We will adopt similar abbreviations later in the text; for instance the set of integers {\bf Z} will often be abbreviated to “the integers”.”
  • Page 47: In “In \Omega did contain itself, then by definition”, add “of \Omega“.  After “On the other hand, if \Omega did not contain itself,” add “then by definition of P“, and after “and hence”, add “by definition of \Omega“.
  • Page 48: In the third to last sentence of Exercise 3.2.3, the period should be inside the parenthesis.
  • Page 49: “unique object f(x)” should be “unique object f(x) \in Y“, and similarly “exactly one y” should be “exactly one y \in {\bf N}“.
  • Page 49+: change all occurrences of “range” to “codomain” (including in the index).  Before Example 3.3.2, add the following paragraph: “Implicit in the above definition is the assumption that whenever one is given two sets X, Y and a property P obeying the vertical line test, one can form a function object.  Strictly speaking, this assumption of the existence of the function as a mathematical object should be stated as an explicit axiom; however we will not do so here, as it turns out to be redundant.  (More precisely, in view of Exercise 3.5.10 below, it is always possible to encode a function f as an ordered triple (X, Y, \{ (x,f(x)): x \in X \}) consisting of the domain, codomain, and graph of the function, which gives a way to build functions as objects using the operations provided by the preceding axioms.)”
  • Page 51: Replace the first sentence of Definition 3.3.7 with “Two functions f: X \to Y, g: X' \to Y' are said to be equal if and only if they have the same domain and codomain (i.e., X=X' and Y=Y'), and f(x)=g(x) for <I>all</I> x \in X.”  Then add afterwards: “According to this definition, two functions that have different domains or different codomains are, strictly speaking, distinct functions.  However, when it is safe to do so without causing confusion, it is sometimes useful to “abuse notation” by identifying together functions of different domains or codomains if their values agree on their common domain of definition; this is analogous to the practice of “overloading” an operator in software engineering.  See the discussion [in the errata] after Definition 9.4.1 for an instance of this.”
  • Page 52: In Example 3.3.9, replace “an arbitrary set X” with “a given set X“.  Similarly, in Exercise 3.3.3 on page 55, replace “the empty function” with “the empty function into a given set X“.
  • Page 56: After Definition 3.4.1, replace “a challenge to the reader” with “an exercise to the reader”.  In Definition 3.4.1, “S is a set in X” should be “latex S$ is a subset of X“.
  • Page 62: Replace Remark 3.5.5 with “One can show that the Cartesian product X \times Y is indeed a set; see Exercise 3.5.1.”
  • Page 65: Split Exercise 3.5.1 into three parts.  Part (a) encompasses the first definition of an ordered pair; part (b) encompasses the “additional challenge” of the second definition.  Then add a part (c): “Show that regardless of the definition of ordered pair, the Cartesian product X \times Y is a set.  (Hint: first use the axiom of replacement to show that for any x \in X, the set \{ (x,y): y \in Y \} is a set, then apply the axioms of replacement and union.)”.  In Exercise 3.5.2, add the following comment: “(Technically, this construction of ordered n-tuple is not compatible with the construction of ordered pair in Exercise 3.5.1, but this does not cause a difficulty in practice; for instance, one can use the definition of an ordered 2-tuple here to replace the construction in Exercise 3.5.1, or one can make a rather pedantic distinction between an ordered 2-tuple and an ordered pair in one’s mathematical arguments.)”
  • Page 66: In Exercise 3.5.3, replace “obey” with “are consistent with”, and at the end add “in the sense that if these axioms of equality are already assumed to hold for the individual components x,y of an ordered pair (x,y), then they hold for an ordered pair itself”.  Similarly replace “This obeys” with “This is consistent with” in Definition 3.5.1 on page 62.
  • Page 67: In Exercise 3.5.12, add “Let X be an arbitrary set” after the first sentence, and let f be a function from {\mathbf N} \times X to X rather than from {\mathbf N} \times {\mathbf N} to {\mathbf N}; also c should be an element of X rather than a natural number.  This generalisation will help for instance in establishing Exercise 3.5.13.
  • Page 68: In the first paragraph, the period should be inside the parenthetical; similarly in Example 3.6.2.
  • Page 71: The proof of Theorem 3.6.12 can be replaced by the following, after the first sentence: ” By Lemma 3.6.9, {\bf N} \backslash \{0\} would then have cardinality n-1.  But {\bf N} has equal cardinality with {\bf N} \backslash \{0\} (using x \mapsto x+1 as the bijection), hence n = n-1, which gives the desired contradiction.  Then in Exercise 3.6.3, add “use this exercise to give an alternate proof of Theorem 3.6.12 that does not use Lemma 3.6.9.”.
  • Page 73: In Exercise 3.6.8, add the hypothesis that A is non-empty.
  • Page 77: “negative times positive equals positive” should be “negative times positive equals negative”.  Change “we call -n a negative integer“, to “we call n a positive integer and -n a negative integer“.
  • Page 89: In the first paragraph, insert “Note that when n=1, the definition of x^{-1} provided by Definition 4.3.11 coincides with the reciprocal of x defined previously, so there is no incompatibility of notation caused by this new definition.”
  • Page 94, bottom: “see Exercise 12.4.8” should be “see Exercise 1.4.8 of Analysis II”.
  • Page 97:  In Example 5.1.10, “1-steady” should be “0.1-steady”, “0.1-steady” should be “0.01-steady”, and “0.01-steady” should be “0.001-steady”.
  • Page 104: In the proof of Lemma 5.3.7, after the mention of 0-closeness, add “(where we extend the notion of \varepsilon-closeness to include \varepsilon=0 in the obvious fashion)”, and after Proposition 4.3.7, add “(extended to cover the 0-close case)”.
  • Page 113: In the second paragraph of the proof of Proposition 5.4.8, add “Suppose that x>y” after the first sentence.
  • Page 122: Before Lemma 5.6.6: “n^{th} root” should be n^{th} roots”.  In (e), add “Here k ranges over the positive integers”, and after “decreasing”, add “(i.e., x^{1/k} < x^{1/l} whenever l>k)”.  One can also replace x<1 by 0 < x < 1 for clarity.
  • Page 123, near top: “is the following cancellation law” should be “is another proof of the cancellation law from Proposition 4.3.12(c) and Proposition 5.6.3”.
  • Page 124: In Lemma 5.6.9, add “(f) (xy)^q = x^q y^q.”
  • Page 130: Before Corollary 6.1.17, “we see have” should be “we have”.
  • Page 131: In Exercise 6.1.6, LIM should be \mathrm{LIM}.
  • Page 134: In the paragraph after Definition 6.2.6, add right parenthesis after “greatest lower bound of E“.
  • Page 138: In the second paragraph of Section 6.4, -1 should be in math mode (three instances).  After xL=L in the proof of Proposition 6.3.10, add “(here we use Exercise 6.1.3.)”.
  • Page 140: In the first paragraph, -1 should be in math mode.
  • Page 143, penultimate paragraph: add right parenthesis after “L^+ and L^- are finite”.
  • Page 144: In Remark 6.4.16, “allows to compute” should be “allows one to compute”.
  • Page 147: “(see Chapter 1)” should be “(see Chapter 1 of Analysis II)”.
  • Page 148: In the first sentence of Section 6.6, replace (a_n)_{n=1}^\infty to (a_n)_{n=m}^\infty.  After Definition 6.6.1, add “More generally, we say that (b_n)_{n=m'}^\infty is a subsequence of (a_n)_{n=m}^\infty if there exists a strictly increasing function f: \{ n \in {\bf N}: n \geq m'\} \to \{ n \in {\bf N}: n \geq m\} such that b_n = a_{f(n)} for all n \in {\bf N}.”.
  • Page 153: Just before Proposition 6.7.3, “Section 6.7” should be “Section 5.6”.
  • Page 157: At the end of Definition 7.1.6, add the sentence “In some cases we would like to define the sum \sum_{x \in X} f(x) when f: Y \to {\bf R} is defined on a larger set Y than X.  In such cases we use exactly the same definition as is given above.”
  • Page 161: In Remark 7.1.12, change “the rule will fail” to “the rule may fail”.
  • Page 163: In the proof of Corollary 7.1.14, the function h should be replaced with its inverse (thus h: Y \times X \to X \times Y is defined by h(y,x) := (x,y).  In Exercise 7.1.5, “Exercise 19.2.11” should be “Exercise 7.2.11 of Analysis II“.
  • Page 166: In Remark 7.2.11 add “We caution however that in most other texts, the terminology “conditional convergence” is meant in this latter sense (that is, of a series that converges but does not converge absolutely).
  • Page 172: In Corollary 7.3.7, q can be taken to be a real number instead of rational, provided we mention Proposition 6.7.3 next to each mention of Lemma 5.6.9.
  • Page 175: A space should be inserted before the (why?) before the first display.
  • Page 176: In Exercise 7.4.1, add “What happens if we assume f is merely one-to-one, rather than increasing?”.  Add a new Exercise 7.4.2.: “Obtain an alternate proof of Proposition 7.4.3 using Proposition 7.4.1, Proposition 7.2.14, and expressing a_n as the difference of a_n+|a_n| and |a_n|. (This proof is due to Will Ballard.)”
  • Page 177: In beginning of proof of Theorem 7.5.1, add “By Proposition 7.2.14(c), we may assume without loss of generality that m \geq 1 (in particulaar |a_n|^{1/n} is well-defined for any n \geq m).”.
  • Page 178: In the proof of Lemma 7.5.2, after selecting N, add “without loss of generality we may assume that N \geq 1“. (This is needed in order to take n^th roots later in the proof.)  One can also replace |a_n|^{1/n} \geq 1 and |a_n| \geq 1 with |a_n|^{1/n} > 1 and |a_n| > 1 respectively.
  • Page 186: In Exercise 8.1.4, Proposition 8.1.5 should be Corollary 8.1.6.
  • Page 187, After Definition 8.2.1, the parenthetical “(and Proposition 3.6.4)” may be deleted.
  • Page 188: In the final paragraph, after the invocation of Proposition 6.3.8, “convergent for each m” should be “convergent for each n“.
  • Page 189, middle: in “Why? use induction”, “use” should be capitalised.
  • Page 190: In the remark after Lemma 8.2.5, “countable set” should be “at most countable set”.
  • Page 193: In Exercise 8.2.6, both summations \sum_{m=N}^\infty should instead be \sum_{m=0}^N.
  • Page 198: In Example 8.4.2, replace “the same set” with “essentially the same set (in the sense that there is a canonical bijection between the two sets)”.
  • Page 203: In Definition 8.5.8, “every non-empty subset of Y has a minimal element \mathrm{min}(Y)” should be “every non-empty subset Z of Y has a minimal element \mathrm{min}(Z)“.
  • Page 203: In Proposition 8.5.10, “Prove that P(n) is true” should be “Then P(n) is true”.
  • Page 204: Before “Let us define a special class….”, add “Henceforth we fix a single such strict upper bound function s“.
  • Page 205: The assertion that Y_\infty \cup \{ s(Y_\infty)\} is good requires more explanation.  Replace “Thus this set is good, and must therefore be contained in Y_\infty” with : “We now claim that Y_\infty \cup \{ s(Y_\infty)\} is good.  By the preceding discussion, it suffices to show that x = s( \{ y \in Y_\infty \cup \{ s(Y_\infty)\}: y < x \} when x \in (Y_\infty \cup \{s(Y_\infty)\}) \backslash \{x_0\}.  If x = s(Y_\infty) this is clear since \{ y \in Y_\infty \cup \{ s(Y_\infty)\}: y < x \} = Y_\infty in this case.  If instead x \in Y_\infty, then x \in Y for some good Y.  Then the set \{ y \in Y_\infty \cup \{ s(Y_\infty)\}: y < x \} is equal to \{ y \in Y: y < x \} (why? use the previous observation that every element of Y' \backslash Y is an upper bound for x for every good Y'), and the claim then follows since Y is good.  By definition of Y_\infty, we conclude that the good set Y_\infty \cup \{ s(Y_\infty)\} is contained in Y_\infty“. In the statement of Lemma 8.5.15, add “non-empty” before “totally ordered subset”.
  • Page 206: Remove the parenthetical “(also called the principle of transfinite induction)” (as well as the index reference), and in Exercise 8.5.15 use “Zorn’s lemma” in place of “principle of transfinite induction”. In Exercise 8.5.6, “every element of x” should be “every element of X“.
  • Page 208: In Exercise 8.5.18, “Tthus” should be “Thus”. In Exercise 8.5.16, “total orderings of P” should be “total orderings of X“.
  • Page 211: In Definition 9.1.1, the endpoints of an interval should only be defined when the interval is non-empty; similarly, in Examples 9.1.3, it is only the non-empty intervals with one or more endpoints infinite that should be called half-infinite or infinite.  In Remark 9.1.2, add that for a non-empty interval I, the left endpoint can also be equivalently defined as $\inf I$ (why?), and similarly the right endpoint can be equivalently defined as $\sup I$.  In particular, this makes it clear that these notions of endpoint are well-defined (two non-empty intervals that are equal as sets, will have the same endpoints).
  • Page 215: Exercise 9.1.1 should be moved to be after Exercise 9.1.6, as the most natural proof of the former exercise uses the latter.
  • Page 216: In Exercise 9.1.8, add the hypothesis that I is non-empty. In Exercise 9.1.9, delete the hypothesis that x be a real number.
  • Page 221: At the end of Remark 9.3.7, \lim_{x \in x_0; x \in E \backslash \{x_0\}} should be \lim_{x \to x_0; x \in E \backslash \{x_0\}}.
  • Page 222: Replace the second sentence of proof of Proposition 9.3.14 by “Let (a_n)_{n=0}^\infty be an arbitrary sequence of elements in E that converges to x_0.”
  • Page 223: Near bottom, in “Why? use induction”, “use” should be capitalised.
  • Page 224: In Example 9.3.17, (why) should be (why?). In Example 9.3.16, “drop the set X” should be “drop the set E“, and change \lim_{x \in x_0; x \in X} to \lim_{x \to x_0; x \in X}.
  • Page 225:  In Example 9.3.20, all occurrences of {\bf R} - \{1\} should be {\bf R} - \{-1\}.
  • Page 226: After Definition 9.4.1, add “We also extend these notions to functions f: X \to Y that take values in a subset Y of {\bf R}, by identifying such functions (by abuse of notation) with the function \tilde f: X \to {\bf R} that agrees everywhere with f (so \tilde f(x) = f(x) for all x \in X) but where the codomain has been enlarged from Y to {\bf R}.
  • Page 230: In Exercise 9.4.1, “six equivalences” should be “six implications”. “Exercise 4.25.10” should be “Exercise 4.25.10 of Analysis II“.
  • Page 231: In the second paragraph after Example 9.5.2, Proposition 9.4.7 should be 9.3.9.  In Example 9.5.2, all occurrences of x_0 should be 0.  In the sentence starting “Similarly, if (b_n)_{n=0}^\infty…”, all occurrences of a_n should be b_n.
  • Page 232: In the proof of Proposition 9.5.3, in the parenthetical (Why? the reason…), “the” should be capitalised.  Proposition 9.4.7 should be replaced by Definition 9.3.6 and Definition 9.3.3.
  • Page 233-234: In Definition 9.6.1, replace “if” with “iff” in both occurrences.
  • Page 235: In Definition 9.6.5, replace “Let …” with “Let X be a subset of {\bf R}, and let …”.
  • Page 237: Add Exercise 9.6.2: If f,g: X \to {\bf R} are bounded functions, show that f+g, f-g, and f \cdot g are also bounded functions.  If we furthermore assume that g(x) \neq 0 for all x \in X, is it true that f/g is bounded?  Prove this or give a counterexample.”
  • Page 248: Remark 9.9.17 is incorrect.  The last sentence can be replaced with “Note in particular that Lemma 9.6.3 follows from combining Proposition 9.9.15 and Theorem 9.9.16.”
  • Page 252: In the third display of Example 10.1.6, both occurrences of (0,\infty) should be (-\infty,0).
  • Page 253: In the paragraph before Corollary 10.1.12, after “and the above definition”, add “, as well as the fact that a function is automatically continuous at every isolated point of its domain”.
  • Page 256: In Exercise 10.1.1, Y \subset X should be Y \subseteq X, and “also limit point” should be “also a limit point”.
  • Page 257: In Definition 10.2.1, replace “Let …” with “Let X be a subset of {\bf R}, and let …”.  In Example 10.2.3, delete the final use of “local”.  In Remark 10.2.5, \subset should be \subseteq.
  • Page 259: In Exercise 10.2.4, delete the reference to Corollary 10.1.12.
  • Page 260: In Exercise 10.3.5, X \subset {\bf R} should be X \subseteq {\bf R}.
  • Page 261: In Lemma 10.4.1 and Theorem 10.4.2, add the hypotheses that X, Y \subseteq {\bf R}, and that x_0,y_0 are limit points of X,Y respectively.
  • Page 262.  In the parenthetical ending in “$latex f^{-1} is a bijection”, a period should be added.
  • Page 263: In Exercise 10.4.1(a), Proposition 9.8.3 can be replaced by Proposition 9.4.11.
  • Page 264: In Proposition 10.5.2, the hypothesis that f,g be differentiable on [a,b] may be weakened to being continuous on [a,b] and differentiable on (a,b], with g' only assumed to be non-zero on (a,b] rather than [a,b].  In the second paragraph of the proof “converges to x” should be “converges to a“.
  • Page 265: In Exercise 10.5.2, Exercise 1.2.12 should be Example 1.2.12.
  • Page 266: “Riemann-Steiltjes” should be “Riemann-Stieltjes”.
  • Page 267: In Definition 11.1.1, add “X is nonempty and” before “the following property is true”, and delete the mention of the empty set in Example 11.1.3.  In Lemma 11.1.4, replace “connected” by “either connected or empty”.  (The reason for these changes is to be consistent with the notion of connectedness used in Analysis II and in other standard texts. -T.)
  • In the start of Appendix A.1, “relations between them (addition, equality, differentiation, etc.)” should be “operations between them (addition, multiplication, differentiation, etc.) and relations between them (equality, inequality, etc.)”.
  • Page 276: In the proof of Lemma 11.3.3, the final inequality should involve f on the RHS rather than g.
  • Page 280: In Remark 11.4.2, add “We also observe from Theorem 11.4.1(h) and Remark 11.3.8 that if f: [a,b] \to {\bf R} is Riemann integrable on a closed interval [a,b], then \int_{[a,b]} f = \int_{(a,b]} f = \int_{[a,b)} f = \int_{(a,b)} f.
  • Page 282: In Corollary 11.4.4, replace” |f| = f_+ - f_-” by “|f|, defined by |f|(x) := |f(x)|“, and add at the end “(To prove the last part, observe that |f| = f_+ - f_-.)”
  • Page 283: In the penultimate display, (\overline{f_+}-\underline{f_-}(x)) should be (\overline{f_+}-\underline{f_-})(x).
  • Page 284: Exercise 11.4.2 should be moved to Section 11.5, since it uses Corollary 11.5.2.
  • Page 288: In Exercise 11.5.1, (h) should be (g).
  • Page ???: At the start of the proof of Proposition 11.6.1, add “We may assume that a \leq b, since the claim is vacuously true otherwise.”.
  • Page 291: In the paragraph before Definition 11.8.1, remove the sentences after “defined as follows”. In Definition 11.8.1, add the hypothesis that \alpha be monotone increasing, and X be an interval that is closed in the sense of Definition 9.1.15, and alter the definition of \alpha[I] as follows.  (i) If I is empty, set \alpha[I]:=0.  (ii) If I = \{a\} is a point, set \alpha[\{a\}] := \lim_{x \to a^+; x \in X} \alpha(x) - \lim_{x \to a^-; x \in X} \alpha(x), with the convention that \lim_{x \to a^+; x \in X} \alpha(x) (resp. \lim_{x \to a^-; x \in X} \alpha(x)) is \alpha(a) when a is the right (resp. left) endpoint of X. (iii) If I = (a,b), set \alpha[(a,b)] := \lim_{x \to b^-; x \in X} \alpha(x) - \lim_{x \to a^+; x \in X} \alpha(x). (iv) If I = [a,b), (a,b], or [a,b], set \alpha[I] equal to \alpha(\{a\}) + \alpha((a,b)), \alpha((a,b)) + \alpha(\{b\}), or \alpha(\{a\}) + \alpha((a,b)) + \alpha(\{b\}) respectively.  After the definition, note that in the special case when \alpha is continuous, the definition of \alpha[I] for I = (a,b), [a,b), (a,b], [a,b] simplifies to \alpha[I] = \alpha(b) - \alpha(a), and in this case one can extend the definition to functions \alpha that are continuous but not necessarily monotone increasing.  In Example 11.8.2, restrict the domain of \alpha to [0,+\infty), and delete the example of \alpha[(-3,-2)].
  • Page 292: In Example 11.8.6, restrict the domain of \alpha to [0,+\infty).  In Lemma 11.8.4 and Definition 11.8.5, add the condition that X be an interval that is closed, and \alpha be monotone increasing or continuous.
  • Page 293: After Example 11.8.7, delete the sentence “Up until now, our function… could have been arbitrary.”, and replace “defined on a domain” with “defined on an interval that is closed” (two occurrences).
  • Page 294: The hint in Exercise 11.8.5 is no longer needed in view of other corrections and may be deleted.
  • Page 295: In the proof of Theorem 11.9.1, after the penultimate display |F(y)-F(x)| \leq M|x-y|, one can replace the rest of the proof of continuity of F with “This implies that F is uniformly continuous (in fact it is Lipschitz continuous, see Exercise 10.2.6), hence continuous.”
  • Page 297: In Definition 11.9.3, replace “all x \in I” with “all limit points x of I“.  In the proof of Theorem 11.9.4, insert at the beginning “The claim is trivial when b=a, so assume b > a, so in particular all points of [a,b] are limit points.”.  When invoking Lemma 11.8.4, add “(noting from Proposition 10.1.10 that F is continuous)”.
  • Page 298: After the assertion F[J] = F(d)-F(c), add “Note that F, being differentiable, is continuous, so we may use the simplified formula for the F-length as opposed to the more complicated one in Definition 11.8.1.”
  • Page 299: In Exercise 11.9.1, q should lie in {\bf Q} \cap (0,1) rather than {\bf Q} \cap [0,1].  In Exercise 11.9.3, x_0 should lie in (a,b) rather than [a,b].  In the hint for Exercise 11.9.2, add “(or Proposition 10.3.3)” after “Corollary 10.2.9”.
  • Page 300: In the proof of Theorem 11.10.2, Theorem 11.2.16(h) should be Theorem 11.4.1(h).
  • Page 310: in the last line, “all logicallly equivalent” should be “all logically equivalent”.
  • Page 311: In Exercise A.1.2, the period should be inside the parentheses.
  • Page 327: In the proof of Proposition A.6.2, 0 \leq y \leq x may be improved to 0 < y < x; similarly for the first line of page 328.  Also, the “mean value theorem” may be given a reference as Corollary 10.2.9.
  • Page 329: At the end of Appendix A.7, add “We will use the notation X \equiv Y to indicate that a mathematical object X is being identified with a mathematical object Y.”
  • Page 334: In the last paragraph of the proof of Theorem B.1.4, “the number a_n \dots a_0 has only one decimal representation” should be “the number a_n \dots a_1 has only one decimal representation”.

— Errata to the fourth edition —

  • General: all instances of “supercede” should be “supersede”, and “maneuvre” should be “manoeuvre”.
  • Page 5: “theirbooks” should be “their books”.
  • Page 10: In Example 1.2.12, final paragraph, 4 x^{-2} should be 4 x^{-3}.
  • Page 15: “carry of digits” should be “carry digits”.
  • Page 16: The semicolon before 5 \times 3 should be a colon.
  • Page 17: the computing language C should not be italicised.
  • Page 20: In the parenthetical, “n “is not a half-integer”” should be “”n is not a half-integer””, i.e., the n should be inside the quotes.
  • Page 22: In Remark 2.1.5, the first “For instance” may be deleted.
  • Page 36: In Example 3.1.10: “lie on” should be “lie in”.
  • Page 39: In the last part of Definiton 3.1.14, “if” should be “iff”.
  • Page 40: In Remark 3.1.26, “elementsof” should be “elements of”.
  • Page ???: In the parenthetical to Exercise 3.3.1, replace “are immediate from  … in question, but the point” with “would be immediate from … in question, but as discussed in Remark 3.3.8, the axioms of equality for functions require justification.  The point…”
  • Page ???: In the statement of Lemma 3.4.10, replace “Then the set” with “Then”.
  • Page 51: Delete the second part of Exercise 3.4.6 (it is redundant in view of Exercise 3.5.11), and replace “see also Exercise 3.5.11” with “see Exercise 3.5.11 for a converse to this exercise, which also helps explain why we refer to Axiom 3.11 as the “power set axiom”.”
  • Page 60?: In Remark 3.4.13, “Ernest” should be “Ernst”.
  • Page 66?: In Exercise 3.5.6, “the A,B,C,D” should be “the sets A,B,C,D“.
  • Page 68?: In Exercise 3.5.2, the domain of a should be {\bf N} rather than X.
  • Page ??: In Exercise 3.5.12, a should be a function from {\bf N} to X, and a_N(n++) = f(n,a(n)) should be a_N(n++) = f(n,a_N(n)).
  • Page 69: In the paragraph before Definition 3.6.5, N should be {\bf N}.
  • Page 70: In the fifth line of the proof of Lemma 3.6.9, 1 \leq i \leq N should be 1 \leq i \leq n.
  • Page 77: In footnote 1, “two applications of the axiom of replacement” should be “the axiom of replacement”.
  • Page 87: In Proposition 4.3.7(b), add the following parenthetical: “Because of this equivalence, we will also use “x and y are \varepsilon-close” synonymously with either “x is \varepsilon-close to y” or “y is \varepsilon-close to x“.
  • Page ???: Delete the last sentence of Exercise 4.4.3 (as the axiom of choice has not yet been formally introduced.)
  • Page 104?: In the sixth line from the bottom of the proof of Proposition 5.2.8, delete the first “yet”.
  • Page 104: In the statement of Lemma 5.3.6, delete the space before the close parenthesis.
  • Page 109: In the top paragraph (after Proposition 5.3.11), “On obvious guess” should be “One obvious guess”.  In the proof of Lemma 5.3.15, after “|a_m - a_n| \leq c^2 \varepsilon“, “for all n \geq N“, should be “for all m,n \geq N
  • Page 116: The paragraph after Remark 5.4.11 may be deleted, since it is essentially replicated near Definition 6.1.1.
  • Page 148: After Definition 6.6.1, “for all n \in {\bf N}” should be “for all n \geq m'“.
  • Page 161: In the third display, on the right-hand side of the equation, the sizes of the first two left parentheses should be interchanged.
  • Pages 167-168: In Lemma 8.2.3 and Definition 8.2.4, \infty should be +\infty.
  • Page 174: In Proposition 7.4.1, (S_N)_{n=0}^\infty should be (S_N)_{N=0}^\infty, and similarly (T_M)_{m=0}^\infty should be (T_M)_{M=0}^\infty (two occurrences).
  • Page 177: In Exercise 7.3.2, add the requirement x \neq 1 to the geometric series formula.
  • Page 170: At the end of Section 8.2, add the following exercise (Exercise 8.2.7): “Let f: {\bf N} \times {\bf N} \to {\bf R} be a function.  Show that \sum_{(n,m) \in {\bf N}^2} f(n,m) is absolutely convergent if and only if \sum_{n=0}^\infty \sum_{m=0}^\infty |f(n,m)| is convergent.”
  • Page 198: In Example 8.4.2, replace “For any sets I and X” with “For any set X and non-empty set I“.
  • Page 200: In Remark 8.3.5, “Exercise 7.2.6” should be “Exercise 7.2.6 of Analysis II“.
  • Page 201: In the first paragraph of Section 8.4, “Section 7.3” should be “Section 7.3 of Analysis II“.
  • Page 205: In Proposition 8.5.10, replace <_X with <.
  • Page 207: In Exercise 8.5.15, replace the hint with “Apply Zorn’s lemma to the set of pairs (X, \iota), where X is a subset of B and \iota: X \to A is an injection, after giving this set a suitable partial ordering.”
  • Page 215: In the final paragraph of the proof of Lemma 9.1.12, (a-b) should be (a,b).
  • Page 219: In Remark 9.1.25, “Theorem 1.5.7” should be “Theorem 1.5.7 of Analysis II“.
  • Page 231: In Example 9.4.3, in the second limit, x_0 \in x should be x \to x_0.
  • Page 234: To improve the logical ordering, Proposition 9.4.13 (and the preceding paragraph) can be moved to before Proposition 9.4.10 (and similarly Exercise 9.4.5 should be moved to before Exercise 9.4.3, 9.4.4).
  • Page 237: At the start of Section 9.7, “a continuous function attains” should be “a continuous function on a closed interval attains”.
  • Page 249: In the first display of the proof of Theorem 9.9.16, n \in N should be n \in {\bf N}.
  • Page 252: In Definition 11.8.1, “a interval” should be “an interval”. In (ii), “X is the right endpoint” should be “a is the right endpoint”, and the final right parenthesis should be deleted. In (iii), b^+ should be a^+, and the colons in the limits should be semicolons.  In (iv), all occurrences of \alpha(\dots) should be \alpha[\dots] for notational consistency. Add an exercise to the effect that the limits in (ii), (iii) are well-defined, and refer to this exercise in the definition.
  • Page 253: In Lemma 11.8.4, the word “which” may be omitted.
  • Page 255: In Theorem 10.1.13(h), enlarge the parentheses around \frac{f}{g}.
  • Page 271: In Remark 11.1.2, “Section 2.4” should be “Section 2.4 of Analysis II“.
  • Page ???: In Exercise 11.1.3, c \leq b should be c<b (two occurrences), and “I_j is not of the form” should be “none of the I_j are of the form”.
  • Page 278: In Remark 11.3.5, replace “this is the purpose of the next section” with “see Proposition 11.3.12”. (Also one can mention that this definition of the Riemann integral is also known as the Darboux integral.)
  • Page 281: In Remark 11.3.8, “Chapter 8” should be “Chapter 8 of Analysis II“.
  • Page 292: In Remark 11.7.2, “Chapter 8” should be “Chapter 8 of Analysis II“.
  • Page ???: At the end of Section 11.8, the reference to the breakdown of Theorem 11.4.1(g) should be deleted.
  • Page 294: \alpha(I) should be \alpha[I] (two occurrences).
  • Page 297: In Definition 11.9.3, “all limit points x of I” should be “all limit points x of I that are contained in I“.
  • Page 314: In Examples A.2.1, “no conclusion on x or x^2” should be “no conclusion for x^2“.
  • Page 331: In the proof of Proposition A.6.2, 0 \leq y \leq x may be improved to 0 < y < x; similarly for the first line of page 332.
  • Page ???: In Exercise B.2.3, “x is not at terminating decimal” should be “x is not a terminating decimal”.
  • General LaTeX issues: Use \text instead of \hbox for subscripted text.  Some numbers (such as 0) are not properly placed in math mode in certain places. Some instances of \ldots should be \dots.  \lim \sup should be \limsup, and similarly for \lim \inf.

Thanks to aaron1110, Adam, James Ameril, Paulo Argolo, William Barnett, José Antonio Lara Benítez, Dingjun Bian, Philip Blagoveschensky, Tai-Danae Bradley, Brian, Eduardo Buscicchio, Maurav Chandan, Diego Cimadom, Matheus Silva Costa, Gonzales Castillo Cristhian, Ck, William Deng, Kevin Doran, Lorenzo Dragani, Jonas Esser, Evangelos Georgiadis, Elie Goudout, Ti Gong, Cyao Gramm, Christian Gz., Ulrich Groh, Yaver Gulusoy, Deniz İmge, Minyoung Jeong, Erik Koelink, Brett Lane, David Latorre, Kyuil Lee, Matthis Lehmkühler, Bin Li, Percy Li, Matthew, Ming Li, Mufei Li, Yingyuan Li, Manoranjan Majji, Mercedes Mata, Simon Mayer, Pieter Naaijkens, Vineet Nair, Cristina Pereyra, Olli Pottonen, Huaying Qiu, David Radnell, Tim Reijnders, Issa Rice, Eric Rodriguez, Pieter Roffelsen, Luke Rogers, Feras Saad, Gabriel Salmerón, Vijay Sarthak, Leopold Schlicht, Marc Schoolderman, Rainer aus dem Spring, SkysubO, sotpau, Tim Smith, Sundar, suinwethilo, Karim Taha, Chaitanya Tappu, Winston Tsai, Kent Van Vels, Andrew Verras, Daan Wanrooy, John Waters, Yandong Xiao, Hongjiang Ye, Luqing Ye, Christopher Yeh, Muhammad Atif Zaheer, and the students of Math 401/501 and Math 402/502 at the University of New Mexico for corrections.