[
[
['5','add','hl'],
['6','add','hl'],
['96','add','hl'],
['23','remove','slide-up'],
['10','add','slide-down']
],
[
['97','add','hl'],
['97','remove','slide-left'],
['98-slide','remove','slide-left'],
['3','add','hidden'],
['5','remove','hl'],
['5','add','hidden'],
['6','remove','hl'],
['6','add','hidden'],
['96','remove','hl'],
['96','add','slide-right']
],
[
['97','remove','hl']
],
[
['98-flip','add','flipped'],
['36','remove','slide-up'],
['23','add','slide-down']
],
[
['99','add','hl'],
['44','remove','slide-up'],
['36','add','slide-down']
],
[
['100','add','hl'],
['100','remove','slide-right'],
['99','remove','hl'],
['99','add','slide-left'],
['98-slide','add','slide-left']
],
[
['100','remove','hl'],
['101','add','hl'],
['53','remove','slide-up'],
['44','add','slide-down']
],
[
['102','add','hl'],
['102','remove','slide-left'],
['50','add','hl'],
['50','remove','hidden'],
['101','remove','hl'],
['101','add','slide-right']
],
[
['102','remove','hl'],
['50','remove','hl'],
['50','add','hl'],
['104','add','hl'],
['66','remove','slide-up'],
['53','add','slide-down']
],
[
['105','add','hl'],
['105','remove','slide-left'],
['98-slide','remove','slide-left'],
['98-flip','remove','flipped'],
['50','remove','hl'],
['50','add','hidden'],
['104','remove','hl'],
['104','add','slide-right']
],
[
['105','remove','hl']
],
[
['98-flip','add','flipped'],
['66','add','slide-down']
],
[
['106','add','hl']
],
[
['107','add','hl'],
['107','remove','slide-right'],
['106','remove','hl'],
['106','add','slide-left'],
['98-slide','add','slide-left']
],
[
['107','remove','hl'],
['7','add','hl'],
['8','add','hl'],
['109','add','hl'],
['93','remove','slide-up']
],
[
['89','remove','hidden'],
['101','add','hl'],
['101','remove','slide-right'],
['99','add','hl'],
['99','remove','slide-left'],
['96','add','hl'],
['96','remove','slide-right'],
['106','add','hl'],
['106','remove','slide-left'],
['104','add','hl'],
['104','remove','slide-right'],
['91','add','hl'],
['91','remove','hidden'],
['110','add','hl'],
['110','remove','slide-left'],
['7','remove','hl'],
['7','add','hidden'],
['8','remove','hl'],
['8','add','hidden'],
['109','remove','hl'],
['109','add','slide-right']
],
[
['101','remove','hl'],
['99','remove','hl'],
['96','remove','hl'],
['106','remove','hl'],
['104','remove','hl'],
['91','remove','hl'],
['110','remove','hl']
]
]
The starting point is $\lib{prg-real}^H$.
Factor out everything to do with $\seed$ into a new scope. This makes an instance of $\lib{prg-real}^G$ appear and has no effect on the adversary (calling program).
Since $G$ is a secure PRG, replacing $\lib{prg-real}^G$ with $\lib{prg-rand}^G$ has only negligible effect on the adversary (calling program).
The call to $\prgsamp_G$ can be inlined, causing no effect on the adversary (calling program).
Uniformly sampling $2\secpar$ bits is the same as uniformly (and independently) sampling its two halves.
We can repeat a similar sequence of steps, now focusing on the call to $G(B)$.
Concatenating $\secpar$ uniformly sampled bits with $2\secpar$ independent, uniformly sampled bits is the same as sampling $3\secpar$ uniform bits. The result of this change is the $\lib{prg-rand}^H$ library, which completes the proof.
$\lib{prg-real}^H$
$\lib{prg-rand}^H$
$\seed \gets \bits^\secpar$
$A $
$\| B $
${}:= {}$
$G(\seed)$
$\prgsamp_G()$
${}\gets \bits^{2\secpar}$
${}\gets \bits^\secpar$
$B \gets \bits^\secpar$
$C \| D $
${}\gets \bits^{2\secpar}$
$Y \gets \bits^{3\secpar}$
$\link$
$\lib{prg-real}^G$
$\seed \gets \bits^\secpar$
return $G(\seed)$
$\lib{prg-rand}^G$
$Y \gets \bits^{2\secpar}$
return $Y$