What is the difference between natural numbers and positive integers?

You should be aware that some authors define $\mathbb{N}$ to include zero. This isn't of much consequence in itself since the properties of the set are preserved: there is a bijection between $\mathbb{N}$ with zero and $\mathbb{N}$ without zero, both are well-ordered, and so forth—effectively, we've done nothing but "relabel" the elements.

Only when we start adding structure to these elements does the distinction become important. For instance, if we define an addition $+: \mathbb{N} \times \mathbb{N} \to \mathbb{N}$, we might make $0$ an additive identity. Therefore, when one writes "$\mathbb{N}$" in such a scenario (most scenarios), then it should be made clear which definition is intended.

Now, if we take both to mean the set $\{1, 2, 3, \cdots\}$, then whether one writes $\mathbb{N}$ or $\mathbb{Z}^+$ is immaterial. However, using $\mathbb{Z}^+$ removes ambiguity since $\mathbb{Z}^+$ definitively does not include zero, and we would not have to go out of our way defining $\mathbb{N}$.


The positive integers are $\mathbb Z^+=\{1,2,3,\dots\}$, and it's always like that.

The natural numbers have different definitions depending on the book, sometimes the natural numbers is just the postivite integers $\mathbb N=\mathbb Z^+$, but other times the natural numbers are actually the non-negative numbers $\mathbb N=\{0,1,2,\dots\}$.

Some people also write $\mathbb N_0=\{0,1,2,\dots\},\mathbb Z^+=\{1,2,3,\dots\}$ and completely avoid $\mathbb N$ due to this ambiguity.

If you want to be completely unambigiuous, you should use the words positive integers and nonnegative integers for these sets.