[step:Compute the projection of a basic open cylinder]Assume now that $X_j \ne \varnothing$ for every $j \in I$. Fix $i \in I$. Let $B \subset X$ be a basic open set for the product topology. Thus there is a finite subset $F \subset I$ and, for each $j \in F$, an open set $U_j \in \tau_j$ such that
\begin{align*}
B = \{(x_j)_{j \in I} \in X : x_j \in U_j \text{ for every } j \in F\}.
\end{align*}
For coordinates $j \notin F$, the set $B$ imposes no restriction.
If $B = \varnothing$, then $\pi_i(B) = \varnothing$, which is open in $X_i$. Suppose instead that $B \ne \varnothing$.
If $i \in F$, then
\begin{align*}
\pi_i(B) = U_i.
\end{align*}
Indeed, the inclusion $\pi_i(B) \subset U_i$ follows from the defining restriction of $B$. Conversely, let $y_i \in U_i$. Since $B \ne \varnothing$, choose one point $a = (a_j)_{j \in I} \in B$. Define $x = (x_j)_{j \in I} \in X$ by setting $x_i = y_i$ and $x_j = a_j$ for every $j \ne i$. For every $j \in F$, we have $x_j \in U_j$: this is true for $j=i$ by the choice of $y_i$, and for $j \ne i$ because $a \in B$. Hence $x \in B$, and $\pi_i(x)=y_i$. Therefore $U_i \subset \pi_i(B)$.
If $i \notin F$, then
\begin{align*}
\pi_i(B) = X_i.
\end{align*}
The inclusion $\pi_i(B) \subset X_i$ is immediate from the codomain of $\pi_i$. Conversely, let $y_i \in X_i$. Choose $a = (a_j)_{j \in I} \in B$, which is possible because $B \ne \varnothing$. Define $x = (x_j)_{j \in I} \in X$ by setting $x_i = y_i$ and $x_j = a_j$ for every $j \ne i$. Since $i \notin F$, the coordinate $i$ is unrestricted in the definition of $B$, while all coordinates in $F$ still agree with $a$. Thus $x \in B$ and $\pi_i(x)=y_i$, so $X_i \subset \pi_i(B)$.
In all cases, $\pi_i(B)$ is open in $X_i$, because it is either $\varnothing$, an open set $U_i \in \tau_i$, or the whole space $X_i$.[/step]