I am having trouble understanding what is wrong with my proof of the forward direction of this lemma.
My proof does not assume the natural embeddings involved. I specifically write them out because it helps me to understand. This may be annoying, so some background is required up front. My apologies for the length of these and for not using the cool scripting language available on this site.
BACKGROUND: Let R be a unique factorization domain, let F be the field of fractions constructed from R and let N: R --> F be the natural embedding of R in F.
N is a ring isomorphism when written as N: R --> N(R), so the inverse map M: N(R) --> R exists and is a ring isomorphism as well.
The “overload maps” N: R[x] --> N(R)[x] and M: N(R)[x] --> R[x] exist and are also ring isomorphisms.
A trivial polynomial has degree 0; a nontrivial polynomial has degree 1 or greater. A nonunit is any nonzero which is not a unit.
LEMMA: If nontrivial f is irreducible in R[x], then f is primitive, and N(f) is irreducible in F[x].
My proof of the first implication (f is primitive) is OK.
My problem is with the proof of the second implication (N(f) is irreducible in F[x]).
Assume for contradiction N(f) is not irreducible in F[x]. Under the assumption, N(f) = gh where g and h are nonunits of F[x]. But any trivial polynomial of F[x] is a unit since F is a field, so g and h must be nontrivial polynomials of F[x]. This means the degrees of g and h must be at least 1.
Neither N nor M are going to alter the degree of g or h, so
f = M(N(f)) = M(gh) = M(g)M(h)
where M(g) and M(h) are nontrivial polynomials of R[x]. But then M(g) and M(h) are nonunits of R[x] and f cannot be irreducible in R[x]. The contradiction is avoided only if N(f) is irreducible in F[x].
Here I do not rely on primitive polynomials at all, yet the text proofs always require writing g and h as g = cp and h = dq where c and d are units of F and p and q are primitive. These text proofs also always assume the natural embeddings involved – so p would be N(p) and q would N(q) in my notation if I referenced them . . . which I do not.
What am I missing?