Paper deep dive
Causal Reasoning with Bipartite Graphical Causal Models
Joris M. Mooij
Intelligence
Status: succeeded | Model: Gemma-4-26B-A4B | Prompt: intel-v1 | Confidence: 93%
Last extracted: 8/21/2026, 3:43:37 AM
Summary
The paper introduces Bipartite Graphical Causal Models (BGCMs) to address limitations in Causal Bayesian Networks (CBNs) and Structural Causal Models (SCMs) regarding cyclic causal dependencies and equilibrium systems. BGCMs use a bipartite graph with variable and equation nodes to encode systems of equations, allowing for precise hard interventions specified by equation replacement. The framework establishes a new Markov property via B-separation and derives a do-calculus for domain invariances, strictly generalizing existing causal frameworks.
Entities (7)
Relation Signals (5)
Bipartite Graphical Causal Models → generalizes → Causal Bayesian Networks
confidence 95% · BGCMs strictly generalize CBNs and SCMs while retaining the ability to perform graphical causal reasoning.
Bipartite Graphical Causal Models → generalizes → Structural Causal Models
confidence 95% · BGCMs strictly generalize CBNs and SCMs while retaining the ability to perform graphical causal reasoning.
Bathtub System → demonstrates → Bipartite Graphical Causal Models
confidence 90% · We demonstrate, through a detailed case study of a physical system, that this representation naturally corresponds to distinct real-world interventions.
Bipartite Graphical Causal Models → enables → do-calculus
confidence 90% · We show how this gives rise to a do-calculus for reasoning about domain invariances.
Bipartite Graphical Causal Models → uses → B-separation
confidence 90% · We formulate a Markov property in terms of a new graphical separation criterion (B-separation)
Cypher Suggestions (0)
No Cypher suggestions yet.
Abstract
Abstract:Causal Bayesian networks (CBNs) and structural causal models (SCMs) are the dominant frameworks for graphical causal reasoning, but they cannot adequately represent all real-world causal systems. In particular, systems at equilibrium---where feedback mechanisms create cyclic causal dependencies---can exhibit causal semantics that are fundamentally incompatible with these frameworks: different interventions that enforce the same variable value may have different effects, rendering the standard ``perfect intervention'' do($X = x$) ambiguous. We propose bipartite graphical causal models (BGCMs), in which the structure of a system of equations is encoded by a bipartite graph with variable and equation nodes. In this framework, a hard intervention do($f_j : X_v = \xi_v$) specifies which equation is replaced, which variable is targeted, and at what value---resolving the ambiguity of the standard notion. We demonstrate, through a detailed case study of a physical system, that this representation naturally corresponds to distinct real-world interventions. We formulate a Markov property in terms of a new graphical separation criterion (B-separation) that exploits the functional determinism inherent in the equations, and we extend it to settings with non-random inputs. We show how this gives rise to a do-calculus for reasoning about domain invariances. BGCMs strictly generalize CBNs and SCMs while retaining the ability to perform graphical causal reasoning.
Tags
Links
- Source: https://arxiv.org/abs/2608.19831v1
- Canonical: https://arxiv.org/abs/2608.19831v1
Trouble viewing inline? Open PDF directly →
Full Text
579,814 characters extracted from source content.
Expand or collapse full text
Causal Reasoning with Bipartite Graphical Causal Models Joris M. Mooij Affiliation: Korteweg-De Vries Institute for Mathematics University of Amsterdam Amsterdam, the Netherlands Abstract Causal Bayesian networks (CBNs) and structural causal models (SCMs) are the dominant frameworks for graphical causal reasoning, but they cannot adequately represent all real-world causal systems. In particular, systems at equilibrium—where feedback mechanisms create cyclic causal dependencies—can exhibit causal semantics that are fundamentally incompatible with these frameworks: different interventions that enforce the same variable value may have different effects, rendering the standard “perfect intervention” do(X=x)do(X\!=\!x) ambiguous. We propose bipartite graphical causal models (BGCMs), in which the structure of a system of equations is encoded by a bipartite graph with variable and equation nodes. In this framework, a hard intervention do(fj:Xv=ξv)do(f_j:X_v\!=\! _v) specifies which equation is replaced, which variable is targeted, and at what value—resolving the ambiguity of the standard notion. We demonstrate, through a detailed case study of a physical system, that this representation naturally corresponds to distinct real-world interventions. We formulate a Markov property in terms of a new graphical separation criterion (B-separation) that exploits the functional determinism inherent in the equations, and we extend it to settings with non-random inputs. We show how this gives rise to a do-calculus for reasoning about domain invariances. BGCMs strictly generalize CBNs and SCMs while retaining the ability to perform graphical causal reasoning. 1 Introduction In many scientific disciplines—physics, engineering, economics, biology—complex systems are naturally described by systems of equations relating endogenous and exogenous variables. Each equation represents an independent mechanism or physical law; the exogenous variables represent external inputs or noise. Causal Bayesian networks (CBNs) [20] and structural causal models (SCMs) [20, 4] can represent many such systems, but not all. In particular, systems at equilibrium—where feedback mechanisms create cyclic causal dependencies—can exhibit causal semantics that are fundamentally incompatible with these frameworks. A canonical example, due to 14, is a bathtub at equilibrium: the equilibrium relations between inflow, outflow, pressure, and depth form a system of equations whose causal interpretation depends on which equation is changed by an intervention. Different interventions that set the same variable to the same value can have different effects on other variables, rendering the standard notion of a “perfect intervention” do(X=x)do(X=x) ambiguous [3]. Neither CBNs nor SCMs can express this distinction, since they associate each variable with a unique structural equation or Markov kernel. The key observation underlying our approach is that the structure of a system of equations is naturally encoded by a bipartite graph, with two types of nodes—variable nodes and equation nodes—connected by an edge whenever a variable appears in an equation. By retaining both variable and equation nodes as first-class citizens, the bipartite graph preserves information that is lost when projecting onto a directed graph over variables alone. Building on Simon’s causal ordering algorithm [22], which derives a partial causal ordering of variables by analyzing the bipartite graph, we develop a full-fledged causal modeling framework. This approach is closely related to how engineers already reason about causality, for example in the equation-based modeling language Modelica, where systems are specified as sets of “acausal” equations and causality is derived automatically through symbolic analysis [5]. In particular, the bipartite representation makes it possible to represent a hard intervention as do(fj:Xv=ξv)do(f_j:X_v= _v)—specifying which equation fjf_j is replaced, which variable XvX_v is targeted, and at what value ξv _v. While this intervention notion was already proposed by 3, it appeared ad hoc, and it remained unclear to what extent it provides a proper and natural mathematical abstraction of real-world interventions. The contributions of this paper are: 1. We formally define bipartite graphical causal models (BGCMs) and show how they strictly extend CBNs, acyclic SCMs, simple SCMs, and general SCMs. 2. We demonstrate, through a complete analysis of all hard interventions on the bathtub system, that the BGCM intervention notion do(fj:Xv=ξv)do(f_j:X_v= _v) provides a natural and physically meaningful representation of real-world interventions—each corresponding to a distinct physical procedure with distinct causal effects. 3. We formulate a Markov property for BGCMs using a graphical separation criterion (B-separation) that generalizes d-separation to partially oriented bipartite graphs. By encoding both the causal structure and the conditional independence structure in a single partially oriented bipartite graph—rather than in separate graphs as in 3—we make the connection between causal and Markov semantics transparent. Because B-separation exploits the functional determinism induced by the equations, the resulting Markov property is strictly stronger than the one obtainable from the Markov ordering graph of 3 via d-separation. 4. We establish an extended Markov property for the case where some exogenous variables are treated as non-random inputs, phrased in terms of transitional conditional independence [10]. 5. We develop a do-calculus for BGCMs by exploiting this connection: the Markov property yields domain invariances—relationships between observational and interventional distributions—that go beyond Pearl’s three rules [20]. 2 Background 2.1 Modeling Cyclic Causal Relations Feedback mechanisms in dynamical systems may induce cyclic causal relationships at equilibrium. Fast dynamical interactions can lead to effectively “instantaneous” causal cycles. Examples arise across many disciplines: coupled oscillators in physics, supply–demand–price feedback loops in economics, gene regulatory networks in biology, and climate feedback mechanisms. In many such applications, the ability to model causal cycles is essential, and acyclic models are insufficient. We briefly review some existing causal modeling frameworks and their relationships. A causal Bayesian network (CBN) consists of a directed acyclic graph (DAG) together with a collection of Markov kernels, one for each variable given its parents in the DAG [20]. An acyclic structural causal model (acyclic SCM) consists of a set of structural equations of the form Xi:=fi(pa(Xi),Ui)X_i:=f_i(pa(X_i),U_i), where pa(Xi)pa(X_i) denotes the parents of XiX_i and UiU_i is an exogenous noise variable, together with an acyclic causal graph [20]. An SCM extends this to allow cyclic causal graphs, with each equation having a unique “dependent variable” [4]. While general SCMs can be complicated to work with, the subclass of simple SCMs allows for (sufficiently weak) cycles and retains most of the convenient mathematical properties of acyclic SCMs [4]. These frameworks form a hierarchy of increasing generality: CBNs⊂acyclic SCMs⊂simple SCMs⊂SCMs⊂BGCMs⊂CCMs, splitCBNs& SCMs SCMs\\ & , split where BGCMs are bipartite graphical causal models (introduced in this paper) and CCMs are causal constraint models [1]. BGCMs occupy a position in this hierarchy that balances model flexibility with the ability to perform causal reasoning. 22 introduced the causal ordering algorithm, which derives a causal interpretation of a system of equations from its structural properties. The key idea is that given a system of equations with designated exogenous variables, one can determine a partial ordering on the endogenous variables by analyzing which subsets of equations can be solved for which subsets of variables, and in what order. The original version of the algorithm as proposed by 22 required solving NP-hard subproblems. Later, 19 proposed a computationally efficient version based on perfect matchings. 3 expanded upon Simon’s approach to causality by using his algorithm to construct two different graphs out of a set of equations: the causal ordering graph (a directed cluster graph that represents causal effects of certain interventions) and the Markov ordering graph (a directed graph on variable nodes, obtained by declustering and marginalizing out equation nodes, from which conditional independences can be read off via d-separation). 3 Bipartite Graphical Causal Models 3.1 Systems of Equations and Bipartite Graphs We consider a system of equations involving a set of variables XV=(Xv)v∈VX_V=(X_v)_v∈ V taking values in standard Borel spaces (v)v∈V(X_v)_v∈ V, and partitioned into endogenous variables XV∖UX_V U and exogenous variables XUX_U, for some U⊆VU V. The equations fjj∈F\f_j\_j∈ F are of the form 0=ϕj(Xnb(fj))0= _j(X_nb(f_j)), where ϕj _j is a measurable function and nb(fj)⊆Vnb(f_j) V denotes the set of variables appearing in equation fjf_j. Definition 1 (Bipartite graph of a system of equations). The bipartite graph of a system of equations is the undirected bipartite graph G=(V,F,E)G=(V,F,E), where V is the set of variable nodes, F is the set of equation nodes, and E⊆V×FE V× F contains an edge (v,f)(v,f) if and only if variable XvX_v appears in equation f. We illustrate this with a running example, a simplification of the bathtub system in [14]. Figure 1: The bathtub system (rendered by Google Gemini). Example 2 (Bathtub at equilibrium). Consider a bathtub with constant inflow of water at equilibrium (Figure 1). The endogenous variables are: XOX_O (water outflow through the drain), XDX_D (water depth), and XPX_P (pressure at the drain). The exogenous variables are: XIX_I (water inflow from faucet), XKX_K (drain area), and XgX_g (gravitational acceleration). The equilibrium is described by three independent mechanisms: f1: f_1: 0=XI−XO 0=X_I-X_O (1) f2: f_2: 0=XKXP−XO 0=X_K X_P-X_O (2) f3: f_3: 0=XgXD−XP 0=X_gX_D-X_P (3) Equation (1) states that at equilibrium, outflow equals inflow. Equation (2) is Torricelli’s law: outflow is proportional to the drain area and the square root of the pressure. Equation (3) is Stevin’s law: pressure is proportional to depth and gravitational acceleration. The bipartite graph of this system has variable nodes XO,XP,XD,XI,XK,Xg\X_O,X_P,X_D,X_I,X_K,X_g\ and equation nodes f1,f2,f3\f_1,f_2,f_3\, with edges connecting each equation to the variables appearing in it. We use squares for equation nodes, circles for endogenous nodes, while exogenous variables XI,XK,Xg\X_I,X_K,X_g\ are shown without circles: XOX_OXPX_PXDX_Df1f_1f2f_2f3f_3XIX_IXKX_KXgX_g 3.2 Causal Ordering and Partial Orientation Given a bipartite graph G=(V,F,E)G=(V,F,E) and a set U⊆VU V of exogenous variables, Simon’s causal ordering algorithm produces a partial orientation of G that encodes the causal structure. The algorithm first finds a perfect matching M of the subgraph G(V∖U)∪FG_(V U)∪ F, i.e., a subset of edges such that each endogenous variable node and each equation node is incident to exactly one edge in M.11 1 For simplicity of exposition, we assume throughout that there is such a perfect matching. If this is not the case, one can make use of the Dulmage-Mendelsohn decomposition [3]. This matching associates each equation with a unique endogenous variable, which can be thought of as the variable that the equation “solves for.” 19 showed that the perfect matching can be found efficiently using the Hopcroft-Karp algorithm [13]. We then define an equivalence relation on the nodes of G that identifies nodes belonging to the same cluster. Definition 3 (Equivalence relation and clusters). Given a bipartite graph G=(V,F,E)G=(V,F,E), subset U⊆VU V, and perfect matching M of G(V∖U)∪FG_(V U)∪ F, define ∼ as the equivalence relation on V∪FV∪ F generated by the following: a∼ba b if a--b∈M$a -9.0mu b$∈ M, or if a and b lie on a closed M-alternating walk (i.e., a walk that alternates between matched and unmatched edges and returns to its starting node). The equivalence class of a node a is denoted [a][a], and we refer to this as a “cluster”. Lemma 4 (7). The equivalence relation ∼ depends only on the bipartite graph G and the set of exogenous variables U, not on the choice of perfect matching M. Note that each exogenous node forms a singleton cluster. Using this equivalence relation, we define the partial orientation of the bipartite graph. Definition 5 (Partial orientation). The partial orientation # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G of G is obtained by orienting each edge v--f∈Ev -9.0mu f∈ E (with v∈Vv∈ V, f∈Ff∈ F) as follows: v--f↦v→fif v≁f,v==fif v∼f.v -9.0mu f casesv→ f&if v f,\\ v -9.0mu f&if v f. cases The mapping G↦# �G # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ is equivalent to Simon’s causal ordering algorithm [22]. Directed edges v→fv→ f indicate that variable v is an input to equation f from a different (earlier) cluster. Double-undirected edges v==fv -9.0mu f indicate that v and f belong to the same cluster. Note that since matched pairs always satisfy v∼fv f, matched edges are always oriented as v==fv -9.0mu f.22 2 In Simon’s original formulation, matched edges are directed as f→vf→ v, suggesting that f “solves for” v. We use v==fv -9.0mu f uniformly because solvability is not guaranteed by the graph structure alone, but is an additional assumption (Assumption 10). Example 6 (Bathtub: causal ordering). For the bathtub system (Example 2), the (unique) perfect matching associates f1f_1 with XOX_O, f2f_2 with XPX_P, and f3f_3 with XDX_D. The partially oriented graph is: XOX_OXPX_PXDX_Df1f_1f2f_2f3f_3XIX_IXKX_KXgX_g This encodes the causal ordering: first solve f1f_1 for XOX_O in terms of XIX_I, yielding XO=XIX_O=X_I; then solve f2f_2 for XPX_P in terms of XOX_O and XKX_K, yielding XP=XI2/XK2X_P=X_I^2/X_K^2; finally solve f3f_3 for XDX_D in terms of XPX_P and XgX_g, yielding XD=XI2/(XK2Xg)X_D=X_I^2/(X_K^2X_g). The clusters are XI,XK,Xg,f1,XO,f2,XP,f3,XD\X_I\,\X_K\,\X_g\,\f_1,X_O\,\f_2,X_P\,\f_3,X_D\. We now formally define what we mean by “causal ordering”. We define a walk in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G as an alternating sequence of nodes and edges n0,e1,n1,e2,…,ek,nkn_0,e_1,n_1,e_2,…,e_k,n_k where each edge eie_i connects ni−1n_i-1 and nin_i; k=0k=0 corresponds with a trivial walk. A path is a walk in which no node repeats. Definition 7 (Anterior). A node a is anterior to a node b in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G if there is a walk from a to b consisting only of → and == -9.0mu edges. That is, a walk of the form n0,e1,n1,e2,…,ek,nkn_0,e_1,n_1,e_2,…,e_k,n_k where n0=an_0=a, nk=bn_k=b, and each edge eie_i is either ni−1→nin_i-1→ n_i or ni−1==nin_i-1 -9.0mu n_i. We write ant# �G(B)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (B) for the set of all nodes anterior to some node in B⊆V∪FB V∪ F. Mathematically, the relation “is anterior to” is a partial order on the clusters (it is reflexive and transitive; it is antisymmetric because any two mutually anterior nodes lie in the same cluster). Simon’s insight was that this mathematical relationship captures what we perceive as causes and their effects: we consider a a cause of b precisely if a∈ant# �G(b)a _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (b). 3.3 Solutions, Distributions, and Markov Kernels By solving the system of equations according to the causal ordering, we obtain solution functions that express all endogenous variables in terms of the exogenous variables. When a cluster contains more than one equation, the equations in the cluster must be solved simultaneously for the variables in that cluster. Definition 8 (Solution function). A solution function for a system of equations with exogenous variables XUX_U and endogenous variables XV∖UX_V U is a function Φ:U→V :X_U _V such that ΦU(xU)=xU _U(x_U)=x_U, and Φ(xU) (x_U) satisfies all equations for every xU∈Ux_U _U. If we assume that all exogenous variables are mutually independent random variables with distributions Xu∼ℙ(Xu)X_u (X_u) for u∈Uu∈ U, then the joint distribution ℙ(XV)P(X_V) of all variables is obtained as the pushforward of the product distribution ⨂u∈Uℙ(Xu) _u∈ UP(X_u) through the solution function Φ . This corresponds to the distribution of XVX_V under the sampling scheme Xu∼ℙ(Xu)for u∈U,XV=Φ(XU).X_u (X_u)\ \ for u∈ U, X_V= (X_U). More generally, we can treat some exogenous variables as random and others as non-random. This yields a Markov kernel rather than a distribution. If one only assigns independent distributions to exogenous variables in subset U∖JU J with J⊆UJ U, one obtains the Markov kernel ℙ(XV∥XJ)P(X_V\,\|\,X_J), corresponding to the sampling scheme Xu∼ℙ(Xu)for u∈U∖J,XV=Φ(XJ,XU∖J)X_u (X_u)\ \ for u∈ U J, X_V= (X_J,X_U J) where the input variables XJX_J are left unconstrained and we make no assumptions about their distribution. For instance, treating XIX_I as a non-random input and XK,XgX_K,X_g as random yields the Markov kernel ℙ(XK,Xg,XO,XP,XD∥XI)P(X_K,X_g,X_O,X_P,X_D\,\|\,X_I), which specifies the joint distribution of XK,Xg,XO,XP,XDX_K,X_g,X_O,X_P,X_D for every possible value xIx_I. Definition 9 (Unique solvability of a cluster). A cluster [c][c] in the partially oriented graph # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G is called uniquely solvable if the equations in F∩[c]F∩[c] can be solved for the variables V∩[c]V∩[c] in terms of pa# �G([c])pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c]), and the local solution function Φ[c]:pa# �G([c])→[c]∩V ^[c]:X_pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c]) _[c]∩ V is unique. If all local unique solvability assumptions are met, this guarantees existence and uniqueness of a global solution function. We collect our assumptions so far: Assumption 10. For a system of equations 0=ϕj(Xnb(fj)),j∈F0= _j(X_nb(f_j)), j∈ F with corresponding bipartite graph G=(V,F,E)G=(V,F,E), exogenous variables U⊆VU V, standard Borel spaces (v)v∈V(X_v)_v∈ V: 1. The functions ϕj:nb(fj)→ℝ _j:X_nb(f_j) are measurable. 2. The subgraph G(V∖U)∪FG_(V U)∪ F has a perfect matching. 3. The exogenous variables are variation independent: their joint value space is a Cartesian product ∏u∈Uu _u∈ UX_u. 4. The system is clusterwise uniquely solvable: each endogenous cluster [v][v] (for v∈V∖Uv∈ V U) is uniquely solvable. Proposition 11. Under Assumption 10, there exists a unique solution function Φ:U→V :X_U _V. Proof. The local solution functions (Φ[v])v∈V∖U( ^[v])_v∈ V U combine into a system of equations Xv=Φv[v](Xpa# �G([v]))v∈V X_v= _v^[v](X_pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v])) v∈ V that has an acyclic structure. Recursive substitution of the local solution functions of each cluster along the causal ordering then yields the global solution function. ∎ This unique (global) solution function then induces a unique joint distribution ℙ(XV)P(X_V) and unique Markov kernels ℙ(XV∥XJ)P(X_V\,\|\,X_J) for J⊆UJ U. 4 Markov Property In this section, we formulate a Markov property for bipartite graphical causal models that relates the conditional independence structure of the joint distribution to the graphical structure of the partially oriented bipartite graph. 4.1 B-Separation We define a graphical separation criterion for partially oriented bipartite graphs, called B-separation (for “bipartite”), an analog of classical d-separation that is appropriate for our setting. It combines ideas from the segment-based formulation of σ-separation [8] to deal with cycles (clusters with more than a single variable), and from D-separation [12] to take into account deterministic relations (each endogenous cluster is a deterministic function of its parents). Definition 12 (Segments, exits, collider/non-collider segments). A walk s on # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G can be partitioned into segments: consecutive maximal subwalks s1,…,sms_1,…,s_m of the form si,1==…==si,kis_i,1 -9.0mu … -9.0mu s_i,k_i (possibly ki=1k_i=1), i.e., with all edges double-undirected (== -9.0mu ). We call a boundary node of a segment an exit if its bounding edge points out of the segment or it is an end node of the walk. That is, si,1s_i,1 is an exit if the edge on s to the left of it is …←si,1… ←s_i,1 or if it is the first node of s (i=1i=1), and si,kis_i,k_i is an exit if the edge on s to the right of it is si,ki→…s_i,k_i→… or if it is the last node of s (i=mi=m). A segment with no exit is a collider segment; a segment with one or two exits is a non-collider segment. The following notion tracks deterministic relations that are imposed by the structure of the bipartite graph. Definition 13 (Functionally determined). Let C⊆VC V be a subset of variable nodes in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G . Define C0:=C_0:=C and Cn+1:=Cn∪v∈V∖U:pa# �G([v])⊆Cn.C_n+1:=C_n∪\v∈ V U:pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v]) C_n\. We define fdet# �G(C):=⋃n≥0Cnfdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C):= _n≥ 0C_n and refer to those as the variable nodes that are functionally determined by C. Note that exogenous variable nodes are only functionally determined by C if they are in C. With these definitions in place, we define: Definition 14 (B-blocking). For C⊆VC V, the walk is called B-blocked by C if it contains: 1. a collider segment that does not intersect ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C), or 2. a non-collider segment with an exit in fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). Otherwise, the walk is called B-open given C. Definition 15 (B-separation). Let A,B,C⊆VA,B,C V be sets of variable nodes. We say that A and B are B-separated given C in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G , written A⟂# �GBB|C,A ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C, if every walk from a node in A to a node in B is B-blocked by C in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G .33 3 It is equivalent to require only that every path from A to B be B-blocked by C (Lemma 43); the path formulation is usually more convenient to check by hand. To build intuition, it is helpful to see how B-separation adapts d-separation to the two features that distinguish partially oriented bipartite graphs from DAGs: clusters and determinism. Clusters. The variables and equations of a cluster are solved jointly, so segments along a walk behave as a single indivisible unit. A walk can enter or leave a segment only through an exit, and conditioning therefore interacts with a segment only through its exits. This is the bipartite-graph counterpart of collapsing a strongly connected component in σ-separation [8]: whether a segment blocks or transmits dependence is decided by the segment as a whole rather than node by node. As in d-separation, a non-collider segment (a chain, a fork, or an endpoint of the walk) transmits dependence unless it is “pinned down” by the conditioning set, whereas a collider segment (a common effect, entered by arrows from both sides) blocks association unless it is “activated” by the conditioning set. Determinism. Since each endogenous cluster is a deterministic function of its parents, conditioning on C fixes not only XCX_C but every variable that is functionally determined by it, i.e., Xfdet# �G(C)X_fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). This is what “pinned down” means here: a non-collider segment is already blocked once one of its exits lies in fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C), even if that exit is not itself in C. Activation of colliders, on the other hand, is governed by ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C): a collider segment transmits dependence only if the common effect, or one of its descendants, actually belongs to the conditioning set C. It is precisely this extra blocking granted by fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) that makes B-separation stronger than criteria that ignore determinism. This intuition is made precise in Appendix C. 4.2 Global Markov Property Theorem 16 (Global Markov property). Suppose that Assumption 10 holds. When assigning independent distributions to all exogenous variables, the resulting joint distribution ℙ(XV)P(X_V) satisfies: for all A,B,C⊆VA,B,C V, A⟂# �GBB|C⟹XA⟂⟂ℙ(XV)XB|XC.A ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C X_A _P(X_V)X_B\,|\,X_C. The Markov property “propagates” the independence of the exogenous variables through the equations along the partial ordering, yielding conditional independences among endogenous variables. Example 17 (Bathtub: Markov property). In the partially oriented bathtub graph (Example 6), every path from XDX_D to XOX_O must pass through XPX_P (via the equation nodes). One can verify that XD⟂# �GBXO|XPX_D ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ X_O\,|\,X_P, which implies the conditional independence: XD⟂⟂XO|XP.X_D X_O\,|\,X_P. This means the joint distribution factorizes as ℙ(XD,XO,XP)=ℙ(XD|XP)⊗ℙ(XO,XP).P(X_D,X_O,X_P)=P(X_D\,|\,X_P) (X_O,X_P). 4.3 Extended Global Markov Property A more general version of the Markov property allows treating some exogenous variables as non-random, using an extended notion of conditional independence [10]. Theorem 18 (Extended Global Markov property). Suppose Assumption 10 holds. Treat exogenous variables J⊆UJ U as non-random, and assign independent distributions to exogenous variables in U∖JU J, yielding Markov kernel ℙ(XV∥XJ)P(X_V\,\|\,X_J). Then for all A,B,C⊆VA,B,C V such that J⊆B∪CJ B∪ C:44 4 One can replace the assumption A⟂# �GBB|CA ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C by A⟂# �GBB∪J|CA ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B∪ J\,|\,C to obtain a result that is valid for all choices of A,B,CA,B,C. A⟂B# �GB|C⟹XA⟂⟂ℙ(XV∥XJ)XB|XC.A ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C X_A _P(X_V\,\|\,X_J)X_B\,|\,X_C. Concretely, the conditional independence XA⟂⟂ℙ(XV∥XJ)XB|XCX_A _P(X_V\,\|\,X_J)X_B\,|\,X_C for a Markov kernel ℙ(XV∥XJ)P(X_V\,\|\,X_J) means that there exists a Markov kernel Q(XA∥XC)Q(X_A\,\|\,X_C) (not depending on XBX_B) such that ℙ(XA,XB,XC∥XJ)=Q(XA∥XC)⊗ℙ(XB,XC∥XJ).P(X_A,X_B,X_C X_J)=Q(X_A X_C) (X_B,X_C X_J). This is the notion of transitional conditional independence introduced by 10; it is asymmetric (the roles of A and B are not interchangeable).55 5 Our notion of B-separation does not distinguish non-random and random variables explicitly, which is why the condition J⊆B∪CJ B∪ C is needed here; see Appendix D. Example 19 (Bathtub: extended Markov property). In the bathtub model, treating XIX_I as non-random yields the Markov kernel ℙ(XK,Xg,XO,XP,XD∥XI)P(X_K,X_g,X_O,X_P,X_D\,\|\,X_I). Since XD⟂# �GBXI|XPX_D ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ X_I\,|\,X_P, the extended Markov property implies XD⟂⟂XI|XPX_D X_I\,|\,X_P, which means there exists a Markov kernel ℙ(XD∥XP)P(X_D\,\|\,X_P) such that: ℙ(XD,XP∥XI)=ℙ(XD|XP)⊗ℙ(XP∥XI).P(X_D,X_P\,\|\,X_I)=P(X_D\,|\,X_P) (X_P\,\|\,X_I). 5 Interventions in Bipartite Graphical Causal Models Causality is fundamentally about change: how does a system react to externally imposed modifications? In the BGCM framework, there are two types of elementary interventions: 1. Changing the distribution of an exogenous variable: replacing ℙ(Xu)P(X_u) by another distribution ℙ~(Xu) P(X_u). 2. Replacing an equation: substituting equation fjf_j by a different equation f~j f_j. A particularly important class of the second type is the hard intervention do(fj:Xv=ξv)do(f_j:X_v= _v), which replaces equation fjf_j by the equation 0=Xv−ξv0=X_v- _v,66 6 For v≠ℝX_v one can more generally take 0=ξv(Xv)−10= 1_\ _v\(X_v)-1. thereby fixing variable XvX_v to value ξv _v via the intervened mechanism fjf_j. This notion naturally corresponds to concrete physical procedures: different choices of fjf_j lead to genuinely different real-world implementations, even when targeting the same variable XvX_v at the same value ξv _v (see Example 20 and Appendix E for detailed examples). 5.1 Ambiguity of Perfect Interventions A key insight of the BGCM framework is that the standard notion do(Xv=ξv)do(X_v= _v) for a “perfect intervention” can be ambiguous: different equations can be replaced to achieve Xv=ξvX_v= _v, leading to different causal effects on other variables [3]. do(f1:XD=ξD)do(f_1:X_D= _D)do(f2:XD=ξD)do(f_2:X_D= _D)do(f3:XD=ξD)do(f_3:X_D= _D) Figure 2: Three different interventions on the bathtub that all set the water depth to a fixed value (Example 20). Example 20 (Bathtub: ambiguous interventions). Consider setting the water depth to a fixed value ξD _D in the bathtub model. There are at least three distinct interventions that achieve this (see Figure 2). The partially oriented bipartite graphs for these and all other hard interventions are shown in Figure 3 in Appendix F. (i) do(f1:XD=ξD)do(f_1:X_D= _D): Replace the equilibrium condition (1) by 0=XD−ξD0=X_D- _D. Physically, this may correspond to cutting the bathtub at height ξD _D and ensuring it overflows. The causal ordering reverses: f~1 f_1 determines XDX_D, then f3f_3 determines XPX_P from XDX_D and XgX_g, and finally f2f_2 determines XOX_O from XPX_P and XKX_K. The solution is XO=XKXgξDX_O=X_K X_g _D, XP=XgξDX_P=X_g _D, XD=ξDX_D= _D. (i) do(f2:XD=ξD)do(f_2:X_D= _D): Replace Torricelli’s law (2) by 0=XD−ξD0=X_D- _D. Physically, this could involve disabling the drain and rerouting the inflow to the outflow once the water has reached height ξD _D. The causal ordering changes: f1f_1 determines XOX_O, f~2 f_2 determines XDX_D, and f3f_3 now determines XPX_P from XDX_D. The solution is XO=XIX_O=X_I, XP=XgξDX_P=X_g _D, XD=ξDX_D= _D. (i) do(f3:XD=ξD)do(f_3:X_D= _D): Replace Stevin’s law (3) by 0=XD−ξD0=X_D- _D. Physically, this can be achieved by sealing the bathtub at height ξD _D and ensuring it is completely filled. The causal ordering is preserved: f1f_1 still determines XOX_O, f2f_2 still determines XPX_P, and f~3 f_3 determines XDX_D. The solution is XO=XIX_O=X_I, XP=XI2/XK2X_P=X_I^2/X_K^2, XD=ξDX_D= _D. These three interventions all set XD=ξDX_D= _D but have different effects on XOX_O and XPX_P. Therefore, the notion do(XD=ξD)do(X_D= _D) is ambiguous and must be refined to do(fj:XD=ξD)do(f_j:X_D= _D). 5.2 Hard Interventions for the Bathtub Table 1 summarizes all possible hard interventions for the bathtub model. In Appendix E we propose possible physical implementations of all feasible hard interventions. That analysis shows that this is more than a purely mathematical exercise. Not every combination of target equation and target variable yields a uniquely solvable system (signaled by the corresponding intervened graph having no perfect matching); indeed, some interventions (marked with ∅ ) generically lead to systems with no solution. In those cases it would be futile to attempt to implement such interventions. Table 1: Feasibility of hard interventions do(fj:Xv=ξv)do(f_j:X_v= _v) for the bathtub. Checkmarks indicate uniquely solvable systems; ∅ indicates the system is not uniquely solvable. do(fj:Xv=ξv)do(f_j:X_v= _v) f1f_1 f2f_2 f3f_3 XO=ξOX_O= _O ✓ ∅ ∅ XP=ξPX_P= _P ✓ ✓ ∅ XD=ξDX_D= _D ✓ ✓ ✓ Table 2 shows the solution functions for all well-defined hard interventions, illustrating how different interventions lead to different causal effects. Table 2: Solution functions for all hard interventions on the bathtub model. XOX_O XPX_P XDX_D observational XIX_I XI2XK2 X_I^2X_K^2 XI2XK2Xg X_I^2X_K^2X_g do(XI=ξI)do(X_I= _I) ξI _I ξI2XK2 _I^2X_K^2 ξI2XK2Xg _I^2X_K^2X_g do(XK=ξK)do(X_K= _K) XIX_I XI2ξK2 X_I^2 _K^2 XI2ξK2Xg X_I^2 _K^2X_g do(Xg=ξg)do(X_g= _g) XIX_I XI2XK2 X_I^2X_K^2 XI2XK2ξg X_I^2X_K^2 _g do(f1:XO=ξO)do(f_1:X_O= _O) ξO _O ξO2XK2 _O^2X_K^2 ξO2XK2Xg _O^2X_K^2X_g do(f1:XP=ξP)do(f_1:X_P= _P) ξPXK _P\,X_K ξP _P ξPXg _PX_g do(f1:XD=ξD)do(f_1:X_D= _D) XKXgξDX_K X_g _D XgξDX_g _D ξD _D do(f2:XP=ξP)do(f_2:X_P= _P) XIX_I ξP _P ξPXg _PX_g do(f2:XD=ξD)do(f_2:X_D= _D) XIX_I XgξDX_g _D ξD _D do(f3:XD=ξD)do(f_3:X_D= _D) XIX_I XI2XK2 X_I^2X_K^2 ξD _D 5.3 Interventions Change the Causal Structure The bathtub system cannot be modeled as a CBN or an SCM, because do(XD=ξD)do(X_D= _D) does not have a unique meaning. In a CBN or SCM, a perfect intervention do(Xv=ξv)do(X_v= _v) replaces a unique structural equation (the one with XvX_v as its dependent variable), but in the bathtub there is no such unique association. An important caveat is that hard interventions can change the bipartite graph and its partial orientation, and hence the conditional independence structure. For example, the intervention do(f1:XD=ξD)do(f_1:X_D= _D) on the bathtub reverses the causal ordering entirely: instead of XO→XP→XDX_O→ X_P→ X_D, the ordering becomes XD→XP→XOX_D→ X_P→ X_O (in terms of the directed part of the partially oriented graph), as can be seen in Figure 3. This is another phenomenon that has no counterpart in standard CBN or SCM frameworks. 6 Domain Invariances A central application of causal models is reasoning about what changes—and what remains invariant—across different experimental conditions or “domains.” In CBNs, Pearl’s three rules of the do-calculus [20] formalize such invariances for observational versus interventional distributions. We now develop an analogous theory for BGCMs. 6.1 The General Recipe To relate the distributions in two domains (e.g., an observational domain and an interventional domain), we employ the following procedure: 1. Construct the joint model: Introduce an exogenous domain indicator input variable R and write the equations of both domains as a single system, where the equations that differ between domains depend on R. 2. Construct the bipartite graph GRG^R: Build the bipartite graph of the joint model, which includes R as an exogenous variable node connected to the equations in which R occurs. 3. Run causal ordering: Compute the partial orientation # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu GR G^R of GRG^R. 4. Check solvability: Verify that Assumption 10 holds for the joint model. 5. Apply the Markov property: Use Theorem 18 on # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu GR G^R to derive conditional independences involving R, which translate into invariances across domains. Except for the solvability check (step 4), this is a purely graphical procedure. When applying the conditional invariances (Examples 22 and 24), one must carefully handle the null sets arising from conditioning on continuous variables. Tracking the null sets rigorously requires additional bookkeeping that we do not spell out here [9, see]. 6.2 Bathtub Examples Example 21 (Observational vs. do(Xg=ξg)do(X_g= _g)). Consider comparing the observational setting (domain A) with the setting where gravitational acceleration is fixed to ξg _g (domain B), for instance by “moving the bathtubs to Mars.” We introduce an exogenous variable UgU_g and write the joint model: f1: f_1: 0=XI−XO, 9.24994pt0=X_I-X_O, f2: f_2: 0=XKXP−XO, 9.24994pt0=X_K X_P-X_O, f3: f_3: 0=XgXD−XP, 9.24994pt0=X_gX_D-X_P, f4: f_4: 0=Xg−Ugif R=A,ξgif R=B. 9.24994pt0=X_g- casesU_g&if R=A,\\ _g&if R=B. cases The bipartite graph GRG^R has an additional equation node f4f_4 connected to XgX_g, UgU_g, and R. In the partial orientation # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu GR G^R (see Figure 4), the variables XPX_P and XOX_O are B-separated from R (unconditionally). By the Markov property: XP,XO⟂# �GRBR⟹XP,XO⟂⟂R⟹ℙA(XP,XO)=ℙB(XP,XO). splitX_P,X_O ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ R& X_P,X_O R\\ & _A(X_P,X_O)=P_B(X_P,X_O). split Equivalently, ℙ(XP,XO)=ℙ(XP,XO∥do(Xg=ξg))P(X_P,X_O)=P(X_P,X_O\,\|\,do(X_g= _g)). Hence, the joint distribution of pressure and outflow at equilibrium is invariant under changes in gravitational acceleration. Example 22 (Observational vs. do(f3:XD=ξD)do(f_3:X_D= _D)). Now compare the observational setting with the intervention do(f3:XD=ξD)do(f_3:X_D= _D) (sealing the bathtub). The joint model replaces f3f_3 by a domain-dependent equation: f1: f_1: 0=XI−XO, 9.24994pt0=X_I-X_O, f2: f_2: 0=XKXP−XO, 9.24994pt0=X_K X_P-X_O, f3: f_3: 0=XgXD−XPif R=A,XD−ξDif R=B. 9.24994pt0= casesX_gX_D-X_P&if R=A,\\ X_D- _D&if R=B. cases In the partial orientation # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu GR G^R (Figure 4), we have XO⟂# �GRBR|XD,XPX_O ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ R\,|\,X_D,X_P. By the Markov property: ℙA(XO|XD=ξD,XP)=ℙB(XO∥do(f3:XD=ξD)|XP). split&P_A(X_O\,|\,X_D= _D,X_P)\\ & =P_B(X_O\,\|\,do(f_3:X_D= _D)\,|\,X_P). split This means that the conditional distribution of outflow given pressure is the same whether we observe depth ξD _D or intervene to set it to ξD _D by sealing the bathtub. Example 23 (Observational vs. do(f1:XD=ξD)do(f_1:X_D= _D)). Comparing the observational setting with the intervention do(f1:XD=ξD)do(f_1:X_D= _D) (cutting the bathtub and letting it overflow) yields a joint model where f1f_1 is domain-dependent: f1: f_1: 0=XI−XOif R=A,XD−ξDif R=B, 9.24994pt0= casesX_I-X_O&if R=A,\\ X_D- _D&if R=B, cases f2: f_2: 0=XKXP−XO, 9.24994pt0=X_K X_P-X_O, f3: f_3: 0=XgXD−XP. 9.24994pt0=X_gX_D-X_P. In the partial orientation # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu GR G^R of this joint model (Figure 4), all endogenous variables and equations belong to a single cluster (all edges are double-undirected). The Markov property does not yield non-trivial conditional independences involving R. Thus, we cannot use it to relate the observational and interventional distributions in this case—which is consistent with the fact that this intervention fundamentally changes the entire causal structure of the system. Example 24 (do(f1:XD=ξD)do(f_1:X_D= _D) vs. do(f1:XD=ξD′)do(f_1:X_D= _D )). While we cannot relate the observational distribution to do(f1:XD=ξD)do(f_1:X_D= _D), we can relate two interventional distributions with different parameter values. Consider the joint model where both domains have the same structural form but different intervention values: f1: f_1: 0=XD−ξDif R=A,XD−ξD′if R=B, 9.24994pt0= casesX_D- _D&if R=A,\\ X_D- _D &if R=B, cases f2: f_2: 0=XKXP−XO, 9.24994pt0=X_K X_P-X_O, f3: f_3: 0=XgXD−XP. 9.24994pt0=X_gX_D-X_P. Note that in both domains, the causal ordering is the same (reversed compared to the observational setting): XD→XP→XOX_D→ X_P→ X_O. In the partial orientation # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu GR G^R (Figure 4), we have XO⟂# �GRBR|XPX_O ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ R\,|\,X_P. By the Markov property: ℙA(XO∥do(f1:XD=ξD)|XP)=ℙB(XO∥do(f1:XD=ξD′)|XP). split&P_A(X_O\,\|\,do(f_1:X_D= _D)\,|\,X_P)\\ & =P_B(X_O\,\|\,do(f_1:X_D= _D )\,|\,X_P). split Hence, overflowing bathtubs yield the same conditional distribution of outflow given pressure, regardless of their height. This conclusion might not be intuitively obvious but can easily be derived using our (mostly) graphical causal reasoning calculus. 7 Discussion and Related Work The BGCM framework extends several existing causal modeling frameworks. Every CBN, acyclic SCM, simple SCM, and general SCM can be represented as a BGCM. Conversely, the bathtub example demonstrates that BGCMs can represent systems whose causal semantics are not captured by any of these frameworks. Our approach builds on Simon’s causal ordering algorithm [22], the σ-separation criterion for cyclic SCMs [8], the D-separation criterion [12] and the framework of 3. The latter framework uses two distinct graphs that serve complementary purposes: 3 show that their Markov ordering graph does not correctly represent causal effects of interventions, while their causal ordering graph does not directly encode conditional independences. The notion that perfect interventions do(X=x)do(X=x) can be ambiguous was identified by 3, who proposed the refined notion do(fj:Xv=ξv)do(f_j:X_v= _v) to resolve the ambiguity. This refinement is essential for systems like the bathtub, where the same target variable value can be achieved through different mechanisms with different causal consequences. By performing a complete analysis of the causal semantics of the bathtub system under such interventions, we lend further credibility to their claim that this refined notion is a natural representation of “elementary” interventions. A key contribution of the present paper is that the partially oriented bipartite graph # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G encodes both the causal structure and the conditional independence structure in a single object: the cluster structure and edge directions encode the causal ordering, while B-separation encodes conditional independences. This is more convenient, as it avoids the need to construct and switch between multiple graphs, and it retains the equation nodes so that the intervention structure remains directly visible. Furthermore, our B-separation Markov property is more powerful than the Markov properties derived by 3: by also exploiting the functional determinism among the variables, further conditional independences are obtained.77 7 Our results also imply that these could alternatively be obtained by using D-separation in the Markov ordering graph. Finally, our extended Markov property, which handles Markov kernels with non-random inputs through transitional conditional independence [10], has no counterpart in that work. We believe that these features may also facilitate future extensions and applications. The BGCM framework is closely related to how engineers reason about causality [11, 5, 16]. In modeling languages such as Modelica, systems are specified as sets of “acausal” equations, and causality is derived automatically through symbolic analysis—precisely the kind of analysis formalized by Simon’s causal ordering algorithm and the BGCM framework. When the bipartite graph does not admit a perfect matching, the Dulmage-Mendelsohn decomposition [7] provides a useful generalization that can represent overcomplete subsystems (more equations than variables) and incomplete subsystems (more variables than equations). 3 demonstrate how marginal Markov properties for the complete and overcomplete subsystems can still be derived in this general setting. To our knowledge, there is little other work using bipartite graphs for causal inference. 25 introduce a framework for estimating causal effects under interference when the treated units are distinct from the observed units. 21 prove that every valid graph in the observational equivalence class of linear Gaussian cyclic SCMs corresponds to a perfect matching. 8 Conclusion We have proposed bipartite graphical causal models (BGCMs) as a causal modeling framework that uses bipartite graphs with equation nodes and variable nodes. This framework offers several advantages. First, it reduces the ambiguity inherent in specifying interventions by requiring that hard interventions explicitly reference the equation being replaced. Second, Simon’s causal ordering algorithm provides a principled method for deriving the partial orientation of the bipartite graph, which encodes the causal structure. Third, the B-separation criterion and the resulting Markov property propagate conditional independences along the partial ordering. Fourth, the Markov property facilitates causal reasoning about domain invariances, providing a generalization of Pearl’s do-calculus to BGCMs. BGCMs naturally model equilibrium systems such as the bathtub, and can be applied to a wide range of other systems, including equilibrated economic markets (e.g., supply–demand systems, see Appendix H), electronic circuits, and biochemical reaction networks [2]. Directions for future work include dynamical extensions incorporating (stochastic) differential equations, and the development of structure learning algorithms for BGCMs. Acknowledgements. I thank Claude Code (Opus 4.6–4.8) for assistance in the writing process, and Kathy Molenaar for useful discussions. References Blom et al. (2020) T. Blom, S. Bongers, and J. M. Mooij Beyond structural causal models: causal constraints models. In Proceedings of the 35th Uncertainty in Artificial Intelligence Conference (UAI-19), R. P. Adams and V. Gogate (Eds.), Proceedings of Machine Learning Research, Vol. 115, p. 585–594. External Links: Link Cited by: §2.1. Blom and Mooij (2023) T. Blom and J. M. Mooij Causality and independence in perfectly adapted dynamical systems. Journal of Causal Inference 11, p. 20210005. External Links: Link Cited by: §8. Blom et al. (2021) T. Blom, M. M. van Diepen, and J. M. Mooij Conditional independences and causal relations implied by sets of equations. Journal of Machine Learning Research 22 (178), p. 1–62. External Links: Link Cited by: item 3, §1, §1, §2.1, §5.1, §7, §7, §7, §7, footnote 1. Bongers et al. (2021) S. Bongers, P. Forré, J. Peters, and J. M. Mooij Foundations of structural causal models with cycles and latent variables. Annals of Statistics 49 (5), p. 2885–2915. External Links: Document Cited by: Appendix C, §1, §2.1. Bunus and Fritzson (2002) P. Bunus and P. Fritzson Methods for structural analysis and debugging of modelica models. In 2nd International Modelica Conference Proceedings, p. 157–165. Cited by: §1, §7. Dawid (1979) A. P. Dawid Conditional independence in statistical theory. Journal of the Royal Statistical Society: Series B (Methodological) 41 (1), p. 1–15. Cited by: §C.2. Dulmage and Mendelsohn (1958) A. L. Dulmage and N. S. Mendelsohn Coverings of bipartite graphs. Canadian Journal of Mathematics 10, p. 517–534. Cited by: §7, Lemma 4. Forré and Mooij (2017) P. Forré and J. M. Mooij Markov properties for graphical models with cycles and latent variables. arXiv.org preprint arXiv:1710.08775 [math.ST]. External Links: Link Cited by: Appendix B, §C.1, Appendix C, §4.1, §4.1, §7. Forré and Mooij (2025) P. Forré and J. M. Mooij A mathematical introduction to causality. Note: Lecture Notes External Links: Link Cited by: §6.1. Forré (2021) P. Forré Transitional conditional independence. arXiv.org preprint arXiv:2104.11547 [math.ST]. External Links: Link Cited by: §D.1, Appendix D, Appendix D, Appendix D, Appendix D, Appendix D, Appendix D, item 4, §4.3, §4.3, §7. Frisk et al. (2012) E. Frisk, A. Bregon, J. Aslund, M. Krysander, B. Pulido, and G. Biswas Diagnosability analysis considering causal interpretations for differential constraints. IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans 42 (5), p. 1216–1229. External Links: Document Cited by: §7. Geiger et al. (1990) D. Geiger, T. Verma, and J. Pearl Identifying independence in Bayesian networks. Networks 20 (5), p. 507–534. Cited by: Appendix B, Appendix B, Appendix B, §C.2, Appendix C, §4.1, §7. Hopcroft and Karp (1973) J. E. Hopcroft and R. M. Karp An n5/2n^5/2 algorithm for maximum matchings in bipartite graphs. SIAM Journal on Computing 2, p. 225–231. External Links: Document Cited by: §3.2. Iwasaki and Simon (1994) Y. Iwasaki and H. A. Simon Causality and model abstraction. Artificial intelligence 67, p. 143–194. Cited by: §1, §3.1. Kechris (1995) A. S. Kechris Classical descriptive set theory. Graduate Texts in Mathematics, Vol. 156, Springer-Verlag, New York. Cited by: Appendix A. Krysander and Nyberg (2002) M. Krysander and M. Nyberg Structural analysis for fault diagnosis of dae systems utilizing mss sets. IFAC Proceedings Volumes 35 (1), p. 143–148. Note: 15th IFAC World Congress External Links: ISSN 1474-6670, Document, Link Cited by: §7. Lauritzen et al. (1990) S.L. Lauritzen, A.P. Dawid, B.N. Larsen, and H.-G. Leimer Independence properties of directed Markov fields. Networks 20 (5), p. 491–505. Cited by: §C.1. Lauritzen (1996) S.L. Lauritzen Graphical models. Oxford Statistical Science Series, Vol. 17, Clarendon Press, Oxford. Cited by: Appendix B, §C.1. Nayak (1995) P. Nayak Automated modeling of physical systems. Springer-Verlag, Berlin. Cited by: §2.1, §3.2. Pearl (2009) J. Pearl Causality: models, reasoning and inference. Cambridge University Press, . Cited by: Appendix B, §C.1, item 5, §1, §2.1, §6. Sharifian et al. (2025) E. Sharifian, S. Salehkaleybar, and N. Kiyavash Near-optimal experiment design in linear non-Gaussian cyclic models. In Advances in Neural Information Processing Systems (NeuRIPS 2025), D. Belgrave, C. Zhang, H. Lin, R. Pascanu, P. Koniusz, M. Ghassemi, and N. Chen (Eds.), Vol. 38, p. 63520–63538. Cited by: §7. Simon (1953) H. A. Simon Causal ordering and identifiability. In Studies in Econometric Methods, p. 49–74. Cited by: §1, §2.1, §3.2, §7. Spirtes (1995) P. Spirtes Directed cyclic graphical representations of feedback models. In Proceedings of the Eleventh Conference on Uncertainty in Artificial Intelligence (UAI-95), p. 499–506. Cited by: Appendix C. Verma and Pearl (1988) T. Verma and J. Pearl Causal networks: semantics and expressiveness. In Proceedings of the Fourth Conference on Uncertainty in Artificial Intelligence (UAI), p. 352–359. Cited by: Appendix B. Zigler and Papadogeorgou (2021) C. M. Zigler and G. Papadogeorgou Bipartite causal inference with interference. Statistical Science 36 (1), p. 109–123. External Links: Document Cited by: §7. Causal Reasoning with Bipartite Graphical Causal Models (Supplementary Material) This Supplementary Material contains proofs of the main results and additional details. Appendix A Measurability of Solution Functions We use the following standard measurable-graph fact to justify that the uniquely defined solution functions appearing in the main text are measurable. Lemma 25 (Measurability of uniquely defined solution maps). Let X and Y be standard Borel spaces, let Z be a measurable space, let z0∈z_0 be such that z0\z_0\ is measurable, and let H:×→H:X×Y be measurable. Suppose that for every x∈x there exists a unique y=:ψ(x)∈y=:ψ(x) such that H(x,y)=z0H(x,y)=z_0. Then ψ:→ψ:X is measurable. Proof. The graph of ψ is Γψ=(x,y)∈×:H(x,y)=z0. _ψ=\(x,y) ×Y:H(x,y)=z_0\. This set is measurable because it is the inverse image of z0\z_0\ under the measurable map (x,y)↦H(x,y)(x,y) H(x,y). Hence, by [15, 14.12], ψ is measurable. ∎ Corollary 26 (Measurability of cluster solution functions). Under Assumption 10, suppose an endogenous cluster [c][c] is uniquely solvable in the sense of Definition 9. Then its local solution function Φ[c]:pa# �G([c])→[c]∩V ^[c]:X_pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c]) _[c]∩ V is measurable. Proof. Write :=pa# �G([c])X:=X_pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c]) and :=[c]∩VY:=X_[c]∩ V. For each equation fj∈F∩[c]f_j∈ F∩[c], the variables occurring in fjf_j are contained in ([c]∩V)∪pa# �G([c])([c]∩ V) _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c]). Hence the measurable equation map ϕj _j induces a measurable function of ×→ℝX×Y . Collect these equations into the measurable map H:×→ℝF∩[c]:(x,y)↦(ϕj(x,y))j∈F∩[c].H:X×Y ^F∩[c]:(x,y) ( _j(x,y))_j∈ F∩[c]. Unique solvability says that for every parent value x∈x there is a unique y=Φ[c](x)y= ^[c](x) such that H(x,y)=0H(x,y)=0. Lemma 25 therefore implies that Φ[c] ^[c] is measurable. ∎ Since the graph has finitely many clusters, recursive substitution of the measurable local solution functions along the causal ordering shows that the global solution function Φ:U→V :X_U _V of Proposition 11 is measurable as well. Appendix B Preliminaries on d-Separation and D-Separation We recall the standard notion of d-separation, introduced by 24 (see also 18, 20), and, for graphs with deterministic relations, that of D-separation [12]. Definition 27 (d-blocking). A walk v1…vkv_1… v_k on a DAG G is d-blocked by C⊆VC V, if it contains: • a collider vi−1→vi←vi+1v_i-1→ v_i ←v_i+1 with vi∉ancG(C)v_i _G(C), or • a non-collider (possibly endpoint) vi∈Cv_i∈ C. Otherwise, the walk is called d-open given C. Definition 28. Let A,B,C⊆VA,B,C V be sets of variable nodes in a DAG G. We say that A and B are d-separated given C in G, written A⟂GdB|C,A ^d_GB\,|\,C, if every walk from a node in A to a node in B is d-blocked by C in G.88 8 It suffices if every path from a node in A to a node in B is d-blocked by C in G, yielding an equivalent formulation of d-separation that is easier to check manually. Definition 29 (Functionally determined in an acyclic SCM). Let C⊆VC V be a subset of nodes in an acyclic SCM with graph G, with exogenous nodes U and endogenous nodes V∖UV U. Define C0:=C_0:=C and Cn+1:=Cn∪v∈V∖U:paG(v)⊆Cn.C_n+1:=C_n∪\v∈ V U:pa_G(v) C_n\. We define fdetG(C):=⋃n≥0Cnfdet_G(C):= _n≥ 0C_n and refer to those as the nodes that are functionally determined by C. The following definition is inspired by [12]. Definition 30 (D-separation). Let A,B,C⊆VA,B,C V be sets of nodes in an acyclic SCM with graph G (exogenous nodes U, endogenous V∖UV U). We say that A and B are D-separated given C in G, written A⟂GDB|CA ^D_GB\,|\,C, if A⟂GdB|fdetG(C)A ^d_GB\,|\,fdet_G(C) (formulation (2)(2) of Lemma 31). This formulation of D-separation (which corresponds with formulation (2) in the following lemma) is equivalent to two other formulations: Lemma 31. Let A,B,CA,B,C be sets of nodes in an acyclic SCM with graph G, with exogenous nodes U and endogenous nodes V∖UV U. Let fdetG(C)fdet_G(C) be the nodes in the DAG that are functionally determined by C (as in Definition 29). The following three formulations of D-separation are equivalent: 1. all walks between a node in A and a node in B contain (a) a collider not in ancG(C)anc_G(C) (b) a non-endpoint non-collider in fdetG(C)fdet_G(C) (c) an end node in fdetG(C)fdet_G(C) 2. all walks between a node in A and a node in B contain (a) a collider not in ancG(fdetG(C))anc_G(fdet_G(C)) (b) a non-endpoint non-collider in fdetG(C)fdet_G(C) (c) an end node in fdetG(C)fdet_G(C) (⇔ A, B are d-separated given fdetG(C)fdet_G(C)) 3. all walks between a node in A and a node in B contain (a) a collider not in ancG(C)anc_G(C) (b) a non-endpoint non-collider in C (c) an end node in fdetG(C)fdet_G(C) (d) a fork in fdetG(C)fdet_G(C) Proof. Write C¯:=fdetG(C) C:=fdet_G(C). From Definition 29 we have C⊆C¯C C and n∈C¯∖C⟹n∈V∖U and paG(n)⊆C¯;n∈ C C\; \;n∈ V U and pa_G(n) C; (4) in particular ancG(C)⊆ancG(C¯)anc_G(C) _G( C). On a walk π we call an internal node a collider if both incident edges point into it, a fork if both point out of it, and a chain if one points in and one out; the two end nodes are treated separately. A parent-neighbor of a node n on π is a neighbor p on π with p→np→ n in G; thus a collider has two parent-neighbors, a chain has one, and a fork has none. Call π j-active if it is not blocked according to formulation (j)(j). We prove that the three notions of “active” coincide on every walk π between A and B; the equivalence of the three “all walks are blocked” statements is then immediate. (1)⇔(2)(1) (2). The two criteria differ only in the collider clause, and ancG(C)⊆ancG(C¯)anc_G(C) _G( C), so a collider outside ancG(C¯)anc_G( C) is also outside ancG(C)anc_G(C); as the other clauses coincide, every walk blocked under (2)(2) is blocked under (1)(1), i.e., every 11-active walk is 22-active. Conversely, let π be 22-active: every collider lies in ancG(C¯)anc_G( C), and no node of C¯ C occurs on π as a non-collider or as an end node. Let k be a collider of π; we show k∈ancG(C)k _G(C). If k∈C¯k∈ C then in fact k∈Ck∈ C: otherwise (4) gives paG(k)⊆C¯pa_G(k) C, so the two parent-neighbors of k would be nodes of C¯ C occurring as non-colliders or end nodes, contradicting 22-activity; hence k∈C⊆ancG(C)k∈ C _G(C). If k∉C¯k∉ C, pick a shortest directed path k→n1→…→ntk→ n_1→…→ n_t with nt∈C¯n_t∈ C (one exists since k∈ancG(C¯)k _G( C)), so that n1,…,nt−1∉C¯n_1,…,n_t-1∉ C. Were nt∈C¯∖Cn_t∈ C C, then (4) would place its predecessor on the path—nt−1n_t-1, or k if t=1t=1—in paG(nt)⊆C¯pa_G(n_t) C, contradicting the choice of that predecessor outside C¯ C. Hence nt∈Cn_t∈ C and k∈ancG(C)k _G(C). So every collider of π lies in ancG(C)anc_G(C) and π is 11-active. (1)⇔(3)(1) (3). The collider clause and the end-node clause are identical in the two formulations. If π is 11-active it has no internal non-collider in C¯ C; in particular it has no internal non-collider in C and no fork in C¯ C, so π is 33-active. Conversely, let π be 33-active. To show it is 11-active it suffices to rule out internal non-colliders in C¯ C. Forks in C¯ C are excluded by 33-activity, and chains in C are excluded as well, so the only remaining possibility is a chain node m∈C¯∖Cm∈ C C; suppose one occurs. Define q0:=mq_0:=m and let qi+1q_i+1 be the parent-neighbor of qiq_i, continuing as long as qiq_i is a chain in C¯∖C C C (which by (4) guarantees a parent-neighbor in C¯ C). Each qiq_i lies in C¯ C, and qi+1→qi→…→q0q_i+1→ q_i→…→ q_0 is a directed path in the DAG G, so the qiq_i are distinct and the process stops, at some qk∈C¯q_k∈ C. Since qkq_k has an edge pointing out of it (toward qk−1q_k-1), it is not a collider. If qkq_k is an end node, then an end node lies in C¯ C; if qkq_k is a fork, then a fork lies in C¯ C; and if qkq_k is a chain, then—the process having stopped—qk∈Cq_k∈ C, so an internal non-collider lies in C. Each case contradicts 33-activity. Hence no chain node of π lies in C¯∖C C C, so π has no internal non-collider in C¯ C and is 11-active. Thus the three notions of “active” (equivalently, of “blocked”) coincide on every walk, and the three formulations of D-separation are equivalent. By definition, formulation (2)(2) is d-separation of A and B given C¯ C. ∎ 12 defined D-separation (restricted to disjoint A,B,CA,B,C) with formulation (3)(3), and showed that it is equivalent to formulation (1)(1). What Lemma 31 adds is the equivalence with formulation (2)(2): D-separation given C coincides with ordinary d-separation given the enlarged conditioning set C¯=fdetG(C) C=fdet_G(C).99 9 This equivalence was observed by Claude Code. This reduction is useful because it lets us fall back on the theory of d-separation, which is considerably wider in scope than that of D-separation: it extends to cyclic systems through σ-separation [8] and underpins a broad range of Markov-property, completeness, and algorithmic results that have no direct D-separation counterpart. Appendix C Proof of the Markov Property Our strategy to prove the Markov property for BGCMs (Theorem 16) will be as follows. We will first ignore deterministic relations and prove a weaker Markov property using a separation notion that we call b-separation (lowercase b for “bipartite”). This separation notion is designed to correspond to d-separation on the acyclification, a directed acyclic graph constructed from the partially ordered bipartite graph. This mimics the acyclification strategy for cyclic SCMs [23, 8, 4]. However, we do not make the clusters (corresponding to strongly connected components in SCMs) fully connected, because we typically work with the augmented graph that contains all nodes, including exogenous random variable nodes, and there is no reason to assume a latent noise source feeds into a cycle. From the equivalence of b-separation on the partially oriented bipartite graph and d-separation on its acyclification (Lemma 38), we then prove a b-separation Markov property (Theorem 39) by reduction to the standard Markov property for acyclic SCMs. We then strengthen the Markov property by taking into account determinism, analogous to how D-separation [12] strengthens d-separation in Bayesian networks. The key intuition is: once every parent of a cluster is fixed by the conditioning information, all variables in the cluster are fixed too. This leads directly to the notion of B-separation. Similarly to how D-separation is related to d-separation, B-separation can be expressed in terms of b-separation (Lemma 41). This observation allows us to obtain Theorem 16 as a Corollary of Theorem 39. C.1 b-Separation Markov Property We repeatedly make use of the following elementary consequences of the definitions: • Directed edges in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G always point from variable to equation; • Parents of a cluster are variables; • For a walk between two variable nodes, all segment exits will be variable nodes; • The end nodes of the walk are always exits of their segments. We will also use that clusters are connected by double-undirected edges. Lemma 32 (Double-edge connectivity of clusters). Let a,b∈V∪Fa,b∈ V∪ F. If a∼ba b, then there exists a possibly trivial walk from a to b in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G that uses only == -9.0mu edges and whose nodes all lie in [a]=[b][a]=[b]. Proof. It suffices to prove the claim for each generating relation in Definition 3, since walks can then be concatenated along a finite chain of such relations. If a--ba -9.0mu b is a matched edge, then a∼ba b, so this edge is oriented as a==ba -9.0mu b in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G by Definition 5. If a and b lie on a common closed M-alternating walk, take the subwalk of that closed walk from a to b. Every edge on this subwalk has both endpoints on the same closed M-alternating walk, hence its endpoints are equivalent; by Definition 5, each such edge is therefore oriented as == -9.0mu . The resulting walk stays inside the common equivalence class. ∎ We first define the appropriate acyclification. Definition 33. For a partially oriented bipartite graph # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G with variable nodes V and equation nodes F, we define its acyclification as the directed acyclic graph # �Gacy=(V,Eacy) # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy=(V,E^acy) with nodes V and with a directed edge v→v′v→ v for v,v′∈Vv,v ∈ V if and only if v∈pa# �G([v′])v _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v ]). First we show that “anterior in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G ” (at the node level) corresponds to “ancestral in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy” (at the cluster level). Lemma 34. For nodes a,b∈Va,b∈ V: a∈ant# �G(b)⇔[a]∩anc# �Gacy(b)≠∅.a _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (b) [a] _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(b)≠ . Proof. Let π be an anterior walk in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G , that is, a walk of the form s1,1==…==s1,k1→s2,1==…==s2,k2→…→sm,1==…==sm,kms_1,1 -9.0mu … -9.0mu s_1,k_1→ s_2,1 -9.0mu … -9.0mu s_2,k_2→…→ s_m,1 -9.0mu … -9.0mu s_m,k_m which we partitioned into maximal subwalks sis_i of equivalent nodes, each sis_i being of the form si,1==…==si,kis_i,1 -9.0mu … -9.0mu s_i,k_i (with possibly ki=1k_i=1). We project it onto a directed walk in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy by picking from each segment sis_i the outgoing node si,kis_i,k_i: s1,k1→s2,k2→…→sm,km.s_1,k_1→ s_2,k_2→…→ s_m,k_m. Hence, if s1,1s_1,1 is anterior to sm,kms_m,k_m in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G , then s1,k1s_1,k_1 is an ancestor of sm,kms_m,k_m in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy. Since s1,k1∈[s1,1]s_1,k_1∈[s_1,1], the claim follows. Vice versa, let πacyπ^acy be a directed walk in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy: v1→…→vm.v_1→…→ v_m. By definition, each edge in πacyπ^acy connects variables in different clusters of # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G . The edge vi→vi+1v_i→ v_i+1 in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy (with vi∈pa# �G([vi+1])v_i _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v_i+1])) can be lifted to a walk in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G as follows. Choose an equation fi∈F∩[vi+1]f_i∈ F∩[v_i+1] with vi→fiv_i→ f_i in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G , and connect fif_i to vi+1v_i+1 by a == -9.0mu -walk within [vi+1][v_i+1] using Lemma 32, resulting in the lift vi→fi==⋯==vi+1v_i→ f_i -9.0mu ·s -9.0mu v_i+1 in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G . Concatenating these lifts yields an anterior walk in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G from v1v_1 to vmv_m. By concatenating this with the double-edge walk from Lemma 32, we may obtain an anterior walk in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G from any node in [v1][v_1] to vmv_m. Hence, if a node in [a][a] is ancestral to b in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy, then a itself is anterior to b in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G . ∎ The following notion is related to the segment-based version of σ-separation [8], but strengthens it by adding another way in which non-collider segments can block (the third rule). Definition 35 (b-blocking). For C⊆VC V, the walk is called b-blocked by C if it contains: 1. a collider segment that does not intersect ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C), or 2. a non-collider segment that has an exit in C, or 3. a non-collider segment with two distinct exits whose cluster has all its # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G -parents in C. Otherwise, the walk is called b-open given C. Note: Since the two end nodes qualify as exits, an end node in C always b-blocks the walk. Definition 36 (b-separation). Let A,B,C⊆VA,B,C V be sets of variable nodes. We say that A and B are b-separated given C in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G , written A⟂# �GbB|C,A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C, if every walk from a node in A to a node in B is b-blocked by C in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G .1010 10 Thanks to rule 3 of Definition 35, it is equivalent to require only that every path from A to B be b-blocked by C (Lemma 37); the path formulation is usually more convenient to check by hand. The three rules in which b-separation blocks a walk mirror, segment by segment, the way d-separation blocks the corresponding structure in the acyclification # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy (Lemma 38): a collider segment projects to a collider whose center is a common child; a non-collider segment with a single exit v (a chain, an endpoint, or a one-node fork ←v→ ←v→) projects to a chain/fork centered at v, blocked iff v∈Cv∈ C; and a non-collider segment with two distinct exits a≠ba≠ b projects to a fork a←p→ba ←p→ b through a common parent p, blocked iff a∈Ca∈ C or b∈Cb∈ C or every such p lies in C.1111 11 Note that a one-node fork ←v→ ←v→ has a single (distinct) exit and is thus governed by rule 2 only, not rule 3. We added the third rule to make b-separation via walks coincide with b-separation via paths. Lemma 37 (b-separation via walks or paths). For all A,B,C⊆VA,B,C V, every walk from A to B is b-blocked by C if and only if every path from A to B is b-blocked by C. Proof. Since paths are walks, “all walks b-blocked” implies “all paths b-blocked”. Conversely, suppose there exists a b-open walk from A to B, and among all such walks with the same end nodes choose one, say π, of minimal length. We show that π has no repeated node, and hence is a b-open path. First note that no segment of π contains the same node twice. Indeed, if a segment contains two occurrences of a node y, deleting the closed == -9.0mu -subwalk between these two occurrences gives a strictly shorter walk with the same end nodes. Only this segment is changed; its bounding directed edges, exits, and cluster remain the same. Hence rules 2 and 3 of Definition 35 have the same truth value before and after the deletion. If the segment is a collider, then, since π is b-open, it meets ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). But all nodes in a segment are connected by == -9.0mu -walks, so if one node of the segment is anterior to C, then every node of the segment is anterior to C. Thus the shortened collider segment is still activated. The shortened walk is therefore b-open, contradicting the minimality of π. Now suppose, for contradiction, that π nevertheless visits some node twice. Write π=n0,e1,…,ek,nkπ=n_0,e_1,…,e_k,n_k, let x=nμ=nνx=n_μ=n_ν with μ<νμ<ν and let π′π be obtained by deleting eμ+1,…,nνe_μ+1,…,n_ν, i.e., π′=n0,…,nμ,eν+1,nν+1,…,nkπ =n_0,…,n_μ,e_ν+1,n_ν+1,…,n_k. This is a valid walk, since eν+1e_ν+1 joins nν=nμn_ν=n_μ to nν+1n_ν+1, and its end nodes n0,nkn_0,n_k are unchanged. The two occurrences of x lie in distinct segments of π, since no segment of π contains a repeated node. Let s′s be the segment of π containing the occurrence nμn_μ, and s′s the segment containing nνn_ν; both lie in [x][x]. In π′π the part of s′s from its left boundary to nμn_μ and the part of s′s from nνn_ν to its right boundary merge into a single segment t⊆[x]t [x] whose left bounding edge is that of s′s (if applicable) and whose right bounding edge is that of s′s (if applicable). Hence t has a left exit iff s′s does, and a right exit iff s′s does. Every other segment of π′π coincides with a segment of π (same nodes, bounding edges, exits, and type), so π′π can fail to be b-open only at t. We show t does not b-block. Rule 1 (collider). Suppose t is a collider, i.e., s′s has no left exit and s′s has no right exit. If s′s is itself a collider then, being a segment of the b-open π, it meets ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C); as s′⊆[x]=[t]s [x]=[t], so does t. The same holds if s′s is a collider. Otherwise s′s has a right exit ρ′ρ and s′s a left exit λ′λ , both variables of [x][x] whose exit edges point into strict descendant clusters. Hence the deleted sub-walk leaves [x][x] downward at ρ′ρ and re-enters it from below at λ′λ , so along it some descending edge (one traversed from its variable into a child cluster) is immediately followed—across a single segment—by an ascending edge; the first such segment s†s is a collider, and every directed edge before it descends, so [x][x] is anterior to s†s . As π is b-open, s†s meets ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C); since [x][x] is anterior to s†s , so does [x][x]. Rule 2. Every exit of t is a left exit of s′s or a right exit of s′s , hence an exit of a segment of the b-open π, hence not in C. Rule 3. Suppose t has two distinct exits and pa# �G([x])⊆Cpa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([x]) C; we derive a contradiction. Then s′s has a left exit ℓ and s′s a right exit r with ℓ≠r ≠ r. Consider the right bounding edge of s′s . • If it points out of s′s , its endpoint ρ′ρ is a right exit of s′s . If ρ′≠ℓρ ≠ , then s′s has two distinct exits and pa# �G([x])⊆Cpa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([x]) C, so s′s already b-blocks π—a contradiction. If ρ′=ℓρ = , then s′=ℓs =\ \ is a single node, because no segment of π contains a repeated node; hence ℓ=x =x. Now x also lies on s′s , while s′s has right exit r≠xr≠ x. If the left bounding edge of s′s pointed out of s′s , its left exit would be distinct from r (otherwise s′s would repeat r, or would be the single node r, both impossible since it also contains x≠rx≠ r), so s′s would have two distinct exits and would already b-block π. Thus the left boundary of s′s is an equation entered by an edge q→⋅q→· with q∈pa# �G([x])⊆Cq _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([x]) C; then q is a right exit lying in C of the segment preceding s′s , which therefore b-blocks π—a contradiction. • If it points into s′s , the right boundary of s′s is an equation entered by an edge ⋅←q′· ←q with q′∈pa# �G([x])⊆Cq _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([x]) C; then q′q is a left exit lying in C of the segment following s′s , which b-blocks π—a contradiction. Hence t does not b-block, so π′π is b-open. This contradicts the minimality of π. Therefore the minimal b-open walk π has no repeated node, i.e., it is a b-open path from A to B. ∎ The following lemma shows that we have correctly designed b-separation such that it is equivalent to d-separation in the acyclification. Lemma 38. For all A,B,C⊆VA,B,C V: A⟂# �GbB|C⇔A⟂# �GacydB|C.A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C A ^d_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acyB\,|\,C. Proof. “⇒ ”: b-separation implies d-separation in the acyclification. By contrapositive: given a path πacy=v0,v1,…,vkπ^acy=v_0,v_1,…,v_k in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy from v0∈Av_0∈ A to vk∈Bv_k∈ B that is d-open given C, we construct a walk π in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G between v0v_0 and vkv_k that is b-open given C. By definition, each edge in πacyπ^acy connects variables in different clusters of # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G . It can be lifted to a walk in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G by lifting each directed edge in the same way as in the proof of Lemma 34: vi→vi+1v_i→ v_i+1 on πacyπ^acy is lifted to vi→fi==⋯==vi+1v_i→ f_i -9.0mu ·s -9.0mu v_i+1 in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G vi←vi+1v_i ←v_i+1 on πacyπ^acy is lifted to vi==⋯==fi←vi+1v_i -9.0mu ·s -9.0mu f_i ←v_i+1 in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G . Concatenating these lifts yields a walk π in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G between v0v_0 and vkv_k. We show that π is b-open given C by checking each possibility in which it could be blocked (cf. Definition 35). • A collider segment stems from the concatenated lifts vi−1→fi−1==⋯==vi==⋯==fi←vi+1v_i-1→ f_i-1 -9.0mu ·s -9.0mu v_i -9.0mu ·s -9.0mu f_i ←v_i+1 of some collider vi−1→vi←vi+1v_i-1→ v_i ←v_i+1 on πacyπ^acy. Since πacyπ^acy is d-open given C, vi∈anc# �Gacy(C)v_i _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(C), hence vi∈ant# �G(C)v_i _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) (by Lemma 34). All nodes in the segment are anterior to viv_i, and by transitivity, each node in the segment lies in ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). Thus the segment does not b-block. • A non-collider segment stems from a non-collider viv_i on πacyπ^acy (a chain, a fork, or an end node). The lift preserves outgoing edges on variable nodes, and it preserves end points. So viv_i must be an exit of the segment. The lifting procedure cannot generate a segment with two distinct exits. Since πacyπ^acy is d-open given C and viv_i is a non-collider on πacyπ^acy, we have vi∉Cv_i∉ C. Thus the segment does not b-block. Hence, π is b-open given C. “⇐ ”: d-separation in the acyclification implies b-separation. By contrapositive: given a walk π=r0,r1,…,rnπ=r_0,r_1,…,r_n in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G from r0∈Ar_0∈ A to rn∈Br_n∈ B that is b-open given C, we construct a walk πacyπ^acy in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy between r0r_0 and rnr_n that is d-open given C. The walk π consists of segments s1,…,sms_1,…,s_m separated by directed edges; each such directed edge is of the form v→fv→ f or f←vf ←v with v∈Vv∈ V, f∈Ff∈ F, and v∈pa# �G([f])v _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([f]). We project each segment sis_i to a piece (node viv_i or a walk ai←pi→bia_i ←p_i→ b_i), according to its type: • A collider segment sis_i is b-open, so it intersects ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C); we pick a node vi∈[si]∩V∩anc# �Gacy(C)v_i∈[s_i]∩ V _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(C) (which exists by Lemma 34) and project sis_i to viv_i. On πacyπ^acy, viv_i will become a collider →vi←→ v_i ←, which is d-open given C as vi∈anc# �Gacy(C)v_i _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(C). • A non-collider segment with a single exit viv_i (a chain, a one-node fork, or an end node r0r_0 resp. rnr_n): since π is b-open, vi∉Cv_i∉ C; we project sis_i to viv_i. As viv_i either carries an outgoing edge leaving its cluster or is an end node, it is a non-collider (chain, fork, or endpoint) on πacyπ^acy, and d-open since vi∉Cv_i∉ C. • A non-collider segment with two distinct exits ai≠bia_i≠ b_i: since π is b-open, ai,bi∉Ca_i,b_i∉ C and there must be a parent pi∈pa# �G([si,1])∖Cp_i _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([s_i,1]) C; we project sis_i to the fork ai←pi→bia_i ←p_i→ b_i. As both ai,bia_i,b_i either carry an outgoing edge leaving their cluster or form an end node, they are non-colliders on πacyπ^acy, and both are d-open given C because ai,bi∉Ca_i,b_i∉ C. Additionally, pip_i does not d-block given C on πacyπ^acy as pi∉Cp_i∉ C. The consecutive pieces are joined together to form a walk, preserving the directed edges that separated the segments on π. By construction, two consecutive variable nodes on this sequence must lie in different clusters, and one must be parent of the other in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy. The resulting walk πacyπ^acy is d-open given C by construction. ∎ We can now prove the global Markov property for partially oriented bipartite graphs via reduction to the Markov property for acyclic SCMs. Theorem 39. Suppose Assumption 10 holds. When assigning independent distributions to all exogenous variables, the resulting joint distribution ℙ(XV)P(X_V) satisfies: for all A,B,C⊆VA,B,C V, A⟂# �GbB|C⟹XA⟂⟂ℙ(XV)XB|XC.A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C X_A _P(X_V)X_B\,|\,X_C. Proof. The clusters of # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G are partially ordered by the directed edges between them. For each endogenous cluster [v][v] with v∈V∖Uv∈ V U, clusterwise unique solvability (Assumption 10) provides a cluster solution function Φ[v] ^[v] that expresses the endogenous variables X(V∖U)∩[v]X_(V U)∩[v] as a function of the parent variables Xpa# �G([v])X_pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v]). Write Φw[v] _w^[v] for the component of Φ[v] ^[v] corresponding to variable w∈(V∖U)∩[v]w∈(V U)∩[v]. Replace the original system of equations by the acyclic system: for each endogenous variable v∈(V∖U)v∈(V U), the structural equation is Xv=Φv[v](Xpa# �G([v])).X_v= _v^[v](X_pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v])). Each exogenous variable XuX_u (u∈Uu∈ U) retains its original independent distribution. By construction, the solutions of the rewritten system coincide with the solutions of the original system (Proposition 11): in both cases, variables are determined by recursively substituting cluster solution functions along the partial ordering of the clusters. The rewritten system is an acyclic SCM: the structural equation for each variable v depends only on variables in strictly earlier clusters. Now by Lemma 38, the assumption A⟂# �GbB|CA ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C implies: A⟂# �GacydB|C.A ^d_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acyB\,|\,C. The graph of the rewritten acyclic SCM is a subgraph of the acyclification DAG # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy (it can be a strict subgraph if one or more functional dependences cancel out). By the standard directed global Markov property for acyclic SCMs with independent exogenous variables [17, see also 18, 20]: XA⟂⟂ℙ(XV)XB|XC.∎X_A _P(X_V)X_B\,|\,X_C. C.2 Accounting for Determinism We now strengthen the Markov property for partially oriented bipartite graphs by taking into account determinism, analogous to how D-separation [12] strengthens d-separation in Bayesian networks. We will write S⪯TS T iff XSX_S is a measurable function of XTX_T. Lemma 40. Let A,B,S,T⊆VA,B,S,T V with S⪯TS T. Then: XA⟂⟂ℙ(XV)XB|XS∪T⇔XA⟂⟂ℙ(XV)XB|XT.X_A _P(X_V)X_B\,|\,X_S∪ T X_A _P(X_V)X_B\,|\,X_T. Proof. This follows from the elementary axioms for conditional independence [6]. ∎ Although B-blocking is stated with ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) in its collider rule (Definition 14), B-separation in fact coincides with b-separation given the enlarged conditioning set fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). This equivalence is the graphical device behind the strengthening. Lemma 41. For all C⊆VC V, a walk is B-blocked by C if and only if it is b-blocked by fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). Hence, for all A,B,C⊆VA,B,C V: A⟂# �GBB|C⇔A⟂# �GbB|fdet# �G(C).A ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). Proof. We show the per-walk equivalence; the separation statement follows by quantifying over all walks (equivalently, all paths). Running Definition 35 at fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C), rule 3 is subsumed by rule 2: a two-distinct-exit segment with pa# �G([si,1])⊆fdet# �G(C)pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([s_i,1]) _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) has its whole cluster—hence both exits—in fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). So b-blocking by fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) reduces to: a collider segment not meeting ant# �G(fdet# �G(C))ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C)), or a non-collider segment with an exit in fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). This differs from B-blocking by C only in the collider condition, which uses ant# �G(fdet# �G(C))ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C)) rather than ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). Since ant# �G(C)⊆ant# �G(fdet# �G(C))ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C)), every walk b-blocked by fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) is B-blocked by C. Conversely, let π be B-blocked by C; we show it is b-blocked by fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). As the two criteria share the non-collider rule, we may assume the block comes from a collider segment scs^c, in a cluster [c∗][c ], that does not meet ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). If [c∗][c ] also fails to meet ant# �G(fdet# �G(C))ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C)), then scs^c blocks π under b-blocking by fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) as well. Otherwise [c∗][c ] meets ant# �G(fdet# �G(C))ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C)) but not ant# �G(C)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C), and we claim pa# �G([c∗])⊆fdet# �G(C)pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c ]) _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). By Lemma 34, meeting ant# �G(S)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (S) is equivalent to [c∗][c ] meeting anc# �Gacy(S)anc_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(S); and in the acyclification anc# �Gacy(fdet# �G(C))=anc# �Gacy(C)∪fdet# �G(C)anc_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C))=anc_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(C) _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). (For “⊆ ”: along a directed path from an ancestor v to a determined node w, either the path meets C, so v∈anc# �Gacy(C)v _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(C), or, reading it back from w, each node is a parent of a determined node outside C and hence itself determined, so v∈fdet# �G(C)v _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C).) Thus [c∗][c ] meets fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C): pick y∈[c∗]∩fdet# �G(C)y∈[c ] _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). As [c∗][c ] avoids ant# �G(C)⊇Cant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) C, we have y∉Cy∉ C, so y is endogenous with pa# �G([c∗])=pa# �G([y])⊆fdet# �G(C)pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c ])=pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([y]) _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C), proving the claim. The two walk-neighbors of scs^c are variables of pa# �G([c∗])⊆fdet# �G(C)pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c ]) _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C)—they point into the boundary equations of scs^c—and each is an exit of the adjacent non-collider segment. Hence both neighbors are b-blocked by fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C), so π is b-blocked by fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). ∎ Combined with the acyclification, this yields a clean correspondence between B-separation and D-separation that mirrors Lemma 38, now accounting for determinism. Lemma 42 (B-separation equals D-separation in the acyclification). For all A,B,C⊆VA,B,C V: A⟂# �GBB|C⇔A⟂# �GacyDB|C.A ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C A ^D_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acyB\,|\,C. Proof. For every v∈Vv∈ V the acyclification satisfies pa# �Gacy(v)=pa# �G([v])pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(v)=pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v]), so the closure recursions of Definitions 13 and 29 coincide; hence fdet# �Gacy(C)=fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(C)=fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) for all C⊆VC V. Therefore A⟂# �GBB|C A ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C ⇔A⟂# �GbB|fdet# �G(C) A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) (Lemma 41) ⇔A⟂# �GacydB|fdet# �G(C) A ^d_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acyB\,|\,fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) (Lemma 38) ⇔A⟂# �GacydB|fdet# �Gacy(C) A ^d_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acyB\,|\,fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(C) (fdet# �Gacy(C)=fdet# �G(C)) (fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(C)=fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C)) ⇔A⟂# �GacyDB|C A ^D_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acyB\,|\,C (Definition 30). ∎ Theorem 16 now follows from Theorem 39. See 16 Proof. By Lemma 41, the hypothesis A⟂# �GBB|CA ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C is equivalent to A⟂# �GbB|fdet# �G(C).A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). By Theorem 39, XA⟂⟂ℙ(XV)XB|Xfdet# �G(C).X_A _P(X_V)X_B\,|\,X_fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). The clusterwise solvability condition gives, for each endogenous cluster [c][c]: [c]∩V⪯pa# �G([c])[c]∩ V _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c]) From the definitions, it follows that fdet# �G(C)⪯Cfdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) C. By Lemma 40, it then suffices to condition only on C: XA⟂⟂ℙ(XV)XB|XC.∎X_A _P(X_V)X_B\,|\,X_C. Similarly to b-separation, also B-separation may equivalently be defined via walks or via paths. Lemma 43 (B-separation via walks or paths). For all A,B,C⊆VA,B,C V, every walk from a node in A to a node in B is B-blocked by C if and only if every path from a node in A to a node in B is B-blocked by C. Proof. By Lemma 41 (per-walk form), a walk is B-blocked by C iff it is b-blocked by fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C); applied to walks and to paths separately, this gives that B-separation given C, defined via walks or via paths, equals b-separation given fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) defined via walks resp. paths. The latter two coincide by Lemma 37. ∎ Because fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) can be strictly larger than C, B-separation is genuinely stronger than b-separation: A⟂# �GbB|CA ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C implies A⟂# �GBB|CA ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C (comparing the two criteria at the same C: the collider rule is common to both, while each non-collider case of b-blocking—an exit in C, or two distinct exits whose cluster satisfies pa# �G([c])⊆Cpa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c]) C—puts an exit in fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) and hence B-blocks), but not conversely, as Example 44 shows. Example 44 (B-separation is strictly stronger than b-separation). Consider the observational bathtub graph # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G of Example 6 and condition on C=XIC=\X_I\. Since pa# �G([XO])=XIpa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([X_O])=\X_I\, the outflow is functionally determined by C, so fdet# �G(XI)=XI,XOfdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (\X_I\)=\X_I,X_O\; the variables XPX_P and XDX_D are not determined, as their clusters also require XKX_K, resp. XgX_g. Take A=XOA=\X_O\ and B=XDB=\X_D\. The walk XO→f2==XP→f3==XDX_O→ f_2 -9.0mu X_P→ f_3 -9.0mu X_D splits into the segments XO\X_O\, f2,XP\f_2,X_P\, and f3,XD\f_3,X_D\, with single exits XOX_O, XPX_P, and XDX_D respectively. None of these exits lies in C=XIC=\X_I\, hence this walk is b-open and XO⟂̸# �GbXD|XIX_O ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ X_D\,|\,X_I. Under B-separation the outcome differs: every walk out of XOX_O begins with the endpoint segment XO\X_O\ whose exit XOX_O lies in fdet# �G(XI)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (\X_I\), so XO⟂# �GBXD|XIX_O ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ X_D\,|\,X_I. The B-separation verdict is the correct one: conditioning on XIX_I forces XO=XIX_O=X_I (Example 6), so XOX_O is constant given XIX_I and hence trivially independent of XDX_D. Thus B-separation detects a conditional independence arising from determinism that b-separation misses. Appendix D Proof of the Extended Global Markov Property We prove Theorem 18, which extends the Global Markov Property (Theorem 16) from joint distributions to Markov kernels with non-random input variables. Our strategy will be similar to that of Appendix C, but rather than applying the standard global Markov property for acyclic SCMs, we make use of the global Markov property for causal Bayesian networks with input variables established by 10. 10 proves the global Markov property for CBNs with input variables using transitional conditional independence [10, Definition 3.1]. This is an asymmetric notion of conditional independence for Markov kernels: XA⟂⟂ℙ(⋅∥XJ)XB|XCX_A _P(·\,\|\,X_J)X_B\,|\,X_C means that there exists a Markov kernel Q(XA∥XC)Q(X_A\,\|\,X_C) (not depending on XBX_B) such that ℙ(XA,XB,XC∥XJ)=Q(XA∥XC)⊗ℙ(XB,XC∥XJ).P(X_A,X_B,X_C\,\|\,X_J)=Q(X_A\,\|\,X_C) (X_B,X_C\,\|\,X_J). The proof of 10 proceeds by induction over the topological ordering of the conditional DAG (CDAG)—which marks the variables in J⊆U⊆VJ U V as input variables—chaining the (asymmetric) separoid rules for transitional conditional independence and d-separation in CDAGs, an (asymmetric) extension of d-separation in DAGs. A crucial feature of 10’s approach is that it does not rely on symmetry of conditional independence (which fails for Markov kernels in general), but instead uses left and right versions of the separoid rules separately. Theorem 45. Suppose Assumption 10 holds. Treat exogenous variables J⊆UJ U as non-random and assign independent distributions to the remaining exogenous variables in U∖JU J, yielding the Markov kernel ℙ(XV∥XJ)P(X_V\,\|\,X_J). Then for all A,B,C⊆VA,B,C V: A⟂b# �GB∪J|C⟹XA⟂⟂ℙ(XV∥XJ)XB|XC.A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B∪ J\,|\,C X_A _P(X_V\,\|\,X_J)X_B\,|\,X_C. Proof. As in the proof of Theorem 39, solutions of the system satisfy the acyclic system of equations Xv=Φv[v](Xpa# �G([v])),v∈V∖U.X_v= _v^[v](X_pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v])), v∈ V U. Treat J⊆UJ U as non-random and put independent distributions on the remaining exogenous variables W:=U∖JW:=U J. For each endogenous cluster [v][v] (v∈V∖Uv∈ V U), let the deterministic Markov kernel pa# �G([v])→(v)X_pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v]) (X_v) be the one corresponding to the cluster solution function Φv[v] _v^[v], and for each w∈Ww∈ W let ℙ(Xw)P(X_w) be its distribution. Together with the non-stochastic inputs XJX_J, these Markov kernels define a causal Bayesian network ℳM in the sense of 10, with: • non-stochastic input variables: XJX_J, • stochastic variables: XV∖JX_V J, • graph: the acyclification # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy, viewed as a conditional DAG # �Gacy(V∖J|do(J)) # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(V J\,|\,do(J)). This is a valid conditional DAG: # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy is acyclic, and no edge points into any j∈Jj∈ J, since each such j is an exogenous singleton cluster with pa# �G([j])=∅pa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([j])= . The joint Markov kernel of ℳM is precisely ℙ(XV∥XJ)P(X_V\,\|\,X_J). Let A,B,C⊆VA,B,C V be such that A⟂# �GbB∪J|C.A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B∪ J\,|\,C. By Lemma 38, A⟂# �GacydB∪J|C.A ^d_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acyB∪ J\,|\,C. Since # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy is acyclic, d-separation coincides with σ-separation [10, Definition 5.9 and Remark 5.10]. Reading the acyclification as the conditional DAG # �Gacy(V∖J|do(J)) # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(V J\,|\,do(J)), whose σ-separation criterion implicitly includes the input nodes J on the right, this is exactly A⟂# �Gacy(V∖J|do(J))σB|C.A ^σ_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy(V J\,|\,do(J))B\,|\,C. By the global Markov property of 10 applied to ℳM, this implies the transitional conditional independence XA⟂⟂ℙ(XV∥XJ)XB|XC.∎X_A _P(X_V\,\|\,X_J)X_B\,|\,X_C. Corollary 46. Suppose Assumption 10 holds. Treat exogenous variables J⊆UJ U as non-random, and assign independent distributions to exogenous variables in U∖JU J, yielding Markov kernel ℙ(XV∥XJ)P(X_V\,\|\,X_J). Then for all A,B,C⊆VA,B,C V such that J⊆B∪CJ B∪ C: A⟂b# �GB|C⟹XA⟂⟂ℙ(XV∥XJ)XB|XC.A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C X_A _P(X_V\,\|\,X_J)X_B\,|\,X_C. Proof. When J⊆B∪CJ B∪ C we have J∖B⊆CJ B C, so every walk from A to a node of J∖BJ B ends in C and is therefore b-blocked by C; hence A⟂# �GbB|CA ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C implies A⟂# �GbB∪J|CA ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B∪ J\,|\,C, and Theorem 45 yields XA⟂⟂ℙ(XV∥XJ)XB|XCX_A _P(X_V\,\|\,X_J)X_B\,|\,X_C. ∎ D.1 Accounting for Determinism Just as we strengthened the global Markov property for partially oriented bipartite graphs by accounting for determinism, we can do the same for the extended version. Definition 13 still applies, and does not need to distinguish exogenous input nodes J from exogenous random nodes U∖JU J: exogenous variable nodes are only functionally determined by C if they are in C. Lemma 47. Let A,B,S,T⊆VA,B,S,T V with S⪯TS T. Then: XA⟂⟂ℙ(XV∥XJ)XB|XS∪T⇔XA⟂⟂ℙ(XV∥XJ)XB|XT.X_A _P(X_V\,\|\,X_J)X_B\,|\,X_S∪ T X_A _P(X_V\,\|\,X_J)X_B\,|\,X_T. Proof. This is the transitional-conditional-independence analog of Lemma 40; because transitional conditional independence is asymmetric, we cannot use the symmetric argument and instead invoke Forré’s Equivalent Exchange rule. By hypothesis XSX_S is a measurable function of XTX_T. Then XS∪TX_S∪ T is a measurable function of XTX_T; conversely XTX_T is a coordinate projection of XS∪TX_S∪ T. Since all model variables are measurable functions of the exogenous variables XUX_U, both XS∪TX_S∪ T and XTX_T are deterministic transitional random variables; as each is a measurable function of the other, they are equivalent [10, Notation 2.19 and Remark 2.20]. The Equivalent Exchange rule for transitional conditional independence [10, Corollary 3.14], which allows the conditioning variable to be replaced by an equivalent one, then yields both implications: XA⟂⟂ℙ(XV∥XJ)XB|XS∪T⇔XA⟂⟂ℙ(XV∥XJ)XB|XT.∎X_A _P(X_V\,\|\,X_J)X_B\,|\,X_S∪ T X_A _P(X_V\,\|\,X_J)X_B\,|\,X_T. We obtain Theorem 18 from Corollary 46. See 18 Proof. By Lemma 41, the hypothesis A⟂# �GBB|CA ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,C is equivalent to A⟂# �GbB|fdet# �G(C).A ^b_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ B\,|\,fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). By Corollary 46 (whose hypothesis J⊆B∪fdet# �G(C)J B _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) holds because J⊆B∪C⊆B∪fdet# �G(C)J B∪ C B _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C)), XA⟂⟂ℙ(XV∥XJ)XB|Xfdet# �G(C).X_A _P(X_V\,\|\,X_J)X_B\,|\,X_fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C). The clusterwise solvability condition gives, for each endogenous cluster [c][c]: [c]∩V⪯pa# �G([c]).[c]∩ V _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([c]). From the definitions, it follows that fdet# �G(C)⪯Cfdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C) C. By Lemma 47, it then suffices to condition only on C: XA⟂⟂ℙ(XV∥XJ)XB|XC.∎X_A _P(X_V\,\|\,X_J)X_B\,|\,X_C. Appendix E Physical Implementations of Hard Interventions The formal notation do(fj:Xv=ξv)do(f_j:X_v= _v) has a natural physical interpretation: it specifies which mechanism fjf_j in the system is replaced in order to enforce Xv=ξvX_v= _v. Different choices of fjf_j correspond to genuinely different physical procedures for achieving the same target value. We illustrate this for four of the hard interventions on the bathtub model. Combined with the ones in Example 20, this gives a complete “physical implementation” of the causal semantics of the bathtub system under the hard interventions we consider elementary in our framework. do(f1:XO=ξO)do(f_1:X_O= _O). Equation f1f_1 (the equilibrium condition XI=XOX_I=X_O) is replaced by f~1:XO=ξO f_1:X_O= _O. The causal ordering is preserved: f~1 f_1 determines XOX_O, f2f_2 determines XPX_P, and f3f_3 determines XDX_D. A physical implementation is to divert the original inflow away from the tub and install a new faucet with inflow rate XI2=ξOX_I_2= _O. do(f1:XP=ξP)do(f_1:X_P= _P). Equation f1f_1 is replaced by f~1:XP=ξP f_1:X_P= _P. The causal ordering changes: f~1 f_1 now determines XPX_P (instead of XOX_O), and consequently f2f_2 must solve for XOX_O given XPX_P. A physical implementation requires diverting the original inflow, installing a sufficiently large new inflow, and connecting a pressure relief valve to the bottom of the tub that activates when XP>ξPX_P> _P. do(f2:XP=ξP)do(f_2:X_P= _P). Here, Torricelli’s law f2f_2 is replaced by f~2:XP=ξP f_2:X_P= _P, while the equilibrium condition f1f_1 remains intact. This requires a more involved physical procedure: clog the drain, reroute the original inflow directly to the outflow through a pipe (bypassing the tub and drain), install an additional sufficiently large inflow, and connect a pressure relief valve that activates when XP>ξPX_P> _P. Note that this intervention targets the same variable (XP=ξPX_P= _P) as do(f1:XP=ξP)do(f_1:X_P= _P), but through a different mechanism: the equilibrium condition f1f_1 is preserved, so XO=XIX_O=X_I still holds, whereas in do(f1:XP=ξP)do(f_1:X_P= _P) we get XO=XKξPX_O=X_K _P. do(f2:XD=ξD)do(f_2:X_D= _D). Torricelli’s law f2f_2 is replaced by f~2:XD=ξD f_2:X_D= _D. This changes the causal ordering: f3f_3 now determines XPX_P from XDX_D (rather than XDX_D from XPX_P). The physical implementation is similar to the previous case—clog the drain, reroute inflow to outflow, install an additional inflow—but instead of a pressure valve, the bathtub is cut at height ξD _D. These examples illustrate a key advantage of the BGCM framework: the notion do(fj:Xv=ξv)do(f_j:X_v= _v) makes the physical implementation explicit by specifying which mechanism is targeted, resolving the ambiguity inherent in the standard notion do(Xv=ξv)do(X_v= _v). Furthermore, we have shown explicitly that each such hard intervention that leads to a solvable system can indeed be realized as a real-world intervention. Appendix F Partially Oriented Bipartite Graphs under Interventions Figure 3 shows the partially oriented bipartite graphs for the observational bathtub model, all six well-defined hard interventions (cf. Table 1), and the three infeasible hard interventions. Edges that change relative to the observational case are drawn in red; intervened equation nodes are also shown in red. The systems that (generically) do not have solutions are drawn in gray. do(f1:XO=ξO)do(f_1:X_O= _O) XOX_OXPX_PXDX_Df~1 f_1f2f_2f3f_3XIX_IXKX_KXgX_g do(f2:XO=ξO)do(f_2:X_O= _O) XOX_OXPX_PXDX_Df1f_1f~2 f_2f3f_3XIX_IXKX_KXgX_g do(f3:XO=ξO)do(f_3:X_O= _O) XOX_OXPX_PXDX_Df1f_1f2f_2f~3 f_3XIX_IXKX_KXgX_g Observational XOX_OXPX_PXDX_Df1f_1f2f_2f3f_3XIX_IXKX_KXgX_g do(f1:XP=ξP)do(f_1:X_P= _P) XOX_OXPX_PXDX_Df~1 f_1f2f_2f3f_3XIX_IXKX_KXgX_g do(f2:XP=ξP)do(f_2:X_P= _P) XOX_OXPX_PXDX_Df1f_1f~2 f_2f3f_3XIX_IXKX_KXgX_g do(f3:XP=ξP)do(f_3:X_P= _P) XOX_OXPX_PXDX_Df1f_1f2f_2f~3 f_3XIX_IXKX_KXgX_g do(f1:XD=ξD)do(f_1:X_D= _D) XOX_OXPX_PXDX_Df~1 f_1f2f_2f3f_3XIX_IXKX_KXgX_g do(f2:XD=ξD)do(f_2:X_D= _D) XOX_OXPX_PXDX_Df1f_1f~2 f_2f3f_3XIX_IXKX_KXgX_g do(f3:XD=ξD)do(f_3:X_D= _D) XOX_OXPX_PXDX_Df1f_1f2f_2f~3 f_3XIX_IXKX_KXgX_g Figure 3: Partially oriented bipartite graphs for the bathtub model under all hard interventions (cf. Table 1). The observational graph is shown top-right for reference. Intervened equation nodes are shown in red; edges whose orientation changes relative to the observational case are drawn in red. Note how replacing different equations can lead to fundamentally different causal orderings: e.g., do(f1:XD=ξD)do(f_1:X_D= _D) reverses the causal flow entirely. For three hard interventions, the intervened bipartite graph cannot be oriented (no perfect matching exists), so the undirected intervened bipartite graph is displayed instead. Appendix G Partially Oriented Bipartite Graphs for the Domain Invariance Examples Figure 4 shows the partially oriented bipartite graphs # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu GR G^R of the joint models constructed for each of the four domain invariance examples in Section 6. In each case, the exogenous domain indicator variable R is connected to the equation(s) that differ between domains. The graphical structure of # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu GR G^R determines which B-separation statements hold, and hence which domain invariances can be derived from the Markov property. Example 21: obs. vs. do(Xg=ξg)do(X_g= _g) XOX_OXPX_PXDX_DXgX_gf1f_1f2f_2f3f_3f4f_4XIX_IXKX_KUgU_gR XP,XO⟂# �GRBRX_P,X_O ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ R Example 22: obs. vs. do(f3:XD=ξD)do(f_3:X_D= _D) XOX_OXPX_PXDX_Df1f_1f2f_2f3f_3XIX_IXKX_KXgX_gR XO⟂# �GRBR|XD,XPX_O ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ R\,|\,X_D,X_P Example 23: obs. vs. do(f1:XD=ξD)do(f_1:X_D= _D) XOX_OXPX_PXDX_Df1f_1f2f_2f3f_3XIX_IXKX_KXgX_gR No non-trivial B-separation involving R Example 24: do(f1:XD=ξD)do(f_1:X_D\!=\! _D) vs. do(f1:XD=ξD′)do(f_1:X_D\!=\! _D ) XOX_OXPX_PXDX_Df1f_1f2f_2f3f_3XIX_IXKX_KXgX_gR XO⟂# �GRBR|XPX_O ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G^R $ R\,|\,X_P Figure 4: Partially oriented bipartite graphs of the joint models for the four domain invariance examples (Section 6). In each graph, the exogenous domain indicator R is connected to the equation(s) that differ between domains. The B-separation statement below each graph summarizes the graphical criterion from which the corresponding domain invariance is derived via the Markov property. In Example 23, all endogenous nodes and equation nodes form a single cluster, so no non-trivial B-separation involving R exists. Appendix H A Worked Example with a Genuine Cycle: Supply and Demand The bathtub of Example 6, although a feedback system at equilibrium, has a partial orientation whose endogenous clusters each consist of one equation and one variable (f1,XO\f_1,X_O\, f2,XP\f_2,X_P\, f3,XD\f_3,X_D\); its causal ordering is therefore acyclic. To illustrate the part of the framework that deals with genuine cycles—multi-node clusters, whose segments are treated in B-separation as single indivisible units (Definition 14)—we work out a classic simultaneous supply–demand system, in which all three mechanisms must be solved jointly. Consider a competitive market at equilibrium with endogenous variables XSX_S (quantity supplied), XDX_D (quantity demanded), and XPX_P (price), and exogenous supply/demand shifts XUS,XUDX_U_S,X_U_D. With supply slope β and demand slope α satisfying β>0>αβ>0>α, the equilibrium is described by three mechanisms: f1: f_1: 0=XS−XD 0=X_S-X_D (market clears) f2: f_2: 0=βXP+XUS−XS 0=β X_P+X_U_S-X_S (supply) f3: f_3: 0=αXP+XUD−XD 0=α X_P+X_U_D-X_D (demand) A single endogenous cluster. The endogenous subgraph (variables XS,XP,XD\X_S,X_P,X_D\, equations f1,f2,f3\f_1,f_2,f_3\) admits the perfect matching M=f1--XS,f2--XP,f3--XDM=\f_1 -9.0mu X_S,\ f_2 -9.0mu X_P,\ f_3 -9.0mu X_D\. The closed M-alternating walk XS--f1--XD--f3--XP--f2--XSX_S -9.0mu f_1 -9.0mu X_D -9.0mu f_3 -9.0mu X_P -9.0mu f_2 -9.0mu X_S (alternating the matched edges f1--XSf_1 -9.0mu X_S, f3--XDf_3 -9.0mu X_D, f2--XPf_2 -9.0mu X_P with the unmatched edges f1--XDf_1 -9.0mu X_D, f3--XPf_3 -9.0mu X_P, f2--XSf_2 -9.0mu X_S) visits all six nodes of the endogenous subgraph. By Definition 3 they therefore form a single cluster f1,f2,f3,XS,XP,XD\f_1,f_2,f_3,X_S,X_P,X_D\, and by Lemma 4 this is independent of the chosen matching. The cluster has parents pa# �G([f1])=XUS,XUDpa_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([f_1])=\X_U_S,X_U_D\. In the partial orientation # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G , all six intra-cluster edges are double-undirected, while the two exogenous shifts point in (Figure 5a). Unlike the bathtub, the causal ordering here is not acyclic: the entire endogenous system is a single feedback cluster, solved simultaneously. f1f_1XSX_Sf2f_2XPX_Pf3f_3XDX_DXUSX_U_SXUDX_U_D (a) partial orientation # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G XUSX_U_SXUDX_U_DXSX_SXPX_PXDX_D (b) acyclification # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy Figure 5: The supply–demand system and its acyclification. (a) The partial orientation # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G : the three endogenous variables and three equations form a single feedback cluster (dashed box) with the exogenous shifts XUS,XUDX_U_S,X_U_D as its parents; all intra-cluster edges are double-undirected. (b) The acyclification # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy, the DAG on the variable nodes with an edge v→v′v→ v whenever v∈pa# �G([v′])v _ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ([v ]); the two shifts become common parents of all three endogenous variables, which are mutually nonadjacent. B-separation in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G coincides with D-separation in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy (Lemma 42), so the two encode the same conditional independences; but only # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G , which retains the equation nodes, can model interventions. Unique solvability and solution. Because β>0>αβ>0>α, the cluster is uniquely solvable (Assumption 10). Substituting the supply and demand relations into the market-clearing condition XS=XDX_S=X_D gives βXP+XUS=αXP+XUDβ X_P+X_U_S=α X_P+X_U_D, hence XP=XUD−XUSβ−α,XS=XD=βXUD−αXUSβ−α.X_P= X_U_D-X_U_Sβ-α, X_S=X_D= β X_U_D-α X_U_Sβ-α. Reading off (in)dependences. Assign independent distributions to the shifts XUS,XUDX_U_S,X_U_D, so that ℙ(XV)P(X_V) is well defined and the Markov property (Theorem 16) applies. Consider the walk XUS→f2==XP==f3←XUD.X_U_S→ f_2 -9.0mu X_P -9.0mu f_3 ←X_U_D. Its middle segment f2==XP==f3f_2 -9.0mu X_P -9.0mu f_3 lies entirely inside the cluster and is a collider segment: both bounding edges point inward. For C=∅C= we have ant# �G(∅)=∅ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ( )= , so this collider segment is disjoint from ant# �G(∅)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ( ) and blocks (rule 1 of Definition 14). Since XUSX_U_S and XUDX_U_D attach to the cluster only through the inward edges XUS→f2X_U_S→ f_2 and XUD→f3X_U_D→ f_3, every path between them crosses such a within-cluster collider segment, so XUS⟂# �GBXUD|∅⟹XUS⟂⟂ℙ(XV)XUD,X_U_S ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ X_U_D\,|\, X_U_S _P(X_V)X_U_D, recovering the assumed independence of the two shifts. Conditioning on the equilibrium price reverses the verdict. As XPX_P lies in the cluster, the whole cluster is anterior to XPX_P, so the collider segment now meets ant# �G(XP)ant_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (\X_P\) and no longer blocks. Moreover fdet# �G(XP)=XPfdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (\X_P\)=\X_P\: determining the cluster would require both exogenous parents, and neither is in XP\X_P\, so no further node is functionally determined. Hence the endpoints XUS,XUDX_U_S,X_U_D are not in fdet# �G(XP)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (\X_P\), rule 2 does not block either, and the walk is B-open: XUS⟂̸# �GBXUD|XP.X_U_S ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ X_U_D\,|\,X_P. This matches the algebra: XP=(XUD−XUS)/(β−α)X_P=(X_U_D-X_U_S)/(β-α), so conditioning on the price imposes the constraint XUD−XUS=(β−α)XPX_U_D-X_U_S=(β-α)X_P and generically renders the two shifts dependent. It is the familiar phenomenon of conditioning on a common effect—except that here the common effect is an entire feedback cluster rather than a single variable, which is exactly what rule 1 of B-separation is designed to capture. Determinism (rule 2) in a cycle. Rule 2 blocks a non-collider segment as soon as one of its exits is functionally determined by the conditioning set. In a single multi-variable cluster this is all-or-nothing: every endogenous variable has the same parents XUS,XUD\X_U_S,X_U_D\, so none is determined until both shifts are conditioned on. Thus fdet# �G(XUS)=XUSfdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (\X_U_S\)=\X_U_S\, whereas fdet# �G(XUS,XUD)=XUS,XUD,XS,XP,XDfdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (\X_U_S,X_U_D\)=\X_U_S,X_U_D,X_S,X_P,X_D\ is the entire set of variable nodes. In the latter case the endpoint segment of every path already has an exit in fdet# �G(C)fdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ (C), so rule 2 blocks it; hence, for example, XS⟂# �GBXP|XUS,XUDX_S ^B_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ X_P\,|\,X_U_S,X_U_D. Whereas conditioning on the endogenous price created dependence between the shifts (rule 1), conditioning on both exogenous shifts removes all dependence among the endogenous quantities: fixing both shifts pins down the equilibrium, so every endogenous quantity is constant and hence conditionally independent of the rest. Needing all of a cluster’s parents before any of its variables is determined is not special to cycles; it is a general property of fdet# �Gfdet_ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ that already appears at single-variable clusters whose equation has several parents. In the bathtub, for instance, the cluster f2,XP\f_2,X_P\ has parents XO,XK\X_O,X_K\, so pressure is determined only once both outflow and drain area are fixed—conditioning on XOX_O alone leaves XPX_P undetermined. The same facts by D-separation. By Lemma 42, B-separation in # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G coincides with D-separation in the acyclification # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy (Figure 5b), so the three verdicts above can be read off there as well. In # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy the shifts XUS,XUDX_U_S,X_U_D are common parents of XS,XP,XDX_S,X_P,X_D, which are otherwise nonadjacent: (i) unconditionally the shifts are d-separated, their only connections passing through the unconditioned colliders XS,XP,XDX_S,X_P,X_D; (i) conditioning on XPX_P opens that collider, making the shifts d-connected; and (i) conditioning on both shifts blocks each path between XSX_S and XPX_P path at its fork (XUSX_U_S or XUDX_U_D), giving d-separation. The within-cluster collider segment of # � 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu G G thus becomes an ordinary collider at a common child in # �Gacy # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ # -0.7pt $ 2.0mu $ $ $ $ $ $ $ $ -1.5mu $ 0.0mu $ $ $ $ $ $ $ $ 0.0mu$ -1.5mu $ -0.3pt $ G $ ^acy, and conditioning on a cluster variable becomes conditioning on that child. In this example D-separation reduces to ordinary d-separation, since conditioning on the parents that determine a variable already blocks the forks through them.