Naive Set Theory by Halmos is confusing to a layman like me

I want to be able to express set notations fluently in math fields used in machine learning, so I started reading Naive Set Theory by Halmos.

But I have been facing a lot of problems like :

  1. On pages 1-6 , I encountered if and only if and had to go to Wikipedia, to actually understand it .
  2. Also , I had to search Math.SE to understand such sentences as :
  • It is equally harmless if the letter used has already been used with "for some" or "for all". Recall that "for some $x \ (x \in A)$" means the same as "for some $y \ (y \in A)$" ; it follows that a judicious change of notation will always avert alphabetic collisions.

  • " nothing contains everything "


Every page is a conundrum that requires huge amounts of mental gymnastics. I think I'm not ready to read the book, yet.

Can anyone recommend a better introduction to informal set theory than Halmos ?

My Background : I majored in biology and attended calculus, statistics, real analysis, and linear algebra classes in a university. However, I dropped out of all math classes very early to focus on biology. Now, I want to learn math again. The high school didn't teach any theoretical foundation of math at all.


You are ready. You don't read math book like you read a novel. You can literally spend days on one page. You are not going to find a better book than Halmos's book; so you might as well grab a ton of scratch paper and go to town.

I do recommend that you get acquainted with the fundamentals of logic and boolean algebra first. You must become comfortable with implies, if and only if, for all, there exists, and, and or.

Since you have found your way into Stack Exchange, then you have access to quality help when your brain starts melting due to overload.

In terms of set theory, the phrase 'nothing contains everything' out of context, can be taken to mean either that the empty set contains all sets or that there is no such thing as the set of everything.

The first interpretation is ridiculous. The second is actually quite profound and has not always been believed.

Finally, there is something an old boss of mine once told me. "Nobody ever accomplished anything by reading the whole book." There is much in Halmos that you probably just don't need to know. Don't feel obliged to learn everything in the book.


I want to be able to express set notations fluently in math fields used in machine learning.

A book on set theory probably isn't the right place to be looking. Here's my advice:

  1. Start off by trying to understand "propositional logic" (aka "boolean logic".) Start by Googling terms like "introduction to propositional logic." Perhaps get yourself a good introductory book on logic. Following sylvia's advice, consider getting your hands on How To Prove It and/or similar books.

  2. Once you understand propositional logic, make it your goal to understand "first-order logic." Try googling "introduction to first-order logic" and/or similar search terms.

  3. Seriously, make sure you understand first-order logic. Being able to express one's ideas correctly using first-order logic is arguably one of the most important skills a mathematician must possess.

  4. Realize that you don't have to use set-builder notation to express yourself unambiguously. In particular, observe that the following both express the same thing.

    • $A = \{x \in X \mid \mathrm{blah}\}$.

    • $A$ is the unique subset of $X$ such that (for all $x \in X$) the following are equivalent.

      • $x \in A$

      • $\mathrm{blah}$