Now would be a good time to take a short break from number theory blogging. The next topic in algebraic number theory, Dirichlet’s theorem, is important theoretically, but doesn’t have the same impact on elementary questions that ideal theory and the class group do, at least not at this stage.

Instead, I’ll answer two questions people found me by Googling: *“Z[x]” not “principal ideal domain” proof*, and *euclidean domain polynomial proof*.

The most general form of the first proof is that if R is a ring that isn’t a field, then R[*x*], the ring of polynomials with coefficients in R, is not a PID. To see why, first note that unless R is an integral domain, R[*x*] won’t be an integral domain. Now, if R is an integral domain that isn’t a field, let *r* be an element in R that is neither 0 nor a unit.

The textbook proof considers the ideal (*x*, *r*). If R is a PID, then it has a single generator *s*. But if *s* is in R, then it can only generate *x* if *x*/*s* is in R[*x*], i.e. 1/*s* is in R, i.e. *s* is a unit. But then (*x*, *r*) contains 1, which is impossible since *f***x* + *g***r* = 1 <–> *g*0**r* = 1, where *g*0 is the constant of *g* <–> *r* is a unit. If *s* is not in R, then it’s a polynomial of degree at least 1, so it can’t generate *r* because polynomial rings over integral domains satisfy the equation deg(*fg*) = deg(*f*) + deg(*g*).

A stronger and more number theoretic proof is that the ideal (*x*) is prime but not maximal. This is because R[*x*]/(*x*) = R is an integral domain but not a field. Then R[*x*] is not a Dedekind domain, so it can’t be a PID.

The second proof is that if K is a field, then K[*x*] is a Euclidean domain. This is true by letting the Euclidean function *v* be the degree of the polynomial. The condition *v*(*a*) <= *v*(*ab*) is obvious since deg(*f*) >= 0 for all *f* in K[*x*]. The second condition, that given *a* and *b* we can find *q* with *v*(*a*–*bq*) < *v*(*b*) or *a* = *bq*, is slightly more involved.

If deg(*a*) < deg(*b*), there’s nothing to prove. So we’ll assume *n* = deg(*a*) >= deg(*b*) = *m* and construct *q* in steps. We want *a*–*bq* to have zero coefficients of terms higher than *x*^(*m*-1), so let’s start with *n*. If *q*(*n*–*m*) = *a*(*n*)/*b*(*m*), then *a*–*bq* will have leading coefficient 0. The *x*^(*n*-1) coefficient of *a*–*bq* will be *a*(*n*-1) – *b*(*m*-1)*q*(*n*–*m*) – *b*(*m*)*q*(*n*–*m*-1), so let *q*(*n*–*m*-1) = (*a*(*n*-1) – *b*(*m*-1)*q*(*n*–*m*))/*b*(*m*), killing off the *x*^(*n*-1) coefficient. Similarly we can define *q*(*n*–*m*-2), *q*(*n*–*m*-3), …, *q*0 = *q*(*n*–*m*-(*n*–*m*)), killing off the coefficients of *x*^(*n*-2), …, *x*^(*n*-(*n*–*m*)) = *x*^*m*. So deg(*a*–*bq*) <= *m*-1 < deg(*b*).

That only works over a field, because we need to divide by *b*(*m*) at each stage. Since deg(*b*) = *m* it’s guaranteed to be nonzero and therefore a unit. If R is only an integral domain, we can’t always divide. For example, in **Z**[*x*], if *a* = *x*^2 and *b* = 2*x*, then for every *q* of degree at most 2-1 = 1, (*a*–*bq*)(2) = *a*2 – *b*1*q*1 = 1 – 2*q*1 which is never 0.