We recently learned about codes over $\mathbb{Z}_4$, and Hensel's Lemma. The lemma is as follows:
Let $f(x) \in \mathbb{Z}_4[x]$. Suppose $\mu(f(x)) = h_1(x)h_2(x) \cdots h_k(x)$, where $h_1(x), h_2(x), \ldots , h_k(x)$ are pairwise coprime polynomials in $\mathbb{F}_2[x]$. Then, there exist $g_1(x),g_2(x), \ldots , g_k(x)$ in $\mathbb{Z}_4[x]$ such that:
(i) $\mu(g_i(x)) = h_i(x)$ for $1 \leq i \leq k$,
(ii) $g_1(x), g_2(x), \ldots , g_k(x)$ are pairwise coprime, and
(iii) $f(x) = g_1(x)g_2(x) \cdots g_k(x)$.
The map $\mu: \mathbb{Z}_4[x] \rightarrow \mathbb{F}_2[x]$ is defined by $\mu(f(x)) = f(x)(\mbox{mod } 2)$. It is also known at the reduction homomorphism.
I am interested in trying to factor $x^7 + 2x^6 + 2x^4 + 2x + 3$ as a product of basic irreducible polynomials in $\mathbb{Z}_4[x]$. I'm trying to follow the proof of this theorem, which can be found in Fundamentals of Error Correcting Codes by Huffman and Pless, on page 477.
So far, I figured out that $\mu(f(x)) = x^7 + 1$, which can be factored into: $$(x + 1)(x^3 + x^2 + 1)(x^3 + x + 1).$$ Now, I know these are pairwise coprime in $\mathbb{F}_2[x]$, but I am having trouble finding the pairwise coprime polynomials $g_1(x), g_2(x),$ and $g_3(x)$ such that $f(x) = g_1(x)g_2(x)g_3(x)$ and $\mu(g_i(x)) = h_i(x)$ for $i=1,2,3$.
I've been messing around with this, but I can't get anywhere. Any help would be greatly appreciated.
EDIT
After messing around with various combinations of $x+1$, $x^3 + 2x^2 + x + 1$, and $x^3 + x^2 + 2x + 1$ on WolframAlpha, I somehow stumbled across a combination in $Z_4[x]$ that works, but I'm not sure how to figure it out using a more concrete method.
$$g_1(x) = x+1,$$ $$g_2(x) = x^3 + 3 x^2 - 1,$$ $$g_3(x) = x^3 - 2x^2 + x + 1.$$
These are pairwise coprime
$\mu(g_1(x)) = x+1$, $\mu(g_2(x)) = x^3 + x^2 + 1$, $\mu(g_3(x)) = x^3 + x + 1$
$g_1(x)g_2(x)g_3(x) = x^7+2 x^6-4 x^5-2 x^4+8 x^3+4 x^2-2 x-1 = x^7 + 2x^6 + 2x^4 + 2x + 3 = f(x)$.
Well, lifting the linear factor is easy, because the lift of $h_1(x)=x+1$ can only be either $x+1$ or $x+3=x-1$. We observe that $f(-1)\equiv0\pmod4$, so let's use $x+1$. The other factor we get by long division (the usual division algorithm by a monic polynomial works also in $\mathbb{Z}_4[x]$), and after this step we have $$ f(x)=(x+1)(x^6+x^5-x^4-x^3+x^2-x-1). $$
Then we need to lift the factors $h_2(x)=x^3+x+1$ and $h_3(x)=x^3+x^2+1$. We can always select the lifts to be monic, so we must have $$ g_2(x)=h_2(x)+2r_2(x),\qquad g_3(x)=h_3(x)+2r_3(x), $$ with $r_2(x)$ and $r_3(x)$ at most quadratic. Here I am slightly abusing the notation, as I "identify" the elements $0,1\in\mathbb{Z}_2$ with $0,1\in\mathbb{Z}_4$, and similarly identify polynomials of $\mathbb{Z}_2[x]$ with their counterparts in $\mathbb{Z}_4[x]$.
Anyway, when we view $h_2(x)$ and $h_3(x)$ as polynomials in $\mathbb{Z}_4[x]$, their product is (note: $3\equiv-1\pmod4$) $$ h_2(x)h_3(x)=x^6+x^5+x^4-x^3+x^2+x+1. $$
We want $g_2(x)g_3(x)$ to be equal to the sextic factor $\tilde{f}(x)=x^6+x^5-x^4-x^3+x^2-x-1$ from the above factorization of $f(x)$. As $(2r_2(x))(2r_3(x))\equiv 0\pmod4$, we get the following constraint on the polynomials $r_2$ and $r_3$: $$ \tilde{f}(x)=g_2(x)g_3(x)=h_2(x)h_3(x)+2r_2(x)h_3(x)+2r_3(x)h_2(x). $$ We know both $\tilde{f}(x)$ and $h_2(x)h_3(x)$, so the remaining equation is $$ \tilde{f}(x)-h_2(x)h_3(x)=2x^4+2x+2=2r_3(x)h_2(x)+2r_2h_3(x). $$ Dividing this by two allows us to rewrite it as an equation in the ring $\mathbb{Z}_2[x]$: $$ x^4+x+1=r_3(x)(x^3+x+1)+r_2(x)(x^3+x^2+1). $$ At this point all the good properties of $\mathbb{Z}_2[x]$ kick in. Most notably it is a Euclidean domain. As $\gcd(x^3+x+1,x^3+x^2+1)=1$, we can write the constant polynomial $1$ as their linear combination (Bezout's identity). A run of Euclid's algorithm (or tinkering) shows that we have $$ x h_2(x)+(x+1)h_3(x)=1. $$ Multiplying this by $x^4+x+1$ gives $$ (x^5+x^2+x)h_2(x)+(x^5+x^4+x^2+1)h_3(x)=x^4+x+1.\qquad(*) $$ We want those multipliers to be at most quadratic, so we need to do something about that. The usual trick is that we can add the same multiple of $h_2(x)h_3(x)$ to both terms (characteristic two now!). That first multiplier $x^5+x^2+x$ is equal to $$ x^5+x^2+x=x^2 h_3(x)+x^4+x=(x^2+x)h_3(x)+x^3=(x^2+x+1)h_3(x)+(x^2+1), $$ so we subtract the polynomial $q(x)=(x^2+x+1)h_2(x)h_3(x)$ from both terms of the l.h.s. of $(*)$. As $(x^2+x+1)h_2(x)=x^5+x^4+1$, we have $q(x)=(x^5+x^4+1)h_3(x)$. Hence equation $(*)$ can be rewritten as $$ (x^2+1)h_2(x)+x^2h_3(x)=x^4+x+1, $$ which we can also verify directly. Finally we can see that $r_3(x)=x^2+1$ and $r_2(x)=x^2$ will work. Thus $$ g_2(x)=h_2(x)+2r_2(x)=x^3+2x^2+x+1 $$ and $$ g_3(x)=h_3(x)+2r_3(x)=x^3+3x^2+3=x^3-x^2-1. $$ At this point I encourage you to check that we have $$ g_2(x)g_3(x)=\tilde{f}(x) $$ in the ring $\mathbb{Z}_4[x]$ as required. (I did it, so you have to, too!)
The final factorization is thus $$ f(x)=(x+1)(x^3+2x^2+x+1)(x^3-x^2-1). $$
Above I somewhat wantonly jumped from $\mathbb{Z}_4$ to $\mathbb{Z}_2$ and back. You need to keep track of the changes for everything to make sense!