Alphabeta Math
TheoremStatement: Literature-sourcedProof: AI-adaptedPipeline-generated
How statement and proof provenance work

The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.

  • Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
  • AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
  • AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.

These labels describe origin, not correctness: citations and verification chips remain separate evidence.

The PC algorithm recovers the oracle CPDAG

Statement

Assume AC and the causally sufficient perfect-oracle discovery regime for a finite observed DAG G and its full-joint law. The population PC algorithm with any fixed vertex order terminates and returns exactly the skeleton of G and records a d-separating set for every deleted pair. At its collider-orientation stage it orients exactly the unshielded colliders of G; after R1–R3 closure it returns the CPDAG for the Markov-equivalence class of G.

Facts & Assumptions

Given: AC, a finite observed DAG and law in the discovery regime, and a fixed-order perfect conditional-independence oracle.

[F1]

The discovery regime supplies a finite observed DAG, full-joint parent-kernel factorization, faithfulness, and the exact conditional-independence oracle; AC is assumed. Causally sufficient perfect-oracle discovery regime

[F2]

Under AC, a finite topological probability-kernel factorization implies the global Markov property: d-separation implies conditional independence. DAG factorization implies the global Markov property

[F3]

Faithfulness gives the converse: conditional independence implies d-separation. Faithfulness of a law to a DAG

[F4]

A pair is adjacent in a finite DAG exactly when no conditioning set d-separates it. DAG adjacency is equivalent to having no separating set

[F5]

A separating set for an unshielded triple's endpoints omits the middle vertex exactly when that triple is a collider. A separating set identifies an unshielded collider

[F6]

The population PC algorithm searches levels in order, stores the first separating set, then orients unshielded colliders and closes under R1–R3. Population PC causal-discovery algorithm

[F7]

The initialized collider pattern closed under R1–R3 is the CPDAG of the DAG's Markov-equivalence class. The background-free Meek rules complete a CPDAG

[F8]

A path is active given S when every internal noncollider is outside S and every collider has a descendant in S, including itself. Paths, active paths, and d-separation in a finite DAG

[A1]

AC is required by the supplied probability interfaces in [F1] and [F2]; no graph-theoretic step uses it. The Axiom of Choice

Proof

Given: The hypotheses in the Statement.

1.1givenF1F2F3A1

By [F2], every d-separation in G is a conditional independence in its law. By [F3], every conditional independence is a d-separation. Since the oracle is exact by [F1], it answers “independent” exactly for d-separated pairs and sets.

1.2F6construct

The skeleton search terminates. If ∣V∣≤1, it has no pairs to test and stops at level 0. Otherwise, at each level it processes finitely many pairs and finitely many subsets. An endpoint has at most ∣V∣−2 neighbors other than the other endpoint, so at level ℓ=∣V∣−2 no remaining edge can meet the condition requiring at least ℓ+1 such neighbors; the level therefore cannot be incremented past this finite bound. The orientation phase scans finitely many rule instances on the finite vertex set. Every successful application directs one previously undirected edge, which is never undirected again, so there are at most (∣V∣2) successful applications before a scan finds none. Both phases, and hence the algorithm, terminate.

1.3givenF8constructcases

For a nonadjacent pair, acyclicity permits labeling its endpoints i,j so that j is not a descendant of i. Put S=pa⁡G(i), which excludes both endpoints. Every path starting with an arrow into i is blocked by its first internal vertex, a parent in S and a noncollider. On any path starting with an arrow out of i, there must be a first reversal of arrow direction, since j is not a descendant of i. The vertex at that reversal is a collider reached by a directed path from i. It cannot have a descendant in S, since a directed path from that collider to a parent of i would close a directed cycle through i. This path is also blocked by [F8]. Thus S d-separates the endpoints.

2.1F4F6step 1.1step 1.3cases

Every true skeleton edge remains in the search graph: by [F4] no allowed conditioning set d-separates its endpoints, so step 1.1 makes every oracle answer dependent. For a nonedge, step 1.3 supplies S=pa⁡G(i) after possibly interchanging endpoints. Every vertex of S remains adjacent to i, since all true edges remain. At each level ℓ<∣S∣ while this nonedge remains, endpoint i has at least ∣S∣≥ℓ+1 other neighbors. The stopping condition therefore cannot stop before level ∣S∣. If the nonedge has not already been deleted, at that level the search either deletes it on an earlier separating set or tests S and deletes it. Thus the returned skeleton is exactly the skeleton of G.

3.1F5F6step 1.1step 2.1

Every set recorded when an edge is deleted was accepted by the exact oracle. By step 1.1 it d-separates the deleted endpoints. Since the skeleton from step 2.1 is exact, each unshielded triple is an unshielded triple of G; [F5] shows the algorithm orients its middle vertex as a collider exactly when it is a collider in G.

4.1F6F7step 1.2step 2.1step 3.1∎

The algorithm then applies R1–R3 to closure. Its pattern has the exact skeleton and exactly the unshielded colliders of G by steps 2.1–3.1. Applying [F7] gives the CPDAG of G. By step 1.2 the finite procedure terminates, so this is the algorithm's output.

Depends on

Used by

Cited to discharge well-definedness by Population PC causal-discovery algorithm.

Dependency tree · two levels

25 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.

Sources