[step:Recover the skeleton of $G$ during the deletion phase]Let $H_0$ denote the complete undirected graph on $V$. During the skeleton phase, every set $S\subset V\setminus\{u,v\}$ is an admissible candidate for separating $u$ and $v$. The population PC algorithm deletes an undirected edge $\{u,v\}$ when it finds such a set with $\mathcal O(\{u\},\{v\},S)=1$, and it records one such set as $\operatorname{Sep}(u,v)$.
We first justify the adjacency characterization for DAGs. If $u$ and $v$ are adjacent in $G$, then the one-edge path between $u$ and $v$ has no interior vertex, so no conditioning set $S\subset V\setminus\{u,v\}$ blocks that path. Hence $u$ and $v$ are not d-separated by any such $S$.
Conversely, suppose $u$ and $v$ are not adjacent in $G$. Define
\begin{align*}
S:=\operatorname{An}_G(\{u,v\})\setminus\{u,v\},
\end{align*}
where $\operatorname{An}_G(\{u,v\})$ is the set of vertices with a directed path to $u$ or to $v$, with paths of length zero allowed. Then $S\subset V\setminus\{u,v\}$. Apply the [[Moralized Ancestral Graph Criterion](/theorems/9670)][citetheorem:9670] with $A=\{u\}$, $B=\{v\}$, and $Z=S$. The relevant ancestral set is $W=\operatorname{An}_G(\{u,v\}\cup S)=\{u,v\}\cup S$. In the moral graph of the induced sub-DAG on $W$, the vertices $u$ and $v$ are not adjacent: they are not adjacent in $G$ by assumption, and they cannot acquire a moral edge through a common child $w\in W$, because $u\to w\leftarrow v$ together with $w\in\operatorname{An}_G(\{u,v\})$ would create a directed cycle in $G$. After removing $S$, only $u$ and $v$ remain, with no edge between them. Thus $S$ separates $u$ and $v$ in the moralized ancestral graph, and the criterion gives that $S$ d-separates $u$ and $v$ in $G$. Therefore vertices $u,v\in V$ are adjacent in $G$ if and only if no subset $S\subset V\setminus\{u,v\}$ d-separates $u$ and $v$ in $G$.
Therefore, if $u$ and $v$ are adjacent in $G$, the oracle never returns conditional independence for any admissible conditioning set $S$, and the edge $\{u,v\}$ is never deleted. Conversely, suppose $u$ and $v$ are not adjacent in $G$. By the adjacency characterization, choose a separating set $S\subset V\setminus\{u,v\}$ such that $u$ and $v$ are d-separated by $S$ in $G$. The skeleton-deletion phase in the stated population PC procedure treats every subset of $V\setminus\{u,v\}$ as an admissible candidate and is exhaustive, so it tests an oracle-positive separating set before termination whenever one exists. By the oracle-d-separation equivalence from the previous step, $\mathcal O(\{u\},\{v\},S)=1$, so the algorithm deletes $\{u,v\}$. Hence the undirected graph left after the skeleton phase has edge set exactly the skeleton of $G$.[/step]