[guided]Let $A \subset \mathbb P$ be uncountable. For each condition $p \in A$, define the finite set
\begin{align*}
S_p := \operatorname{supp}(p) \subset I.
\end{align*}
The goal of this step is to thin the uncountable family $(S_p)_{p \in A}$ until all pairwise intersections are the same finite set. This is the point where the finiteness of supports is used.
We prove the finite delta-system extraction needed here. Let $J$ be an uncountable set, and let $S:J \to [I]^{<\omega}$ be a map. We show that there are an uncountable subset $J_0 \subset J$ and a finite set $r \subset I$ such that
\begin{align*}
S(j) \cap S(k)=r
\end{align*}
for all distinct $j,k \in J_0$.
For each $n \in \mathbb N \cup \{0\}$, define
\begin{align*}
J_n := \{j \in J : |S(j)|=n\}.
\end{align*}
The sets $J_n$ form a countable partition of $J$. If every $J_n$ were countable, then for each $n$ choose an injection $e_n:J_n \to \mathbb N$. Define $e:J \to (\mathbb N \cup \{0\}) \times \mathbb N$ by sending $j \in J_n$ to $(n,e_n(j))$. This is injective because the first coordinate records the unique part $J_n$ containing $j$, and the second coordinate separates points inside that part. Since $(\mathbb N \cup \{0\}) \times \mathbb N$ is countable, this would make $J$ countable. Since $J$ is uncountable, at least one set $J_n$ is uncountable. Replacing $J$ by that uncountable set $J_n$, we may assume that every set $S(j)$ has the same finite cardinality $n$.
We now prove the assertion by induction on $n$. If $n=0$, then $S(j)=\varnothing$ for every $j \in J$, so taking $J_0=J$ and $r=\varnothing$ gives
\begin{align*}
S(j) \cap S(k)=\varnothing=r
\end{align*}
for all distinct $j,k \in J_0$.
Assume $n \geq 1$ and suppose the assertion has already been proved for uncountable families of sets of cardinality $n-1$. For each $i \in I$, define
\begin{align*}
J(i):=\{j \in J : i \in S(j)\}.
\end{align*}
First suppose that there is $i_0 \in I$ such that $J(i_0)$ is uncountable. Define the map $T:J(i_0) \to [I]^{<\omega}$ by
\begin{align*}
T(j):=S(j)\setminus \{i_0\}.
\end{align*}
Because $i_0 \in S(j)$ for every $j \in J(i_0)$ and $|S(j)|=n$, every set $T(j)$ has cardinality $n-1$. The induction hypothesis applied to $T$ gives an uncountable subset $J_0 \subset J(i_0)$ and a finite set $r_0 \subset I$ such that
\begin{align*}
T(j) \cap T(k)=r_0
\end{align*}
for all distinct $j,k \in J_0$. Since $i_0$ belongs to both $S(j)$ and $S(k)$ for $j,k \in J_0$, and since $T(j)$ and $T(k)$ are obtained by deleting $i_0$, we obtain
\begin{align*}
S(j) \cap S(k)=r_0 \cup \{i_0\}
\end{align*}
for all distinct $j,k \in J_0$. Thus the desired conclusion holds in this case with $r=r_0 \cup \{i_0\}$.
It remains to handle the case in which $J(i)$ is countable for every $i \in I$. We need a maximal pairwise disjoint subfamily, and we construct it directly. Well-order $J$. Proceed through this well-order and build a subset $\mathcal M \subset J$ by the following rule: when the construction reaches $j \in J$, put $j$ into $\mathcal M$ exactly when $S(j)$ is disjoint from $S(k)$ for every previously chosen $k \in \mathcal M$. The family $\{S(j):j \in \mathcal M\}$ is pairwise disjoint by construction. It is also maximal for pairwise disjointness: if $j \notin \mathcal M$, then when $j$ was considered, some already chosen $k \in \mathcal M$ satisfied $S(j) \cap S(k) \neq \varnothing$, so adding $j$ later would break pairwise disjointness.
If $\mathcal M$ were countable, then the set
\begin{align*}
U:=\bigcup_{j \in \mathcal M} S(j)
\end{align*}
would be countable, because it is a countable union of finite sets. For each $i \in U$, the set $J(i)$ is countable by the present case assumption. Therefore
\begin{align*}
\{j \in J : S(j) \cap U \neq \varnothing\}=\bigcup_{i \in U} J(i)
\end{align*}
would be countable as a [countable union of countable sets](/theorems/755). However, maximality of $\mathcal M$ implies that every $j \in J$ satisfies $S(j) \cap U \neq \varnothing$: if some $j \in J$ had $S(j) \cap U=\varnothing$, then $S(j)$ would be disjoint from every $S(k)$ with $k \in \mathcal M$, so $\mathcal M \cup \{j\}$ would contradict maximality. Hence $J$ would be countable, contradicting the hypothesis that $J$ is uncountable. Thus $\mathcal M$ is uncountable.
Taking $J_0=\mathcal M$, the sets $\{S(j):j \in J_0\}$ are pairwise disjoint, so
\begin{align*}
S(j) \cap S(k)=\varnothing
\end{align*}
for all distinct $j,k \in J_0$. The desired conclusion holds with $r=\varnothing$. This completes the proof of the finite delta-system extraction.
We now apply this extraction to the forcing conditions. Use $J=A$ and define
\begin{align*}
S:A \to [I]^{<\omega}
\end{align*}
by
\begin{align*}
S(p):=\operatorname{supp}(p).
\end{align*}
The result just proved gives an uncountable set $B \subset A$ and a finite set $r \subset I$ such that
\begin{align*}
S(p) \cap S(q)=r
\end{align*}
whenever $p,q \in B$ are distinct. Substituting the definition of $S(p)$, this becomes
\begin{align*}
\operatorname{supp}(p) \cap \operatorname{supp}(q)=r
\end{align*}
for all distinct $p,q \in B$.
This is the exact form needed for the compatibility hypothesis later: the supports of any two distinct conditions in $B$ intersect in the same finite root $r$. Since $B$ is uncountable, for each fixed $p \in B$ we may choose $q \in B$ with $q \neq p$. The equality
\begin{align*}
\operatorname{supp}(p) \cap \operatorname{supp}(q)=r
\end{align*}
then implies $r \subset \operatorname{supp}(p)$. Therefore the root datum $p|_r$ is defined for every $p \in B$, which is what the next thinning step requires.[/guided]