Let $G$ be a finite group and define $O^p(G)$ to be the smallest normal subgroup of $G$ such that $G/O^p(G)$ is a $p$-group. I am trying to prove that if $P \in \text{Syl}_p(G)$ then $G=PO^p(G)$.
I think I have the general idea right. The cosets of $O^p(G)$ partition $G$, and since $O^p(G)$ is generated by the $p'$-elements of $G$ any coset $kO^p(G) \ne O^p(G)$ has $k$ a $p$-element that is not a product of $p'$-elements, and this $k$ is in some Sylow $p$-subgroup. However I'm having a hard time starting with a specific $P$ and showing that each coset representative can be chosen from this group. What is the best way to do this?
Since $O^p(G)$ is normal, $PO^p(G)$ is a subgroup of $G$. Since $PO^p(G)$ contains $O^p(G)$, its index in $G$ must be a power of $p$. On the other hand, it contains a Sylow $p$-subgroup of $G$, so this power of $p$ must be $1$ and $G=PO^p(G)$.