
Analysis is a core subject in most undergraduate mathematics degrees. It is elegant, clever and rewarding to learn, but it is hard. Even the best students find it challenging, and those who are unprepared often find it incomprehensible at first. This book aims to ensure that no student need be unprepared.
1) Calculus: Basic Concepts for High Schools by Lev Tarasov. Soviet-era book written as a dialogue between the author and reader. Absolutely fantastic (also see his other books on Probability etc.) - https://mirtitles.org/2018/09/04/calculus-basic-concepts-for...
2) Calculus: An Intuitive and Physical Approach by Morris Kline. A classic; any book by Morris Kline is a must-have - https://store.doverpublications.com/products/9780486404530
3) Calculus: The Princess of Mathematics by H.C.Verma et al. A two-vol must-have affordable set. The author is a well-known Indian Physics professor and this is written specifically for students to "understand" calculus i.e. it is not a typical textbook. - https://garudalife.in/calculus-the-princess-of-mathematics-v...
4) How to Think about Analysis by Lara Alcock. Provides conceptual insight like the Tarasov book above. Checkout the author's other books too. - https://global.oup.com/academic/product/how-to-think-about-a...
I believe we need to study Calculus alongside Probability/Statistics nowadays due to their pervasive use in ML/AI/etc. To that end;
a) Methods of Mathematics Applied to Calculus, Probability, and Statistics by Richard Hamming. It is by Hamming so one of the best. - https://store.doverpublications.com/products/9780486439457?_...
b) Calculus and Statistics by Michael Gemignani. Similar to the above - https://store.doverpublications.com/products/9780486449937
In addition to Abbott which you mentioned,
"How to Think About Analysis" (Alcock), good gentle introduction for anyone who tries to dive into an analysis textbook and hits concrete.
"Real Mathematical Analysis" (Pugh), good, rigorous approach that doesn't require quite as much effort to power through as Rudin does, although some of the exercises are tough.
"Analysis I" and II (Tao), is good and starts from scratch building numbers from the Peano axioms, so there are no other unproven assumptions underlying everything later.
"Counterexamples in Analysis" (Gelbalm & Olmstead), very helpful for understanding some pathological cases that break theorems one might intuitively believe are true.
There's no reason today why someone can't grab pdfs of all of the above (even Rudin, although it's never been digitally typeset), from any friendly internet library, and use them all to build a better understanding rather than relying on one alone.
Also, "A Book of Abstract Algebra" by Charles Pinter (available as a Dover paperback). The introductory sections to each chapter draw motivating lines from earlier definitions / theorems.
Other books that are good mentions, but even better after the above include the 2nd edition of Sheldon Axler's "Linear Algebra Done Right" (it motivates each development similar to Pinter) and "Topology" by K. Janich.
Of all, I have admired how they motivate without compromising rigor, using expository text alongside formal statements of definitions, theorems and proofs.
Many books of this kind are usually called "Intro To Discrete Math" because I think discrete math is easier and neater than its continuous counterpart. Most such books consider a sampling of topics from number theory, combinatorics, graph theory and discrete probability. Obviously, they do not even scratch the surface of the subjects they teach as that's not the goal. For example, compare what's in the counting section of a typical intro to discrete math book to an intro to counting proper. For example, my very first discrete math textbook was "Discrete Mathematics with Applications" by Susanna Epp and for counting it was "Combinatorics: A Guided Tour" by David R Mazur. Epp's books covers much, much, much less. Similarly, currently one of the very best intros to elementary number theory is "Number Theory: Step By Step" by Kuldeep Singh. The latter also contains much more material than a typical intro to discrete math.
Beyond that every author of an into to discrete math likes to include a little taste of their own personal favorites. For example, Susanna Epp has a chapter on algorithm analysis whereas, say, Edward Scheinerman talks a little bit about group theory in his book "Mathematics: A Discrete Introduction". Yet other authors include chapters on geometry, vectors spaces, generating functions etc.
I noticed (almost) every math/CS adjacent thread on HN gets mention of Big O notation. IMO, the best place to learn that is a textbook on discrete math. For example, Susanna Epp has a whole chapter dedicated to this topic in her intro to discrete math book. Consider [0] from Epp's book. Since it's a math book it's very careful and thorough meaning if you don't understand something in that example reading the material that precedes will clarify everything; just a matter of backtracking far enough. Since it's an extremely introductory book, it's also very patient. I personally struggled with the motivation for defining total derivative through little-o notation.
There are a ton more textbooks on discrete math like, say, " Essential Discrete Mathematics for Computer Science" by Lewis & Zax or "Discrete Mathematics: An Open Introduction" by Oscar Levin.
Some intro books also attempt to include a tiny bit of real analysis and general topology. Topics include ways of using least upper bound, epsilon-delta arguments, open/closed sets, a little on metric spaces etc. Obviously, such books don't get carried away by ditching epsilon-delta/balls arguments in favor of more general open sets to define continuity, for example. One such book that comes to mind is "Mathematical Proofs: A Transition to Advanced Mathematics" by Chartrand, Polimeni, Zhang.
I think the best book in this introductory genre is "Book Of Proof" by Richard Hammack. It's freely available. I see the latest edition added a few techniques for proving convergence and continuity on the real line: epsilon-delta and epsilon-N stuff.
I call the books mentioned above "Intro To Math 1". After these books one can get started with more in depth books on the subjects considered in the aforementioned books or pick up an intro to real analysis, topology, abstract algebra, whatever.
One of the most effective textbooks on elementary math analysis is "Principles of Mathematical Analysis" by Rudin. But one will have a real tough time with it even after studying the aforementioned books. But there are fantastic preparatory books like "Linear Algebra: Step by Step" by Kuldeep Singh which one needs because Rudin considers Euclidean Spaces proper, not just the reals. Other helpful books include "Yet Another Introduction to Analysis" by Bryant, "How to Think About Analysis" by Lara Alcock, "A First Course in Mathematical Analysis" by Brannan, "Real Analysis: A Long-Form Mathematics Textbook by Jay Cummings" etc. None of these books are perfect. For example, none of them (but that of Cummings) include the necessary topological concepts. Also, even though the book by Bryant is chatty, his exercises can be tough. Case in point, he expects you to prove that rationals are incomplete in the very first chapter. To his credit, he gives a lot of hints and every one of his exercises have detailed solutions. When I first saw Alcock's book I got the impression that her book was an excuse to explain how we think about the convergence in reals. The rest of the book felt like a filler, even though the book is worth it for that chapter alone. It's good to look into many different books because the authors make different choices. For example, Cummings proves Bolzano-Weierstrass theorem through the fact that every sequence has a monotone subsequence whereas Brannan does it by way of bisection argument. Other authors might make yet other choices. In math the more techniques you have in your tool chest, the easier it is to attack problems. If you solve a problem one way, but the solution given is different it's worth memorizing the alternative solution as it's another technique that will come in handy in a different situation.
Ok, I didn't say anything about abstract algebra and other subjects, but this post is already turning into a novel.
After making very first and wobbly steps into math through the intro to discrete math books, the other path is to study what I call "Intro To Math 2". There are books like "Mathematical Concepts" by Jost or (especially) "Essential Mathematics for Undergraduates" by Giossi. Wanted to say more about this or the other topics above. Maybe next time.
Please, excuse the grammar and inconsistent notation (& naming convention) as it is very late here.
Introduction to Proofs:
Just pick one of these that speaks to you the most. All three are good.
Discrete Mathematics with Applications - Epp
Discrete Mathematics and Its Applications - Rosen
Mathematical Proofs: A Transition to Advanced Mathematics - Chartrand, et al.
Abstract Algebra:
How to Think about Abstract Algebra - Alcock
Abstract Algebra - Pinter
Abstract Algebra: A First Course - Saracino
Algebra - Artin
Abstract Algebra - Herstein
Abstract Algebra - Dummit & Foote
Linear Algebra:
Maybe an engineering based book first if you haven't seen linear algebra in a while (e.g. Strang or Linear Algebra: Step by Step by Singh).
Then:
Linear Algebra - Friedberg, et al
Linear Algebra Done Right - Axler
Linear Algebra - Hoffman & Kunze
Real Analysis:
How to Think About Analysis - Alcock
Understanding Analysis - Abbott
Tao's Analysis text
Principles of Mathematical Analysis - Rudin
Topology:
Topology - Munkres
Topology A Categorical Approach - Tai-Danae Bradley, Tyler Bryson, and John Terilla
Check out this list:
http://pi.math.cornell.edu/~hatcher/Other/topologybooks.pdf for others.
Category theory:
Categories and Toposes: Visualized and Explained - Southwell
Conceptual Mathematics: A First Introduction to Categories - Lawvere
Category Theory for Programmers - Milewski (if you like functional programming)
Programming with Categories - Fong, Milewski, Spivak (if you like functional programming)
Category Theory in Context - Riehl
There are a few others by Spivak which you may like.
If you don't know category theory whatsoever then I like Southwell the best (pair them up with his youtube videos). Eugenia Cheng also has a nice set of lecture videos.
If you already know math pretty well, then Riehl is a favorite.
Hope that helps!