How should someone who hasn't studied any math at a university level start studying mathematical logic? (There are already questions like this but they mostly focus on book recommendation for people with already some university background)

I think I should begin with set theory (I know the basics of set theory), before actually trying to study mathematical logic. What books or other sources (preferably books) would be good for self studying set theory? Enderton's Elements of Set Theory seems like a good one.

After getting familiar with set theory, what should I study next (assuming that it's wise to begin with set theory)? A book, again by Enderton, A Mathematical Introduction to Logic, seems like a good intro to the subject.

If one wants to master mathematical logic, should one also study formal logic from philosophy's point of view?

All kinds of recommendation are welcome.

  • $\begingroup$ While of course philosophers' point of view on logic is interesting and valuable, their notations and terminology are very often archaic (like some didn't notice that Russel and Frege were a century ago) so I wouldn't advise learning logic there if you want to be able to read mathematical texts. But it makes for good complementary reading once you're familiar with the maths. $\endgroup$ Apr 24, 2016 at 7:58
  • $\begingroup$ This will be an unconventional recommendation, but if you aren't already familiar with programming, I strongly suggest learning some (or "at least" get familiar with a proof assistant). In a very real sense, programming is applied logic. Many concepts and concerns of formal logic are also present or have analogs in programming with the significant difference that programming has quite a lot more tool support, community, and learning resources. Not to mention a much tighter feedback loop. I recommend this even if your interests are more "philosophical". $\endgroup$ Apr 24, 2016 at 9:58
  • $\begingroup$ @DerekElkins Would some programming languages be more suitable for this than others? I've been thinking of learning Python for some time now, would it be a good language for this? I don't have any proper programming experience (some very basic C++ and html). $\endgroup$
    – user265554
    Apr 24, 2016 at 11:11
  • $\begingroup$ A lot of benefit can come from almost any language, for example getting comfortable with scoping. However, declarative languages (functional or logic) and typed languages have the clearest connections to logic. Many proof assistants (e.g. Coq, Agda, Nuprl, HOL) are at their core just typed functional languages. Haskell is significantly more pragmatic/accessible while still being very declarative. Prolog is immediately related to logic. (If $\lambda$Prolog was more popular, I'd recommend that over Prolog.) $\endgroup$ Apr 24, 2016 at 11:43

2 Answers 2


Raymond Smullyan's A Beginner's Guide To Mathematical Logic is a gentle but useful introduction to the topic, and you don't need any background for it. You might find it useful.

I also recommend Godel, Escher, Bach, which is not at all a logic textbook. But it incorporates many of the most important ideas of mathematical logic and the cornerstones of computational theory, and it's a really engaging and interesting book.

  • 1
    $\begingroup$ I would not recommend Hofstadter's book to anyone interested in mathematical logic. Mathematical logic is not a fluffy subject, but Hofstadter's book is all fluff. $\endgroup$
    – Rob Arthan
    Jul 3, 2021 at 22:40

Here is Elliot Mendelson’s Introduction to Mathematical Logic


Amazon gives it 3.5 stars

Though a nice text for symbolic logic before this text is the Logic book by Bergman James Moore and Jack Nelson. It comes with a solution disk .


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .