SlowGuess/NeurIPS_2023_OCR huggingface dataset:
Table 2: Pairwise predictions among estimated variables in Figure 4b. Each box (a, b) shows the  $R^2$  score obtained applying the estimated variable produced by treating a as  $\mathbf{v}_1$  to predict that produced by treating  $\mathbf{b}$  as  $\mathbf{v}_1$ . We observe that the prediction scores within sibling pairs are noticeably higher than other pairs, suggesting a decent structure estimation. In particular, the estimate from  $\mathbf{v}_1 = \mathbf{x}_3$  can predict other estimates accurately, whereas not the other way round, confirming our theory that  $\mathbf{v}_1 = \mathbf{x}_3$  will recover the information of both  $\mathbf{z}_2$  and  $\mathbf{z}_3$ . The results are averaged over 30 random seeds.
high-dimensional variables, whereas prior causal structure learning work mostly assumes that all variables are one-dimensional.
In this work, we investigate the identifiability of causal structures and latent variables in nonlinear latent hierarchical models. We provide identifiability theory for both the causal structures and latent variables without assuming linearity/discreteness as in prior work [Pearl, 1988, Choi et al., 2011, Huang et al., 2022, Xie et al., 2022] while admitting structures more general than (generalized) latent trees [Pearl, 1988, Choi et al., 2011, Huang et al., 2022]. Together with the theory, we devise an identification algorithm and validate it across multiple synthetic and real-world datasets.
We have shown that our algorithm yields informative results across various datasets. However, it is essential to acknowledge that its primary role is as a theoretical device for our identification proof. It may not be well-suited to large-scale datasets, e.g., ImageNet, due to its nature as a discrete search algorithm. In future research, we aim to integrate our theoretical insights into scalable continuous-optimization-based algorithms [Zheng et al., 2018] and deep learning. We believe that our work facilitates the understanding of the underlying structure of highly complex and high-dimensional datasets, which is the foundation for creating more interpretable, safer, and principled machine learning systems.
Acknowledgment. We thank anonymous reviewers for their constructive feedback. The work of LK and YC is supported in part by NSF under the grants CCF-1901199 and DMS-2134080. This project is also partially supported by NSF Grant 2229881, the National Institutes of Health (NIH) under Contract R01HL159805, a grant from Apple Inc., a grant from KDDI Research Inc., and generous gifts from Salesforce Inc., Microsoft Research, and Amazon Research.
B. Varici, E. Acarturk, K. Shanmugam, A. Kumar, and A. Tajer. Score-based causal representation learning with interventions, 2023.
J. von Kugelgen, Y. Sharma, L. Gresele, W. Brendel, B. Scholkopf, M. Besserve, and F. Locatello. Self-supervised learning with data augmentations provably isolates content from style. arXiv preprint arXiv:2106.04619, 2021.
F. Xie, R. Cai, B. Huang, C. Glymour, Z. Hao, and K. Zhang. Generalized independent noise condition for estimating latent variable causal graphs. In Advances in Neural Information Processing Systems, pages 14891-14902, 2020.
F. Xie, B. Huang, Z. Chen, Y. He, Z. Geng, and K. Zhang. Identification of linear non-gaussian latent hierarchical structure. In International Conference on Machine Learning, pages 24370-24387. PMLR, 2022.
W. Yao, Y. Sun, A. Ho, C. Sun, and K. Zhang. Learning temporally causal latent processes from general temporal data. arXiv preprint arXiv:2110.05428, 2021.
W. Yao, G. Chen, and K. Zhang. Learning latent causal dynamics. arXiv preprint arXiv:2202.04828, 2022.
J. Zhang, C. Squires, K. Greenewald, A. Srivastava, K. Shanmugam, and C. Uhler. Identifiability guarantees for causal disentanglement from soft interventions, 2023.
N. L. Zhang. Hierarchical latent class models for cluster analysis. The Journal of Machine Learning Research, 5:697-723, 2004.
X. Zheng, B. Aragam, P. K. Ravikumar, and E. P. Xing. Dags with no tears: Continuous optimization for structure learning. Advances in neural information processing systems, 31, 2018.
Y. Zheng, I. Ng, and K. Zhang. On the identifiability of nonlinear ica: Sparsity and beyond. arXiv preprint arXiv:2206.07751, 2022.
C. Zhou, X. Wang, and J. Guo. Learning mixed latent tree models. Journal of Machine Learning Research, 21(249):1-35, 2020.
Appendix for "Identification of Nonlinear Latent Hierarchical Models"
A Detailed Literature Review
Another related research line is latent-variable identifiability literature. Hyvarinen et al. [2019], Khemakhem et al. [2020], Kong et al. [2022] have shown that with an additional observed variable to modulate latent independent variables, the latent independent variables are identifiable. Recently, Yao et al. [2021, 2022] allow time-delayed causal relationships among latent variables. However, for time-delayed causal relations, the causal direction is fixed and predefined, and moreover, they assume that all latent variables have measured variables as children, avoiding the hierarchical cases. Prior work[von Kugelgen et al., 2021, Lyu et al., 2022] studies latent-variable models related to our proposed basis model (which serves as a tool and is defined in Section 2) in this work, but with more restrictive functional and statistical assumptions. To the best of our knowledge, no prior work has managed to identify latent variables or causal structures in nonlinear latent hierarchical models.
We note that our work focuses on identifying latent causal models from observational data and structure conditions. Another important line of work [Ahuja et al., 2023, Squires et al., 2023, Varici et al., 2023, Jiang and Aragam, 2023, Liang et al., 2023, Buchholz et al., 2023, Zhang et al., 2023] utilizes interventional data for this purpose. Specifically, these works leverage multiple data distributions generated by one causal model under distinct interventions, which are accessible in applications like biological experiments. The accessibility of interventional data can allow for relaxed structure conditions. Hence, one should consider this tradeoff when faced with causal identification problems.
B.1 Proof for Theorem 3.2
The original assumptions and theorem are replicated here for reference.
In Theorem 3.2, we show that the latent variable  $\mathbf{z}$  shared by  $\mathbf{v}_1$  and  $\mathbf{v}_2$  is identifiable up to a one-to-one mapping by estimating a generative model  $(\hat{p}_{\mathbf{z},\mathbf{s}_2},\hat{p}_{\mathbf{s}_1},\hat{g})$  according to Equation 2. We denote the support of Jacobian matrix  $\mathbf{J}_g$  and  $\mathbf{J}_{\hat{g}}$  as  $\mathcal{G}$  and  $\hat{\mathcal{G}}$  respectively and denote by  $\mathbf{T}$  a matrix with the same support as  $\mathbf{T}(\mathbf{c})$  in  $\mathbf{J}_{\hat{g}}(\hat{\mathbf{c}}) = \mathbf{J}_g(\mathbf{c})\mathbf{T}(\mathbf{c})$ .
iii [Edge Connectivity]: For all  $j_z \in \{1, \dots, d_z\}$ , there exist  $i_{v_1} \in \{1, \dots, d_{v_1}\}$  and  $i_{v_2} \in \{d_{v_1}, \dots, d_{v_1} + d_{v_2}\}$ , such that  $(i_{v_1}, j_z) \in \mathcal{G}$  and  $(i_{v_2}, j_z) \in \mathcal{G}$ .
Proof. We first define the indeterminacy function:
which is a smooth and invertible function  $h: \mathcal{C} \to \hat{\mathcal{C}}$  thanks to Assumption 3.1-i. According to the chain rule and inverse function theorem, we have the following relation among the Jacobian matrices:
$$
\mathbf {J} _ {\hat {g}} (\hat {\mathbf {c}}) = \mathbf {J} _ {g} (\mathbf {c}) \cdot \mathbf {J} _ {h} ^ {- 1} (\mathbf {c}). \tag {4}
$$
For ease of exposition, we denote  $\mathbf{M}(\mathbf{c})\coloneqq \mathbf{J}_h^{-1}(\mathbf{c})$  in the following.
$$
\mathcal {G} := \operatorname {s u p p} \left(\mathbf {J} _ {g}\right),
$$
$$
\hat {\mathcal {G}} := \operatorname {s u p p} \left(\mathbf {J} _ {\hat {g}}\right),
$$
$$
\mathcal {T} := \operatorname {s u p p} (\mathbf {M}).
$$
Because of Assumption 3.1-ii, for any  $i \in \{1, \ldots, d_{v_1} + d_{v_2}\}$ , there exists  $\{\mathbf{c}^{(\ell)}\}_{\ell=1}^{|G_{i,:}|}$ , such that  $\operatorname{span}(\{\mathbf{J}_g(\mathbf{c}^{(\ell)})_{i,:}\}_{\ell=1}^{|G_{i,:}|}) = \mathbb{R}_{G_{i,:}}^{d_z}$ .
Since  $\{\mathbf{J}_g(\mathbf{c}^{(\ell)})_{i,:}\}_{\ell = 1}^{|G_{i,:}|}$  forms a basis of  $\mathbb{R}_{\mathcal{G}_{i,:}}^{d_c}$ , for any  $j_0 \in \mathcal{G}_{i,:}$ , we can express canonical basis vector  $\mathbf{e}_{j_0} \in \mathbb{R}_{\mathcal{G}_{i,:}}^{d_c}$  as:
$$
\mathbf {e} _ {j _ {0}} = \sum_ {\ell \in \mathcal {G} _ {i,:}} \alpha_ {\ell} \cdot \mathbf {J} _ {g} \left(\mathbf {c} ^ {(\ell)}\right) _ {i,:}, \tag {5}
$$
Then, following Assumption 3.1-ii, there exists a deterministic matrix  $\mathbf{T}$  such that
$$
\mathbf {T} _ {j _ {0,:}} = \mathbf {e} _ {j _ {0}} ^ {\top} \mathbf {T} = \sum_ {\ell \in \mathcal {G} _ {i,:}} \alpha_ {\ell} \cdot \mathbf {J} _ {g} \left(\mathbf {c} ^ {(\ell)}\right) _ {i,:} \mathbf {T} \in \mathbb {R} _ {\hat {\mathcal {G}} _ {i,:}} ^ {d _ {c}}, \tag {6}
$$
where  $\in$  is due to the fact that each element in the summation belongs to  $\mathbb{R}_{\hat{\mathcal{G}}_{i,:}}^{d_c}$ .
$$
\forall j \in \mathcal {G} _ {i,:}, \mathbf {T} _ {j,:} \in \mathbb {R} _ {\hat {\mathcal {G}} _ {i,:}} ^ {d _ {c}}.
$$
$$
\forall (i, j) \in \mathcal {G}, \quad \{i \} \times \mathcal {T} _ {j,:} \subset \hat {\mathcal {G}}. \tag {7}
$$
We would like to show that  $\hat{\mathbf{z}}$  is not influenced by  $\mathbf{s}_1$  and  $\mathbf{s}_2$ , which is equivalent to  $\mathbf{T}_{j_z,j_{\hat{s}}} = 0$  for  $j_z\in \{1,\ldots ,d_z\}$  and  $j_{\hat{s}}\in \{d_z + 1,\dots ,d_c\}$ .
We first will prove this for  $j_{\hat{s}} \in \{d_z + 1, \dots, d_z + d_{s_1}\}$  by contradiction. Suppose that  $\exists (j_z, j_{\hat{s}_1}) \in \mathcal{T}$  with  $j_z \in \{1, \dots, d_z\}$  and  $j_{\hat{s}_1} \in \{d_z + 1, \dots, d_z + d_{s_1}\}$ .
Thanks to Assumption 3.1-iii, there must exist  $i_{v_2} \in \{d_{v_1} + 1, \dots, d_{v_1} + d_{v_2}\}$ , such that,  $(i_{v_2}, j_z) \in \mathcal{G}$ . It follows from Equation 7 that:
$$
\left\{i _ {v _ {2}} \right\} \times \mathcal {T} _ {j _ {z, i}} \subset \hat {\mathcal {G}} \Longrightarrow \left(i _ {v _ {2}}, j _ {\hat {s} _ {1}}\right) \in \hat {\mathcal {G}}. \tag {8}
$$
However, due to the structure of  $\hat{g}_2$ ,  $[\mathbf{J}_{\hat{g}_2}]_{i_{v_2},j_{\hat{s}_1}} = 0$ , which results in a contradiction. Therefore, such  $(i_{v_2},j_{\hat{s}_1})$  does not exist. The same reasoning gives rise to that  $(j_z,j_{\hat{s}_2}) \notin \mathcal{T}$  with  $j_z \in \{1,\dots,d_z\}$  and  $j_{\hat{s}_2} \in \{d_z + d_{s_1} + 1,\dots,d_c\}$ . Therefore, we have shown that  $\mathbf{T}_{j_z,j_{\hat{s}}} = 0$  for  $j_z \in \{1,\dots,d_z\}$  and  $j_{\hat{s}} \in \{d_z + 1,\dots,d_c\}$ . As  $\mathcal{T}$  is invertible, it follows from the block-matrix inverse formulae that  $\mathbf{T}_{j_{\hat{z},j_s}} = 0$  for  $j_{\hat{z}} \in \{1,\dots,d_z\}$  and  $j_s \in \{d_z + 1,\dots,d_c\}$ . In conclusion,  $\hat{\mathbf{z}}$  is not influenced by  $(\mathbf{s}_1,\mathbf{s}_2)$ . Thus, we have shown that there is a one-to-one mapping between  $\mathbf{z}$  and  $\hat{\mathbf{z}}$ .
B.2 Proof for Theorem 3.4
The original theorem is copied below.
i [Differentiability]: Structure equations in Equation 1 are differentiable.
ii [Information-conservation]: Any  $\mathbf{z} \in \mathbf{Z}$  and exogenous variable  $\varepsilon$  can be expressed as differentiable functions of all observed variables, i.e.,  $\mathbf{z} = f_{z}(\mathbf{X})$  and  $\varepsilon = f_{\varepsilon}(\mathbf{X})$ .
iii [Subspace span]: For each set  $\mathbf{A}$  that  $d$ -separates all its ancestors  $\operatorname{Anc}(\mathbf{A})$  and observed variables  $\mathbf{X}$ , i.e.,  $\mathbf{X} \perp \operatorname{Anc}(\mathbf{A})|\mathbf{A}$ , for any  $\mathbf{z}_{\mathbf{A}} \in \mathrm{Pa}(\mathbf{A})$ , there exists an invertible mapping from a set of ancestors of  $\mathbf{A}$  containing  $\mathbf{z}_{\mathbf{A}}$  to the separation set  $\mathbf{A}$ , such that this mapping satisfies the subspace span condition (i.e., Assumption 3.1-ii).
iv [Edge connectivity]: The function between each latent variable  $\mathbf{z}$  and each of its children  $\mathbf{z}'$  has a Jacobian  $\mathbf{J}$ , such that for all  $j \in \{1, \dots, d_z\}$ , there exists  $i \in \{1, \dots, d_{z'}\}$ , such that  $(i, j)$  is in the support of  $\mathbf{J}$ .
Proof. We show that performing estimation following the generating process Equation 2 to any  $\mathbf{v}_1 = \mathbf{x}_i \in \mathbf{X}$  and  $\mathbf{v}_2 = \mathbf{X} \setminus \mathbf{v}_1$  is equivalent to the estimation of the model in Figure 2 with  $\mathbf{z} = \mathrm{Pa}(\mathbf{v}_1)$ . Therefore, the identifiability result ensues, thanks to Theorem 3.2.
First, we show that for each selection of  $\mathbf{v}_1$ , we can locate  $(\mathbf{z}, \mathbf{s}_1, \mathbf{s}_2)$  such that the conditions for the basis model in Theorem 3.2 are satisfied. We choose  $(\mathbf{z}, \mathbf{s}_1, \mathbf{s}_2)$  as follows.
- We choose the  $\mathbf{z}$  to be all parents of  $\mathbf{v}_1$ :  $\mathbf{z} \coloneqq \mathrm{Pa}(\mathbf{v}_1)$
- We choose  $\mathbf{s}_1$  to be exogenous variables that cause  $\mathbf{v}_1$  together with  $\mathbf{z}$ :  $\mathbf{s}_1 \coloneqq \varepsilon_{\mathbf{v}_1}$ .
5To avoid cluttering, we slightly abuse the bold lowercase font to represent either an individual vector or a vector set (which can be viewed as a concatenation).
- To obtain  $\mathbf{s}_2$ , we trace back (traversing backward every edge) from the  $\mathbf{v}_2$  recursively and execute the following steps. At each step of backtracking, we include any cause (exogenous variables and endogenous variables) that is not situated on any directed path from  $\mathbf{z}$  to  $\mathbf{v}_2$ . The backtracking for each path halts when the most recent step recovers an endogenous variable out of the directed paths, or it reaches  $\mathbf{z}$ . We note that such a choice for  $\mathbf{s}_2$  is not unique – the above procedure is only one instance.
Invertibility. From  $(\mathbf{z},\mathbf{s}_1,\mathbf{s}_2)$  to  $(\mathbf{v}_1,\mathbf{v}_2)$ , we can observe that  $(\mathbf{z},\mathbf{s}_1,\mathbf{s}_2)$  by construction include all the information to generate  $(\mathbf{v}_1,\mathbf{v}_2)$ , i.e.,  $\mathbf{X}$ , as  $(\mathbf{z},\mathbf{s}_1,\mathbf{s}_2)$  d-separate their parents/ancestors from  $(\mathbf{v}_1,\mathbf{v}_2)$  and contain all necessary exogenous variables. From  $(\mathbf{v}_1,\mathbf{v}_2)$  to  $(\mathbf{z},\mathbf{s}_1,\mathbf{s}_2)$ , we can observe that as the tuple  $(\mathbf{v}_1,\mathbf{v}_2)$  comprises the entire observable set  $\mathbf{X}$ , which contains the information of all latent exogenous and endogenous variables according to the general invertibility (Assumption 3.3-ii) of the hierarchical model. Therefore, the mapping is invertible.
Conditional independence:  $\mathbf{v}_1 \perp \mathbf{v}_2|\mathbf{z}$ . As  $\mathbf{z}$  is chosen to be the parents of  $\mathbf{v}_1$  and there is no edge among the observables  $\mathbf{X}$  (i.e., leaf variables), the local Markov property implies conditional independence.
Subspace span. As  $(\mathbf{v}_1,\mathbf{v}_2)\coloneqq \mathbf{X}$  satisfies the tree conditions in Assumption 3.3-iii w.r.t.,  $\mathbf{z}\coloneqq \mathrm{Pa}(\mathbf{z})$  , the subspace span condition follows from Assumption 3.3-iii.
Edge connectivity. We assume that in the hierarchical model, the function between each latent variable  $\mathbf{z}$  and each of its pure child  $\mathbf{z}'$  has a non-degenerate Jacobian matrix in a sense that for all  $j\in \{1,\dots ,d_z\}$ , there exists  $i\in \{1,\dots ,d_{z'}\}$ , such that  $(i,j)$  is included in the Jacobian matrix's support (i.e., Assumption 3.3-iv). Therefore, since each latent variable has at least 2 pure children (i.e., Condition 2.4-i) and  $\mathbf{v}_1$  contains 1 variable, at least 1 pure child of  $\mathbf{z}$  or a descendant of a pure child of  $\mathbf{z}$  will appear in  $\mathbf{v}_2$ . Thus, for each  $j\in \{1,\dots ,d_c\}$ , there exist  $i_{v_1}$  and  $i_{v_2}$  such that both  $(i_{v_1},j)$  and  $(i_{v_2},j)$  are contained in the support of the Jacobian matrix, which fulfills the edge connectivity condition (i.e., Assumption 3.1-iii).
Thus, it follows from Theorem 3.2 that the estimated variable  $\hat{\mathbf{z}}$  is a one-to-one mapping to the true variable  $\mathbf{z}$ .
B.3 Proof for Theorem 3.5
Proof. We will show by induction that each iteration of Algorithm 1 fulfills the following conditions:
Condition B.1 (Active-set conditions).
i Each element in the active set  $\mathbf{A}$  is a one-to-one mapping of a distinct variable in  $\mathbf{Y}$ .
ii There are no directed paths among variables in  $\mathbf{A}$
iii The graph is  $d$ -separated by  $\mathbf{A}$  into latent variables  $\mathbf{Z}_{\mathbf{A}}$  that have not been included in  $\mathbf{A}$  and those  $\mathbf{Z}_{\bar{\mathbf{A}}}$  that were in  $\mathbf{A}$  (but not now):  $\mathbf{Z}_{\mathbf{A}} \perp \mathbf{Z}_{\bar{\mathbf{A}}}|\mathbf{A}$ .
We will first verify the base case where active set  $\mathbf{A}$  is assigned observable set  $\mathbf{X}$ . Condition B.1-i is automatically satisfied due to the initial assignment. As  $\mathbf{X}$  are all leaf variables, there are no directed paths within  $\mathbf{X}$ , and therefore Condition B.1-ii is satisfied. Condition B.1-iii is also met trivially, as  $\mathbf{Z}_{\bar{\mathbf{A}}} = \emptyset$  at the initial step. So far, we have verified the base case.
Now, we make the inductive hypothesis that all conditions hold before an iteration and show that these conditions are maintained after the iteration.
We first note that Condition B.1-i, Condition B.1-ii, and Condition B.1-iii in the inductive hypothesis enable us to apply Theorem 3.4 to the modified graph consisting of variables in  $\mathbf{A}$  as the bottom layer
and all latent variables that have not been placed in  $\mathbf{A}$ . This modified graph satisfies the structural properties required by Theorem 3.4:
- All paths end at active (observed) variables.
- There are no directed paths among the active variables.
We now analyze the updates to  $\mathbf{A}$  made at Step 16 in Algorithm 1 after each iteration. For a specific variable  $\mathbf{z} \in \mathbf{P}(\mathbf{A})$ , there are the following cases.
Case B.2 (One-iteration cases).
$i\mathbf{z}$  has only pure children and all of them are in A.
ii  $\mathbf{z}$  has only pure children and not all of them are in A.
iii  $\mathbf{z}$  has coparents and all its children and its co-parents' children are in  $\mathbf{A}$ .
iv  $\mathbf{z}$  has coparents and not all its children and its co-parents' children are in  $\mathbf{A}$ .
For Case B.2-i, when each pure child  $\mathbf{a}$  of  $\mathbf{z}$  is treated as  $\mathbf{v}_1$ , the basis model will yield  $\mathbf{z}$ . So, there are certainly estimates of  $\mathbf{z}$  in  $\mathbf{P}(\mathbf{a})$ . As  $\mathbf{z}$  possesses at least 2 pure children, all of which belong to  $\mathbf{A}$ , there will be duplicates, i.e., multiple equivalent one-to-one mappings of  $\mathbf{z}$ , which we merge into one at Step 6. Therefore, for each pure child  $\mathbf{a}$  of  $\mathbf{z}$ , the only element in  $\mathbf{P}(\mathbf{a})$  is a identical one-to-one mapping of  $\mathbf{z}$ . It follows that JointP contains a pair  $(\mathbf{Z},\mathbf{H})$  where  $\mathbf{Z}$  consists of  $\mathbf{z}$  alone and  $\mathbf{H}$  contains all its pure children. This fact, together with Condition B.1-iii, implies that  $\hat{\mathbf{z}}_{\mathrm{test}}$  would be the parent of  $\mathbf{z}$ , which cannot perfectly predict  $\mathbf{z}$  at Step 14. Therefore, Algorithm 1 will substitute all the pure children of  $\mathbf{z}$  with the estimate of  $\mathbf{z}$  in  $\mathbf{A}$ .
We now switch to Case B.2-ii. Analogous to the process in Case B.2-i, after Step 6 we will have  $\mathbf{P}(\mathbf{a}) = \{\mathbf{z}\}$  for each active pure child. However, as not all pure children of  $\mathbf{z}$  are active,  $\mathbf{JointP}(\{\mathbf{z}\})$  does not include all of the pure children of  $\mathbf{z}$  and  $\mathbf{A} \setminus \mathbf{H}$  certainly contains descendants of  $\mathbf{z}$ . It follows from Corollary 3.6 that  $\hat{\mathbf{z}}_{\mathrm{test}}$  will be a one-to-one mapping of  $\mathbf{z}$  and can predict it perfectly at Step 14. Therefore,  $\mathbf{z}$  will not be updated to  $\mathbf{A}$  at this iteration.
For Case B.2-i, we will show that the update takes place for  $\mathbf{z}$  and its coparents. Without loss of generality, we assume that  $\mathbf{z}$  only has one coparent  $\mathbf{z}'$ . As both  $\mathbf{z}$  has multiple pure children (i.e., Condition 2.4-i) and all of them are in  $\mathbf{A}$ , the dictionary  $\mathbf{P}$  will contain  $\mathbf{z}$  and  $\mathbf{z}'$  in their keys and  $\mathbf{P}(\mathbf{z})$  and  $\mathbf{P}(\mathbf{z}')$  contain their pure children respectively. Suppose  $\mathbf{a}$  is a shared child of  $\mathbf{z}$  and  $\mathbf{z}'$ , then  $\mathbf{P}(\mathbf{a})$  would be a singleton set containing a one-to-one mapping of  $\mathbf{z}'' := [\mathbf{z}, \mathbf{z}]$ , after Step 6. At Step 9,  $\mathbf{z}''$  will be recognized as a combination of  $\mathbf{z}$  and  $\mathbf{z}'$  and replaced with them. It follows that  $\mathbf{JointP}$  will contain a pair  $(\mathbf{Z}, \mathbf{H})$  such that  $\mathbf{Z} = (\mathbf{z}, \mathbf{z}')$  and  $\mathbf{H}$  is composed of all the children of the two coparents. At Step 16, both  $\mathbf{z}$  and  $\mathbf{z}'$  will be updated into  $\mathbf{A}$ . Cases with more than one coparents can be dealt with in the same manner.
For Case B.2-iv, we show that the update will not be carried out for  $\mathbf{z}$  and its coparents. Following the notation in Case B.2-iii, we assume that  $\mathbf{z}$  has a coparent  $\mathbf{z}'$ , and these two share at least one active child. If neither  $\mathbf{z}$  nor  $\mathbf{z}'$  has any pure active children, they will be regarded as a supernode  $\mathbf{z}'' = [\mathbf{z}, \mathbf{z}']$  and the corresponding  $\mathbf{H}$  contains only the shared active children. Then,  $\mathbf{A} \setminus \mathbf{H}$  will certainly contain descendants of both  $\mathbf{z}$  and  $\mathbf{z}'$ . Consequently,  $\hat{\mathbf{z}}_{\mathrm{test}}$  will be equivalent to the supernode  $\mathbf{z}''$  and predicts it perfectly at Step 14. In this case, neither  $\mathbf{z}$  and  $\mathbf{z}'$  will be updated into  $\mathbf{A}$ . If only one of  $\mathbf{z}$  and  $\mathbf{z}'$  has no pure children in  $\mathbf{A}$ , then neither will be updated into  $\mathbf{A}$  due to Step 9. Without loss of generality, we assume that  $\mathbf{z}'$  does not have any active pure children, whereas  $\mathbf{z}$  does. Then, there will be no estimated  $\mathbf{z}'$  in the values of  $\mathbf{P}$ , but there will be estimated  $\mathbf{z}$  and  $(\mathbf{z}, \mathbf{z}')$ . As a results, Step 9 will prevent  $\mathbf{z}$  and  $\mathbf{z}'$  from updated to  $\mathbf{A}$ . If both  $\mathbf{z}$  and  $\mathbf{z}'$  have active pure children, then there will be a pair  $(\mathbf{Z}, \mathbf{H})$  in JointP such that  $\mathbf{Z} = \{\mathbf{z}, \mathbf{z}'\}$  and  $\mathbf{H}$  contains all their active children. As  $\mathbf{H}$  does not contain all the children of  $\mathbf{z}$  and  $\mathbf{z}'$ , the  $\mathbf{A} \setminus \mathbf{H}$  will contain descendants of at least one of  $\mathbf{z}$  and  $\mathbf{z}'$ . Then  $\hat{\mathbf{z}}_{\mathrm{test}}$  will contain all information of at least one of  $\mathbf{z}$  and  $\mathbf{z}'$  and predicts it perfectly at Step 16, which aborts the update of  $\mathbf{z}$  and  $\mathbf{z}'$ . Therefore, no updates will happen in this case.
As each of the newly estimated variables in the values of JointP is a one-to-one mapping to a distinct variable in  $\mathbf{Z}$ , the iteration preserves Condition B.1-i.
Figure 7: A specific case to demonstrate how we can avoid assuming specific functional classes.