The present book is aimed at a general mathematical audience. My third Stillwell book, it follows Elements of mathematics and Reverse mathematics [1,2] and maintains these predecessors’ high standards in content, sequence, and clarity of expression. Stillwell asserts: “A major theme of the book is the relation between logic and computation ... I hope this book clarifies the role of logic, computation and abstraction in mathematics.” It certainly does. Every one of its 16 chapters has cogent and pithy points to make, which ultimately fit into the book’s story as if the reader alone is experiencing the entire development of mathematics and its proofs.
A long time ago, as a college freshman, I was fascinated and excited to have learned from fellow students about Bourbaki, the French--actually, international--group of prominent mathematicians who wrote foundational mathematics books as one eponymous mathematician, Nicolas Bourbaki. I soon found out that several of my professors were “Bourbakistes.” However, soon thereafter, I was more than mildly shocked by the lack of enthusiasm for logic-as-foundation that several Bourbakistes showed. (Euclidean geometry was then still a staple high-school subject, and a thrilling one to me.) Stillwell’s current and also superlative book quotes, in a footnote, Bourbaki’s late founder, André Weil: “[Logic is] the hygiene of the mathematician, it is not his source of food.” Stillwell adds, “as though logicians were sanitation workers.”
As this is a book review and not a mystery story, I’ll draw attention to the very last page of the book to make a clear point regarding logic’s compass in mathematics (and in computing science and practice): there is a growing number of “pure” mathematicians, the late Fields Medalist Vladimir Voevodsky (mentioned on the book’s last page) being one of them, who have identified the need for computer-assisted proofs of their results--errors that invalidate some theorems or results can be found decades after publication. To pursue Voevodsky a bit further, his univalent foundations initiated a path that, at stages, included the aid of the Coq proof assistant and Martin-Löf type theory. On the computing practice side (and with apologies for a second personal vignette), a former Martin-Löf student  and I were part of a safety-critical software project (https://www.prover.com) whose specifications and implementation were (computer-)provably correct. To say that proof is important would be an extreme understatement. Thus, its evolving story remains ever most relevant to mathematics and computing science, and (for what it’s worth) leaves my lack of sympathy with Weil’s viewpoint firmly intact.
Chapter 1, “Before Euclid,” highlights the Greeks’ “fear of [actual] infinity” in favor of potential infinity, and also their non-belief in the existence of infinitesimals. The rendering of the Archimedean property as (equivalent to) the separability of the magnitudes (later to “be” the real numbers) certainly “goes to show that ... ancient mathematics is good training in the art of proof.” Chapter 2, “Euclid,” explicates Euclid’s “favor[ing] construction over existence,” in my opinion alluding to and presaging the centuries-later philosophical difference (my characterization) between constructive and existence proofs. The next chapter, “After Euclid,” speaks of Hilbert’s explication of the nature of axioms in geometry. It also makes a wonderful connection between projective geometry and the notion of perspective in art--one stimulus being Euclid’s parallel postulate.
Subsequent chapters--on algebra; algebraic geometry; calculus; number theory; the historically oft-revisited fundamental theorem of algebra; non-Euclidean geometry; topology; the arithmetization of mathematics; set theory; axioms for numbers, geometry, and sets; the axiom of choice; logic and computation; and incompleteness--have depth, breadth, and content organized logically, organically, and pedagogically to a degree that I have rarely, if ever, encountered.
The masterful coverage of (what I consider) all of mathematics, as tied together by proof, kept me wondering until the end whether constructivism and intuitionism would get their due--though the work of Brouwer is covered early in the book. They do, in Section 16.5, “Constructivity.” Here, a fruitful connection with reverse mathematics  is well exploited. It is also not a criticism for me to state that the species of axiomatic set theory covered in this book is Zermelo-Fraenkel (ZF), with no allusion to such “competitors” as von Neumann–Bernays–Gödel (NBG) [4,5]. This makes sense, as methods of proof involving any axiomatic set theory remain essentially the same. Regarding Cantor’s ordinals, cardinals, and transfinite arithmetic, the treatment is the clearest and most systematic that I’ve encountered; it made, for the first time, the subject almost pleasant for me. I found very few typographical errors in its 400-plus pages, none of them a showstopper.
Stillwell’s Story of proof joins his two other Princeton University Press books in having my highest recommendation. I just wish they had been around when I was a student.