[proofplan]
We compare two descriptions of the same topology: the subbasis description using coordinate projection preimages, and the finite-support rectangle description. First we verify that the finite-support rectangles form a basis on $X$. Then we show that every such rectangle is a finite intersection of projection subbasic sets, and conversely every finite intersection of projection subbasic sets is a finite-support rectangle. Since a topology generated by a subbasis has as a basis the finite intersections of subbasic sets, the two generated topologies coincide.
[/proofplan]
[step:Verify that finite-support rectangles form a basis on $X$]
Define $\mathcal{B}$ as in the statement. We verify the basis axioms.
First, $\mathcal{B}$ covers $X$. Indeed, taking $U_i = X_i$ for every $i \in I$ gives
\begin{align*}
\prod_{i \in I} U_i = \prod_{i \in I} X_i = X,
\end{align*}
and this product belongs to $\mathcal{B}$ because no coordinate is restricted.
Second, let $B,C \in \mathcal{B}$ and let $x \in B \cap C$. Choose families $(U_i)_{i \in I}$ and $(V_i)_{i \in I}$ such that
\begin{align*}
B = \prod_{i \in I} U_i
\end{align*}
and
\begin{align*}
C = \prod_{i \in I} V_i,
\end{align*}
where $U_i,V_i \in \tau_i$ for all $i \in I$, and each family differs from the full space only on finitely many indices. Define a family $(W_i)_{i \in I}$ by
\begin{align*}
W_i = U_i \cap V_i.
\end{align*}
Since each $\tau_i$ is a topology, $W_i \in \tau_i$ for every $i \in I$. The set of indices for which $W_i \neq X_i$ is contained in the union of the finite sets $\{i \in I : U_i \neq X_i\}$ and $\{i \in I : V_i \neq X_i\}$, so it is finite. Hence
\begin{align*}
D = \prod_{i \in I} W_i
\end{align*}
belongs to $\mathcal{B}$. Moreover $x \in D$ and $D \subset B \cap C$. Thus $\mathcal{B}$ is a basis for a topology on $X$.
[/step]
[step:Express every finite-support rectangle as a finite intersection of projection preimages]
Let $B \in \mathcal{B}$. Choose a family $(U_i)_{i \in I}$ such that
\begin{align*}
B = \prod_{i \in I} U_i,
\end{align*}
where $U_i \in \tau_i$ for every $i \in I$ and $U_i = X_i$ for all but finitely many $i \in I$. Define the finite set of restricted coordinates
\begin{align*}
F = \{i \in I : U_i \neq X_i\}.
\end{align*}
For each $j \in I$, the coordinate projection is the map
\begin{align*}
\pi_j: X &\to X_j.
\end{align*}
By the definition of the projection subbasis, $\pi_j^{-1}(U_j) \in \mathcal{S}$ for every $j \in F$. We claim that
\begin{align*}
B = \bigcap_{j \in F} \pi_j^{-1}(U_j).
\end{align*}
Indeed, for $x = (x_i)_{i \in I} \in X$, membership in $B$ means $x_i \in U_i$ for every $i \in I$. Since $U_i = X_i$ for $i \notin F$, this is equivalent to requiring $x_j \in U_j$ for every $j \in F$. That condition is exactly $x \in \pi_j^{-1}(U_j)$ for every $j \in F$. Therefore $B$ is a finite intersection of subbasic elements, and hence $B \in \tau_{\mathrm{prod}}$.
[guided]
We want to connect the rectangle description with the projection description. Let
\begin{align*}
B = \prod_{i \in I} U_i
\end{align*}
be an element of $\mathcal{B}$. By definition of $\mathcal{B}$, each $U_i$ is open in $X_i$, and only finitely many of the factors are proper restrictions. We record exactly which coordinates are restricted by defining
\begin{align*}
F = \{i \in I : U_i \neq X_i\}.
\end{align*}
This set is finite by hypothesis.
For each $j \in I$, the coordinate projection is the map
\begin{align*}
\pi_j: X &\to X_j.
\end{align*}
The projection preimage $\pi_j^{-1}(U_j)$ consists of precisely those points of the product whose $j$-th coordinate lies in $U_j$. Since $U_j \in \tau_j$, each $\pi_j^{-1}(U_j)$ with $j \in F$ is one of the subbasic open sets used to define the [product topology](/page/Product%20Topology).
Now take a point $x = (x_i)_{i \in I} \in X$. The statement $x \in B$ means
\begin{align*}
x_i \in U_i \text{ for every } i \in I.
\end{align*}
For coordinates outside $F$, this imposes no condition, because $U_i = X_i$. Therefore the same membership condition is equivalent to
\begin{align*}
x_j \in U_j \text{ for every } j \in F.
\end{align*}
But $x_j \in U_j$ is exactly the condition $x \in \pi_j^{-1}(U_j)$. Hence
\begin{align*}
x \in B \iff x \in \bigcap_{j \in F} \pi_j^{-1}(U_j).
\end{align*}
Since this holds for every $x \in X$, we have
\begin{align*}
B = \bigcap_{j \in F} \pi_j^{-1}(U_j).
\end{align*}
Thus every finite-support rectangle is a finite intersection of projection-subbasic open sets, so every element of $\mathcal{B}$ is open in the product topology.
[/guided]
[/step]
[step:Rewrite every finite intersection of projection preimages as a finite-support rectangle]
Let $S$ be a finite intersection of elements of $\mathcal{S}$. Then there are an integer $m \geq 0$, indices $j_1,\dots,j_m \in I$, and open sets $V_k \in \tau_{j_k}$ for $1 \leq k \leq m$ such that
\begin{align*}
S = \bigcap_{k=1}^{m} \pi_{j_k}^{-1}(V_k).
\end{align*}
For each $i \in I$, define
\begin{align*}
U_i = \bigcap_{\{k \in \{1,\dots,m\} : j_k = i\}} V_k,
\end{align*}
with the convention that the intersection over the empty indexing set is $X_i$. Because each $\tau_i$ is closed under finite intersections and contains $X_i$, we have $U_i \in \tau_i$ for every $i \in I$. Also $U_i = X_i$ unless $i$ lies in the finite set $\{j_1,\dots,j_m\}$.
For $x = (x_i)_{i \in I} \in X$, we have $x \in S$ if and only if $x_{j_k} \in V_k$ for every $k \in \{1,\dots,m\}$. Grouping these conditions by coordinate gives $x_i \in U_i$ for every $i \in I$. Therefore
\begin{align*}
S = \prod_{i \in I} U_i,
\end{align*}
and hence $S \in \mathcal{B}$.
[/step]
[step:Conclude that the two generated topologies are equal]
Let $\tau_{\mathcal{B}}$ denote the topology generated by the basis $\mathcal{B}$. From the second step, every $B \in \mathcal{B}$ is a finite intersection of elements of $\mathcal{S}$, so $\mathcal{B} \subset \tau_{\mathrm{prod}}$. Hence $\tau_{\mathcal{B}} \subset \tau_{\mathrm{prod}}$.
Conversely, the third step shows that every finite intersection of elements of $\mathcal{S}$ belongs to $\mathcal{B}$. Since the topology generated by a subbasis is generated by arbitrary unions of finite intersections of subbasic sets, every [open set](/page/Open%20Set) in $\tau_{\mathrm{prod}}$ is a union of elements of $\mathcal{B}$. Thus $\tau_{\mathrm{prod}} \subset \tau_{\mathcal{B}}$.
Combining the two inclusions gives
\begin{align*}
\tau_{\mathrm{prod}} = \tau_{\mathcal{B}}.
\end{align*}
Therefore the product topology on $X$ is exactly the topology generated by the finite-support rectangles, and $\mathcal{B}$ is a basis for the product topology.
[/step]