What are Boolean Conditions?

Transmission conditions are most effectively stated using Boolean conditions about which variables should and should not lie on the transmission channels.

Transmission channels are a subset of the paths connecting a shock to an outcome variable in the associated graph. Since a channel is a subset, there must exist a Boolean condition that, when applied to all paths, will only be true for those of the transmission channel. In other words, there must exist some logical statement about which variables should and should not be on the paths, such that the collection of all paths can effectively filtered down to only those making up the transmission channel. Because of this relationship, transmission channels are most effectively defined using Boolean conditions.

Boolean conditions and algebra, however, are not a standard tool in the economists toolbox. The above may thus sound a bit daunting, maybe even a bit intimidating, but it truly does not need to. Take, for example, the simple transmission channel having to go through \(x_1\) – note we will use the systems form throughout this article. Futher suppose that all available paths in the graph are the ones given below.

\[ \begin{array}{r} \varepsilon_1 \to x_1 \to x_2 \to x_3 \\ \varepsilon_1 \to x_1 \to x_3 \\ \varepsilon_1 \to x_2 \to x_3 \\ \varepsilon_1 \to x_3 \\ \end{array} \]

The paths corresponding to the transmission channel are then simply those paths in the first two rows. As a Boolean condition, we would have written this simply as \(b=x_1\), which denotes the same as saying that \(x_1\) must be on all paths. Note that if we were to check each path on whether it includes \(x_1\), we would obtain true, true, false, false for the four paths in the four rows respectively. Thus, the Boolean condition \(b=x_1\) indeed is only true for the paths making up the transmission channel.

What if we wanted a transmission channel that either goes through \(x_1\) or \(x_2\). In that case, the paths corresponding to the transmission channel would be those of the first three rows. Using Booleans, we would use \(\lor\) (for math) or | (for code) to denote the OR in our condition. Thus \(b=x_1 \lor x_2\) is the corresponding Boolean condition. Note that checking each path on whether it satisfies this condition would now result in true, true, true, false and thus only the paths of the transmission channel are selected.

And what if \(x_2\) should not be on any of the paths (we don’t care if \(x_1\) is on the path)? Then the paths corresponding to the transmission channel would be those in rows two and four. Using Booleans, we would use \(\neg\) (for math) or ! (for code) to denote the NOT in our condition. The Boolean condition would thus read \(b = \neg x_2\). Checking again all paths for this condition results in false, true, false, true and thus the correct paths are selected.

Lastly, what if we wanted both \(x_1\) and \(x_2\) to be on the paths? In that case only the first row would be in our transmission channel. The corresponding Boolean condition would be \(b=x_1 \land x_2\) where \(\land\) (in math) and & (in code) denotes the AND in our condition.

AND, NOT, and OR can be combined in various ways to form complex conditions and thus complex transmission channels. Moreover, parentheses can be used to make these statements even more complicated. Since these complicated statements go far beyond the scope of this little Wiki, we invite the reader to read the Appendix of Wegner et al. (2025) and the references therein.

Where can I find more information?

More information can be found in the Appendix of Wegner et al. (2025) and the references therein.

References

Wegner, Enrico, Lenard Lieb, Stephan Smeekes, and Ines Wilms. 2025. “Transmission Channel Analysis in Dynamic Models.” 2025. https://doi.org/10.48550/arxiv.2405.18987.