Consider a function $G:\{0,1\}^*\to\{0,1\}^*$ with output size double it's input size, that is $\forall x\in\{0,1\}^n,\ |G(x)|=\ell(n)=2n$. Assume $G$ is a PRG in the sense of Jonathan Katz and Yehuda Lindell's Introduction to Modern Cryptography (3rd edition); that is meeting the Pseudorandomness criteria:
For any PPT Algorithm $D$, there is a negligible function $\mathsf{negl}$ such that
$$\bigl|\Pr[D(G(s))=1]-\Pr[D(r)=1]\bigr|\le\mathsf{negl}(n)$$
where the first probability is taken over uniform choice of $s\in\{0,1\}^n$ and the randomness of $D$, and the second probability is taken over uniform choice of $r\in\{0,1\}^{\ell(n)}$ and the randomness of $D$.
Now define $G':\{0,1\}^*\to\{0,1\}^*$ by $G'(x)=G(x)_{[0,n)}\mathbin\|G(G(x)_{[n,2n)})$, where $y_{[u,v)}$ is the substring of bitstring $y$ starting at bit $u$ and ending before bit $v$. Otherwise said, $G'$ runs $G$, then replaces the second half of it's output by the output of a second run of $G$ with input said second half. If follows $\forall x\in\{0,1\}^n,\ |G'(x)|=\ell'(n)=3n$.
Can It be proven that $G'$ is a PRG, and how?
Intuitively, that holds for PRGs used in practice. Perhaps the proof is by contraposition, constructing $D$ to break $G$ from hypothetical $D'$ that breaks $G'$, and from $G$, as $D(y)=D'(y_{[0,n)}\|G(y_{[n,2n)})$ where $n=|y|/2$. But the probability computation bugs me.
Inspired by this more complex question.