I'm studying some applications of the LLL algorithm, concretely its application to compute the factorization of an integer polynomial and I don't understand one step in a book ([1, page 478]).
I will try to summarize the context and previous facts:
Let $f$ be a squarefree primitive polynomial $f$ of degree $n>0$. Let $p$ be a prime number such that $f$ is square free in $\mathbb{Z}_p[x]$ and the leading coefficient of $f$ is coprime with $p$. Let $u$ be a monic and irreducible polynomial (in $\mathbb{Z}_p[x]$) that divides $f$ modulo $p$. Let $d$ be the degree of $u$ and $d < j \le n$ and $l>0$. Let $g \in \mathbb{Z}[x]$ be the irreducible factor of $f$ that $u$ divides modulo $p$. Let $g^*$ be a "short" vector (computed by means of the LLL algorithm) in the lattice $L \subseteq \mathbb{Z}^j$ generated by (the coefficient vectors of) $$\{ux^i: 0\le i < j - d\} \cup \{p^lx^i: 0 \le i < d\}$$ and denote the corresponding polynomial also by $g^*$.
Essentially the book states that: since degree $g^* < j$, if $j \le$ degree $g$, then the primitive part of $g^*$ does not divide $f$.
It seems to be obvious, but I don't see why it holds.
I see that the result could be proved if $u$ divides the primitive part of $g^*$ (modulo $p$), but I can only show that $u$ divides $g^*$ modulo $p$. Moreover, if the content of $g^*$ were coprime with $p$, then we would also have the desired result.
Any help, hint or explanation would be really appreciated.
[1] Modern Computer Algebra. Joachim von zur Gathen and Jürgen Gerhard. Cambridge University Press. 2003.