
Publisher Description (unedited publisher data) Here is an introduction to modern logic that differs from others by treating logic from an algebraic perspective. What this means is that notions and results from logic become much easier to understand when seen from a familiar standpoint of algebra. The presentation, written in the engaging and provocative style that is the hallmark of Paul Halmos, from whose course the book is taken, is aimed at a broad audience, students, teachers and amateurs in mathematics, philosophy, computer science, linguistics and engineering; they all have to get to grips with logic at some stage. All that is needed to understand the book is some basic acquaintance with algebra. Library of Congress subject headings for this publication: Logic, Symbolic and mathematical.
Likewise I essentially learned all the probability theory and combinatorics I know from people and scraps, so I can't recommend a synthesizing text.
Undergraduate geometry can be a mess, so you should know what you're looking for. There are three kinds of undergraduate geometry classes: 1. Euclid's Elements (ugh), 2. The hyperbolic version of Euclid's Elements (meh), and 3. The "Erlangen Programme" style, which involves studying geometry via group theory and linear algebra. As you can probably tell, my recommendation is to study the last, because you already know group theory and with the other two you'll spend a lot of time wondering whether you can apply some basic obvious fact to prove some other basic obvious fact. The Erlangen style also allows you to describe projective and hyperbolic geometry via linear algebra (as well as the Euclid way), which is far more useful. See, for example, my post on projective geometry for elliptic curves [1]. I went through all three styles, but the last unfortunately had no textbook.
I'm not a huge fan of logic/set theory, but again the best treatment I can see for basic logic is to view it as algebra. In that vein, Halmos's "Logic as Algebra" was all I needed, and the prose is superb. This book does not contain any real set theory (say, about higher cardinals), but it's nice and short.
[1]: http://jeremykun.com/2014/02/16/elliptic-curves-as-algebraic...
He explained this in his first book Elements of Programming (now freely available at https://www.elementsofprogramming.com/) and then simplified the basic ideas into the above book. In his interviews he often mentions George Chrystal's Algebra books as foundational. These are the ideas that he used to implement STL in C++.
Also related (maybe?) is Paul Halmos and Steven Givant's book Logic as Algebra. MAA review at https://old.maa.org/press/maa-reviews/logic-as-algebra