## 2 Materials and Methods
### Example Network  
Let us briefly recapitulate a classical example from the artificial intelligence domain applied to diagnostic reasoning. This example is based on analysis of the behavior of a multiplier-adder circuit; it was presented and analyzed in a seminal paper by [PERSON] [25]. It has also been widely explored in a number of AI diagnostic readings, analyses, and investigations, such as [26], as well as some of the second author's papers, including [27; 28; 29]. Here, we focus on its causal structure and functional components. The system has 5 numerical inputs, namely A, B, C, D, and E, and two numerical outputs, namely F and G. As the very first approach, it can be modeled as a single black box of 5 inputs and 2 outputs, perhaps equipped with an input-output data table of arbitrary length specifying its behavior. However, such an approach would not be useful in understanding how the system works and how the output is produced. A better and deeper model of the system can be specified with a Directed Acyclic Graph (DAG), as shown in Figure 1.  
The system has five input variables, namely A, B, C, D, and E. They influence further intermediate variables, namely X, Y, and Z (the internal variables). Finally, these variables shape the output variables, namely F and G.  
A more detailed model of the system is composed of two functional layers. The first one contains three multipliers, namely \(m1\), \(m2\), and \(m3\), receiving the input signals, namely A, B, C, D, and E. The second layer is composed of two adders, namely \(a1\) and \(a2\), producing the output values of F and G. Only inputs (of the first layer) and outputs (of the second layer) of the system are directly observable. The intermediate variables, namely X, Y, and Z, are hidden and normally cannot be observed. A schema of the circuit, presenting its inputs, intermediate variables, outputs, components, and connections, is presented in Figure 2.  
This kind of model, containing functional blocks as components, as well as specification of intermediate variables and component connections, is the intuitive model we aim to use for almost any kind of explanatory reasoning. Such a model can be used for output prediction, abductive reasoning for finding possible inputs and generating the observed  
Figure 1: An example of a logical causal graph, namely a multiplier–adder system; a variable observed to misbehave is marked with an asterisk symbol (\(F^{*}\)). Figure 2: An example of a simple network of components, namely the multiplier–adder case. output, and even for complex diagnostic reasoning [25; 27]. Such a case is considered below. The aim is to show the potential of using such models. Under normal conditions, the presented model allows for full explanation of the behavior of the system so that the simulation or prediction task can be performed and explained. This is enough to consider the current input values and propagate them forwards in a systematic way so that the values of the output are received. In our case, we have A = 3, B = 2, C = 2, D = 3, and E = 3; if all the components are working correctly, the predicted output values should be F = 12 and G = 12. But having such a detailed model, one can perform much more advanced diagnostic reasoning. Since F = 10, we can conclude that the system is faulty. In model-based diagnosis, it is typically assumed that faulty behavior is caused by a fault of a named component or a simultaneous fault of a set of such components; no faults caused by faulty links, parameter settings, or the internal structure are considered. A simple analysis of the scheme presented in Figure 2 leads to the conclusion that one of the components producing the output at F (\(m1\), \(m2\), or \(a1\)) must be faulty. In fact, \(C_{1}=\{m1,m2,a1\}\) forms the so-called conflict set [25], i.e., a subset of system components such that at least one of them is sure to be faulty. Also note that only \(m1\) and \(a1\) being faulty can be considered a justified explanation for the observed fault.