Sans perte de généralité, on peut supposer P unitaire.
Montrons dans un premier temps que toute racine réelle de P est de multiplicité paire.
En effet, si μ est une racine réelle de P et si mμ désigne sa multiplicité, alors, au voisinage de μ,
P(X)=(X−μ)mμR(X),
où R(μ)=0.
Si mμ est impair, alors (X−μ)mμ change de signe en μ. Comme R ne s’annule pas en μ, il garde un signe constant au voisinage de μ. Ainsi, P change de signe au voisinage de μ, ce qui est absurde puisque
P≥0.
Toutes les racines réelles de P sont donc de multiplicité paire.
On factorise désormais P sous la forme suivante, avec μ1,…,μp∈R et λ1,…,λn∈C∖R :
P=(X−μ1)2kμ1⋯(X−μp)2kμp(X−λ1)(X−λ1)⋯(X−λn)(X−λn)=(X−μ1)kμ1⋯(X−μp)kμp(X−λ1)⋯(X−λn)×(X−μ1)kμ1⋯(X−μp)kμp(X−λ1)⋯(X−λn).
Ainsi, en posant
Q=(X−μ1)kμ1⋯(X−μp)kμp(X−λ1)⋯(X−λn),
on a
P=QQ.
En écrivant
Q=A+iB,
où A,B∈R[X], on obtient
P=(A+iB)(A−iB)=A2+B2.
Ainsi, il existe A,B∈R[X] tels que
P=A2+B2.