**Prove that the set of algebraic numbers is countable.** __Proof:__
Let A be the set of all algebraic numbers.

Let

={x E R : p(x) = 0 for some p a polynomial of degree n with integer coefficients}

∞
U

= A

n=1

Consider the n-th degree polynomial

,

E Z,

≠0

|{

:

E Z,

≠0}| = |

| = |Z| = |N|

Each such polynomial has at most n roots.

Therefore,

is countable.

A countable union of countable sets is countable, thus A is countable.

============================

1) I don't understand why |{

:

E Z,

≠0}| = |

|.

cannot be 0, so the set on the LHS is a little bit different from

. How can we formally prove that it has the same cardinality as

?

2) Assuming the above, I understand why the set of all polynomials with integer coefficients is countable, but I don't understand why the set of all "roots" to these polynomials, |

|, is also countable. I know each polynomial with degree n has at most n roots, but I don't see how it rigorously follows that the set of all "roots" are countable. How can we prove it formally?

These are the two fine points that I don't understand in this proof.

I hope someone can clarify these. Thanks for any help!

[note: also under discussion in math links forum]