SlowGuess/NeurIPS_2023_OCR huggingface dataset:
Yashas Annadani, Jonas Rothfuss, Alexandre Lacoste, Nino Scherrer, Anirudh Goyal, Yoshua Bengio, and Stefan Bauer. Variational Causal Networks: Approximate Bayesian Inference over Causal Structures. arXiv preprint, 2021.
Lazar Atanackovic, Alexander Tong, Jason Hartford, Leo J. Lee, Bo Wang, and Yoshua Bengio. DynGFN: Bayesian Dynamic Causal Discovery using Generative Flow Networks. arXiv preprint, 2023.
Peter W Battaglia, Jessica B Hamrick, Victor Bapst, Alvaro Sanchez-Gonzalez, Vinicius Zambaldi, Mateusz Malinowski, Andrea Tacchetti, David Raposo, Adam Santoro, Ryan Faulkner, et al. Relational inductive biases, deep learning, and graph networks. arXiv preprint, 2018.
Emmanuel Bengio, Moksh Jain, Maksym Korablyov, Doina Precup, and Yoshua Bengio. Flow Network based Generative Models for Non-Iterative Diverse Candidate Generation. Neural Information Processing Systems, 2021.
Yoshua Bengio, Salem Lahlou, Tristan Deleu, Edward J Hu, Mo Tiwari, and Emmanuel Bengio. GFlowNet Foundations. Journal of Machine Learning Research (JMLR), 2023.
Bertrand Charpentier, Simon Kibler, and Stephan Gunnemann. Differentiable DAG Sampling. International Conference on Learning Representations, 2022.
David Maxwell Chickering. Optimal Structure Identification With Greedy Search. Journal of Machine Learning Research, 2002.
Chris Cundy, Aditya Grover, and Stefano Ermon. BCD Nets: Scalable Variational Approaches for Bayesian Causal Discovery. Advances in Neural Information Processing Systems, 2021.
Tristan Deleu, Antonio Góis, Chris Emezue, Mansi Rankawat, Simon Lacoste-Julien, Stefan Bauer, and Yoshua Bengio. Bayesian Structure Learning with Generative Flow Networks. Uncertainty in Artificial Intelligence, 2022.
Daniel Eaton and Kevin Murphy. Bayesian structure learning using dynamic programming and MCMC. Conference on Uncertainty in Artificial Intelligence, 2007.
Paul Erdős and Alfred Rényi. On the evolution of random graphs. *Publications of the Mathematical Institute of the Hungarian Academy of Sciences*, 1960.
Martin A Fischler and Robert C Bolles. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Communications of the ACM, 1981.
Nir Friedman and Daphne Koller. Being Bayesian About Network Structure. A Bayesian Approach to Structure Discovery in Bayesian Networks. Machine Learning, 2003.
Nir Friedman, Moises Goldszmidt, and Abraham Wyner. Data Analysis with Bayesian Networks: A Bootstrap Approach. Proceedings of the Fifteenth conference on Uncertainty in Artificial Intelligence, 1999.
Nir Friedman, Michal Linial, Iftach Nachman, and Dana Pe'er. Using bayesian networks to analyze expression data. In Proceedings of the fourth annual international conference on Computational molecular biology, 2000.
Nikolay Malkin, Salem Lahlou, Tristan Deleu, Xu Ji, Edward Hu, Katie Everett, Dinghuai Zhang, and Yoshua Bengio. GFlowNets and variational inference. International Conference on Learning Representations, 2023.
Joris M Mooij, Sara Magliacane, and Tom Claassen. Joint Causal Inference from Multiple Contexts. Journal of Machine Learning Research, 2020.
Mizu Nishikawa-Toomey, Tristan Deleu, Jithendaraa Subramanian, Yoshua Bengio, and Laurent Charlin. Bayesian learning of Causal Structure and Mechanisms with GFlowNets and Variational Bayes. AAAI Workshop Graphs and More Complex Structures for Learning and Reasoning, 2023.
Ling Pan, Nikolay Malkin, Dinghuai Zhang, and Yoshua Bengio. Better training of GFlowNets with local credit and incomplete trajectories. International Conference on Machine Learning, 2023.
Karen Sachs, Omar Perez, Dana Pe'er, Douglas A Lauffenburger, and Garry P Nolan. Causal protein-signaling networks derived from multiparameter single-cell data. Science, 2005.
Muralikrishna G Sethuraman, Romain Lopez, Rahul Mohan, Faramarz Fekri, Tommaso Biancalani, and Jan-Christian Hütter. NODAGS-Flow: Nonlinear Cyclic Causal Structure Learning. International Conference on Artificial Intelligence and Statistics (AISTATS), 2023.
Peter Spirtes, Clark N Glymour, Richard Scheines, and David Heckerman. Causation, Prediction, and Search. MIT press, 2000.
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention Is All You Need. Advances in Neural Information Processing Systems, 2017.
Jussi Viinikka, Antti Hyttinen, Johan Pensar, and Mikko Koivisto. Towards Scalable Bayesian Learning of Causal DAGs. Advances in Neural Information Processing Systems, 2020.
Julius von Kugelgen, Paul K Rubenstein, Bernhard Scholkopf, and Adrian Weller. Optimal experimental design via Bayesian optimization: active causal structure learning for Gaussian process networks. *NeurIPS Workshop "Do the right thing": machine learning and causal inference for improved decision making*, 2019.
Benjie Wang, Matthew R Wicker, and Marta Kwiatkowska. Tractable Uncertainty for Structure Learning. International Conference on Machine Learning, 2022.
David Zhang, Corrado Rainone, Markus Peschl, and Roberto Bondesan. Robust Scheduling with GFlowNets. International Conference on Learning Representations, 2023.
Dinghuai Zhang, Ricky T. Q. Chen, Nikolay Malkin, and Yoshua Bengio. Unifying Generative Models with GFlowNets and Beyond. International Conference on Machine Learning - Beyond Bayes workshop, 2022.
Xun Zheng, Bryon Aragam, Pradeep Ravikumar, and Eric P. Xing. DAGs with NO TEARS: Continuous Optimization for Structure Learning. In Advances in Neural Information Processing Systems, 2018.
Heiko Zimmermann, Fredrik Lindsten, Jan-Willem van de Meent, and Christian A. Naesseth. A Variational Perspective on Generative Flow Networks. arXiv preprint, 2022.
A Positioning JSP-GFN in the Bayesian structure learning literature
We give a comparison between our method JSP-GFN, and various methods based on variational inference in Table A.1. We also include methods based on GFlowNets, namely DAG-GFlowNet (Deleu et al., 2022) and VBG (Nishikawa-Toomey et al., 2023), as they are effectively variational methods (Malkin et al., 2023; Zimmermann et al., 2022).
Table A.1: Comparison of different methods based on variational inference and GFlowNets for Bayesian structure learning. See the text for a detailed description of each category.
Joint G & θ	Non Linear	DAG Support	Discrete Obs.	Max. Parents	Sampler	Mini Batch
VCN (Annadani et al., 2021)	X	X	X	●	X	✓	X
BCD Nets (Cundy et al., 2021)	✓	X	✓	X	X	✓	X
DiBS (Lorch et al., 2021)	✓	✓	X	✓	X	X	✓
TRUST (Wang et al., 2022)	X	X	✓	●	X	●	X
VI-DP-DAG (Charpentier et al., 2022)	X	✓	✓	X	X	✓	X
AVICI (Lorch et al., 2022)	X	✓	X	●	X	✓	X
DAG-GFlowNet (Deleu et al., 2022)	X	X	✓	✓	✓	✓	X
VBG (Nishikawa-Toomey et al., 2023)	✓	●	✓	●	✓	✓	X
JSP-GFN (Ours)	✓	✓	✓	✓	✓	✓	✓
Joint  $G \& \theta$ . This category indicates whether the model can approximate the joint posterior distribution  $P(G, \theta \mid \mathcal{D})$  over both graphical structures  $G$  and parameters of the CPDs  $\theta$ , or if they are limited to approximating the marginal posterior  $P(G \mid \mathcal{D})$ . As we have seen in Section 1, approximations of the marginal posteriors limit the classes of models these methods can be applied to, namely those where the marginal likelihood can be computed analytically.
Non-Linear. This indicates whether the model can be applied to Bayesian Networks whose CPDs are parametrized by a non-linear function (e.g., a neural network). While most methods approximating the marginal distribution may be applied to non-linear CPDs parametrized by a Gaussian Process (von Kugelgen et al., 2019), we only consider here methods that explicitly handle non-linearity (e.g., this eliminates DAG-GFlowNet (Deleu et al., 2022), since the authors only considered a linear Gaussian and discrete settings). Annadani et al. (2021) mentioned the extension of VCN to non-linear causal models as future work. While VBG (Nishikawa-Toomey et al., 2023) has only been applied to linear Gaussian models, the framework may also be applicable to non-linear models.
DAG Support. This indicates whether the posterior approximation is guaranteed to have support over the space of DAGs. VCN (Annadani et al., 2021) and DiBS (Lorch et al., 2021) only encourage acyclicity via a prior term, inspired by continuous relaxations of the acyclicity constraint (Zheng et al., 2018), meaning the those methods may return graphs containing cycles; for example in practice, Deleu et al. (2022) reports that  $1.50\%$  of the graphs returned by DiBS contain cycles (for  $d = 11$ ). AVICI (Lorch et al., 2022) uses a similar prior term when applied to Structural Causal Models (SCMs), although in general this framework does not enforce acyclicity by design, to allow flexibility on other domains (e.g., for modeling gene regulatory networks; Sethuraman et al., 2023). TRUST (Wang et al., 2022) guarantees acyclicity via a distribution over variable orders, that can be learned using Sum-Product Networks.
Discrete Observations. This indicates whether the posterior approximation may be applied to Bayesian Networks with discrete random variables. Although VCN (Annadani et al., 2021) was only applied to linear Gaussian models, the authors mention that this approach is also applicable to discrete random variables. Similarly, while there is no experiment in (Lorch et al., 2021) applying DiBS to a discrete domain, this extension can be found in the official code released. AVICI (Lorch et al., 2022) assumes access to a generative model  $P(\mathcal{D} \mid G)$ , making it possibly applicable to discrete domains as
well. Since it builds on DAG-GFlowNet (Deleu et al., 2022), VBG (Nishikawa-Toomey et al., 2023) should also inherit its properties, and therefore may also be applicable to discrete random variables. Similarly, since TRUST (Wang et al., 2022) may use DiBS as its underlying routine for structure learning, it should also inherit the properties of DiBS.
Maximum Parents. This category indicates whether a maximum number of parents can be specified for each variable in the DAGs returned by each method. Although this is a very common constraint used in the structure learning literature to improve efficiency (Koller and Friedman, 2009), none of the variational methods for Bayesian structure learning allow for such a (hard) constraint. Some methods may introduce a sparsity-inducing prior (Lorch et al., 2021; Cundy et al., 2021), or use post-processing of the sampled DAGs (Charpentier et al., 2022) to reduce the number of edges in the sampled graphs. This can be naturally added in a GFlowNet, by masking out the actions adding certain edges that would violate this constraint; in fact, in the official code released for both DAG-GFlowNet (Deleu et al., 2022) and VBG (Nishikawa-Toomey et al., 2023) (both using the same environment), this option is available.
Sampler. This category indicates whether one can sample graphs and parameters from the model once fully trained. DiBS (Lorch et al., 2021) uses a particle-based approach (Liu and Wang, 2016) to approximate the posterior (marginal, or joint), and therefore the number of particles is fixed ahead of time; once fully trained, it is impossible to sample new pairs of graphs and parameters from this model. TRUST (Wang et al., 2022) can also use Gadget (an MCMC approach to Bayesian structure learning; Viinikka et al., 2020) as its routine for structure learning, and therefore this would allow sampling from the trained model.
Mini-Batch. This indicates whether the model can be updated with mini-batch of observations from  $\mathcal{D}$ , or if the full dataset must be used. DiBS (Lorch et al., 2021) uses mini-batch updates for their experiments on protein signaling networks, where the number of datapoints  $N = 7466$  is large. Note that unlike JSP-GFN here, neither DAG-GFlowNet (Deleu et al., 2022) nor VBG (Nishikawa-Toomey et al., 2023) may be updated using mini-batches, since the maginalization over  $\theta$  makes all observations in  $\mathcal{D}$  mutually dependent (conditioned on  $G$ ). See Appendix C.3.4 for details on how to use mini-batch training with JSP-GFN.
B Broader impact & limitations
B.1 Broader impact
While structure learning of Bayesian Networks constitutes one of the foundations of causal discovery (also known as causal structure learning), it is important to emphasize that shy of any assumptions, the relationships learned from observations in a Bayesian Network are in general not causal, but merely statistical associations. As such, care must be taken interpreting the graphs sampled with JSP-GFN (or any other Bayesian structure learning method considered in this paper) as being causal. This is especially true when applying structure learning methods to the problem of scientific discovery (Jain et al., 2023). Assumptions that would allow causal interpretation of the graphs include using interventional data (as in Section 5.3), or parametric assumptions.
Although the graphs returned by JSP-GFN are not guaranteed to be causal, treating structure learning from a Bayesian perspective allows us to view identification of the causal relationships in a softer way. Indeed, instead of returning a single graph which could be harmful from a causal perspective (notably due to the lack of data, see also Section 1), having a posterior distribution over Bayesian Networks allows us to average out any possible model that can explain the data.
B.2 Limitations
Expressivity of the posterior approximation. Throughout this paper, we use Normal distributions (with a diagonal covariance, except for JSP-GFN (full) in Section 5.1) to parametrize the approximation of the posterior over parameters  $P_{\phi}(\theta \mid G, \mathrm{stop})$  (see Section 3.4). This limits its expressivity to unimodal distributions only, and is an assumption which is commonly used with Bayesian neural networks. However in general, the posterior distribution  $P(\theta \mid G, \mathcal{D})$  may be highly multimodal, especially when the model is non-linear (the posterior is Normal when the model is linear Gaussian,
(a) Detailed Balance
(b) Trajectory Balance
(c) Subtrajectory Balance
(d) Generalized Subtrajectory Balance
Figure C.1: Illustration of the different GFlowNet objectives. (a) The detailed balance condition operates at the level of transitions  $s \to s'$ , whereas (b) the trajectory balance condition operates on complete trajectories  $s_0 \rightsquigarrow s_f$ . (c) The subtrajectory balance condition operates on partial trajectories  $s_m \rightsquigarrow s_n$ , and can be (d) generalized to undirected paths with a common ancestor  $s_k$ . We use  $P_F(s_m \rightsquigarrow s_n)$  to denote the product of  $P_F$  along the path  $s_m \rightsquigarrow s_n$  (and similarly for  $P_B$ ).
see Appendix D.5.1). To see this, consider a non-linear model whose CPDs are parametrized by a 2-layer MLP (as in Sections 5.2 and 5.3). The weights and biases of both layers can be transformed in such a way that the hidden units get permuted, while preserving the outputs; in other words, there are many sets of parameters  $\theta$  leading to the same likelihood function, and under mild assumptions on the priors  $P(\theta \mid G)$  and  $P(G)$ , they would have the same posterior probability  $P(\theta \mid G, \mathcal{D})$ .
To address this issue of unimodality, we can use more expressive posterior approximations  $P_{\phi}(\theta \mid G, \text{stop})$ , such as ones parametrized with diffusion-based models, or with normalizing flows; both of these models are drop-in replacements in JSP-GFN, since their likelihood can be explicitly computed. An alternative is also to consider multiple steps of a continuous GFlowNet (Lahlou et al., 2023), instead of a single one, to generate  $\theta$ .
Biological plausibility of the acyclicity assumption. One of the strengths of JSP-GFN, and DAG-FlowNet before it (Deleu et al., 2022), is the capacity to obtain a distribution over the DAG structure of a Bayesian Network (and its parameters). The acyclicity assumption is particularly important in order to properly define the likelihood model in (1). However in some domains, such as biological systems, there may exist some feedback processes that cannot be captured by acyclic graphs (Mooij et al., 2020). In particular, the DAGs found in Section 5.3 and Appendix D.4 must be carefully interpreted. As a general framework though, the GFlowNet used in JSP-GFN can be adapted to ignore the acyclic nature of the graphs sampled by ignoring parts of the mask  $m$  in Sec. 3.4. Alternatively, we can view the generation of a cyclic graph by unrolling it, as in Atanackovic et al. (2023).
C Details about Generative Flow Networks
Throughout this section, we will use both  $P_F$  and  $P_{\phi}$  (to emphasize the parametrization on  $\phi$ , as in the main text) to denote equally the forward transition probability—the notation  $P_F$  being more commonly used in the literature on GFlowNet (Bengio et al., 2023).
C.1 Alternative conditions
GFlowNets were initially introduced using the flow-matching conditions (Bengio et al., 2021), as described in Section 2.2. However, there have been multiple alternative conditions that, once satisfied, also offer the same guarantees as the original flow-matching conditions (namely, a GFlowNet satisfying any of those conditions would sample complete states proportionally to the reward).
One of those alternative conditions are the detailed balance conditions (Bengio et al., 2023), inspired by the literature on Markov chains. These conditions are given for any transition  $s \to s'$  in the GFlowNet as
$$
F (s) P _ {F} \left(s ^ {\prime} \mid s\right) = F \left(s ^ {\prime}\right) P _ {B} \left(s \mid s ^ {\prime}\right) \tag {C.1}
$$
where  $F(s)$  is a flow function, that may also be parametrized by a neural network. The detailed balance condition is illustrated in Figure C.1 (a). Bengio et al. (2023) showed that if the detailed balance conditions are satisfied for all the transitions  $s \rightarrow s'$  in the GFlowNet, then the distribution induced by the GFlowNet is also proportional to  $R(s)$ . Deleu et al. (2022) adapted the detailed balance conditions in the case where all the states of the GFlowNet are complete, in order to avoid having to learn a separate flow function (see Section 2.3).
Another alternative condition called the detailed balance conditions (Malkin et al., 2022), operates not at the level of transitions, but at the level of complete trajectories. For a complete trajectory  $\tau = (s_0,s_1,\dots ,s_T,s_f)$ , the trajectory balance condition is given by
$$
Z \prod_ {t = 1} ^ {T} P _ {F} \left(s _ {t + 1} \mid s _ {t}\right) = R \left(s _ {T}\right) \prod_ {t = 1} ^ {T - 1} P _ {B} \left(s _ {t} \mid s _ {t + 1}\right), \tag {C.2}
$$
with the convention  $s_{T + 1} = s_f$ , and where  $Z$  is the partition function of the distribution (i.e.,  $Z = \sum_{x\in \mathcal{X}}R(x)$ ); in practice,  $Z$  is a parameter of the model that is being learned alongside the forward and backward transition probabilities. The trajectory balance condition is illustrated in Figure C.1 (b). Again, if the trajectory balance conditions are satisfied for all complete trajectories in the GFlowNet, then the induced distribution is proportional to  $R(s)$ .
C.2 Subtrajectory balance conditions
Also introduced in (Malkin et al., 2022), the subtrajectory balance conditions are a generalization of both the detailed balance and trajectory balance conditions to partial trajectories of arbitrary length. For a partial trajectory  $\tau = (s_m, s_{m+1}, \ldots, s_n)$ , the subtrajectory balance condition is given by
$$
F \left(s _ {m}\right) \prod_ {t = m} ^ {n - 1} P _ {F} \left(s _ {t + 1} \mid s _ {t}\right) = F \left(s _ {n}\right) \prod_ {t = m} ^ {n - 1} P _ {B} \left(s _ {t} \mid s _ {t + 1}\right), \tag {C.3}
$$
where again  $F(s)$  is a flow function (as in (C.1)). This condition encompasses both conditions in Appendix C.1, since we can recover the detailed balance condition in (C.1) with partial trajectories of length 1 (i.e., transitions), and also the trajectory balance condition in (C.2) with complete trajectories (note that  $F(s_0) = Z$ ; Bengio et al., 2023). The subtrajectory balance condition is illustrated in Figure C.1 (c). Madan et al. (2022) also proposed to combine subtrajectory balance conditions for partial trajectories of different lengths to create a novel objective called SubTB( $\lambda$ ), inspired by TD( $\lambda$ ) in the reinforcement learning literature.
This subtrajectory balance condition in (C.3) can also be generalized to undirected paths going "back and forth" (Malkin et al., 2022). For an undirected path between  $s_m$  and  $s_n$ , this (generalized) subtrajectory balance condition can be written as
$$
F \left(s _ {m}\right) \prod_ {t = k} ^ {m - 1} P _ {B} \left(s _ {t} \mid s _ {t + 1}\right) \prod_ {t = k} ^ {n - 1} P _ {F} \left(s _ {t + 1} \mid s _ {t}\right) = F \left(s _ {n}\right) \prod_ {t = k} ^ {n - 1} P _ {B} \left(s _ {t} \mid s _ {t + 1}\right) \prod_ {t = k} ^ {m - 1} P _ {F} \left(s _ {t + 1} \mid s _ {t}\right), \tag {C.4}
$$
where  $s_k$  is a common ancestor of both  $s_m$  and  $s_n$ . This condition is illustrated in Figure C.1 (d). While these subtrajectory balance conditions (generalized or not) offer more flexibility, they are guaranteed to yield a GFlowNet inducing a distribution proportional to  $R(s)$  only if these conditions are satisfied for all the partial trajectories of any length. In particular, they provide no guarantee in general if those conditions are satisfied for all partial trajectories of fixed length, which is the case in this paper (see Section 3.2). Although this result may be extended with weaker assumptions, we prove in Appendix C.3.3 that the GFlowNet does induce a distribution  $\propto R(s)$  in our case.
C.3 Proofs
C.3.1 Subtrajectory balance conditions for undirected paths of length 3
Consider an undirected path of length 3 of the form  $(G,\theta)\gets (G,\cdot)\to (G^{\prime},\cdot)\to (G^{\prime},\theta^{\prime})$  , where  $G^{\prime}$  is the result of adding a new edge to the DAG  $G$  (see Figure C.2). Since the state  $(G,\cdot)$  is a common ancestor of both complete states  $(G,\theta)$  and  $(G^{\prime},\theta^{\prime})$  , we can write the subtrajectory balance conditions (C.4) as
$$
F (G, \theta) P _ {B} (G \mid \theta) P _ {F} \left(G ^ {\prime} \mid G\right) P _ {F} \left(\theta^ {\prime} \mid G ^ {\prime}\right) = F \left(G ^ {\prime}, \theta^ {\prime}\right) P _ {B} \left(G ^ {\prime} \mid \theta^ {\prime}\right) P _ {B} \left(G \mid G ^ {\prime}\right) P _ {F} (\theta \mid G), \tag {C.5}
$$
where we abuse the notation  $P_B(G \mid \theta)$  again to denote  $P_B\big((G, \cdot) \mid (G, \theta)\big)$ . In fact, since the complete state  $(G, \theta) \in \mathcal{X}$  has only a single parent state  $(G, \cdot)$ , we necessarily have  $P_B(G \mid \theta) = 1$  (and similarly for  $(G', \theta')$ ). Furthermore, we can use the observation from (Deleu et al., 2022) to write the flow  $F(G, \theta)$  of a complete state  $(G, \theta)$  as a function of its reward
$$
F (G, \theta) = \frac {R (G , \theta)}{P _ {F} \left(s _ {f} \mid (G , \theta)\right)}. \tag {C.6}
$$
Figure C.2: Illustration of the undirected paths of length 3 (red) and of length 2 (blue) considered in this paper, and their corresponding subtrajectory balance conditions.
- Undirected paths of length 3
$$
R \left(G ^ {\prime}, \theta^ {\prime}\right) P _ {B} (G \mid G ^ {\prime}) P _ {\phi} (\theta \mid G) = R (G, \theta) P _ {\phi} \left(G ^ {\prime} \mid G\right) P _ {\phi} \left(\theta^ {\prime} \mid G ^ {\prime}\right)
$$
- Undirected paths of length 2 (differential form)
$$
\nabla_ {\theta} \log P _ {\phi} (\theta \mid G) = \nabla_ {\theta} \log R (G, \theta)
$$
We can simplify (C.6) even further by observing that in the GFlowNet used here,  $s_f$  is the only child of the complete state  $(G, \theta) \in \mathcal{X}$ . In other words, a complete state  $(G, \theta)$  is not directly connected to any other  $(G, \tilde{\theta})$ ; this is the (infinitely wide) tree structure rooted at  $(G, \cdot)$  mentioned in Section 3.1. Since  $s_f$  is the only child of  $(G, \theta)$ , we then necessarily have  $P_F(s_f \mid (G, \theta)) = 1$ , and therefore  $F(G, \theta) = R(G, \theta)$ . With these simplifications, (C.5) becomes