# How Explanations are Generated

1. Determine causal dependencies from causal graph
DME uses the causal ordering algorithm to obtain a dependency graph among continuous variables. See the next page for an example. This causal graph is used to generate the possible causal influences. But it is too large.
2. Determine salient influences using heuristic
Once the influence paths on a variable are known, DME uses the same dimensions heuristic to collapse causal chains. In the current example, the chain of pressure variables are collapsed. That is why the pressures at legs (pipes) are not mentioned in the influences on the regulator. The chain starts at the helium tank.
3. Explain salient influences, factoring constants
In the current example, the pressure at the regulator is caused by the pressure at the helium tank, which is a constant. If the pressure had been a function of more than one variable, DME would distinguish the constants from variables and assign causal credit to the variable. Ask for an explanation of the pressures on the oxygen tank for an example.
4. Justify influence path
DME didn't say that the pressure at the regulator was caused by the pressure at the output of the isolation valve -- it skipped the equation that says the pressure is equal going in and out of the valve. Since the isolation valve isn't always open, this equation could change. That is why DME mentions the valve in the "because" clause. It doesn't mention the equations for the pipes because they can't change in this scenario (the model fragment library allows for leaky pipes, but the models of leaky pipes were not included in this scenario).
5. Aggregate equations
The mathematical influences on the pressure at the regulator is a set of equations. DME solves and simplifies the equations symbolically to produce the final result shown in the explanation.