Currently,@ is used to represent an intervention in a counterfactual variable, such as:
Recommendation is to convert this to:
where lower case variables (by convention) represent intervention variables.
Also consider renaming InteventionVariable to Value or CounterfactualValue.
Also, to represent the value of a counterfactual variable, we currently use this notation:
Recommend this update:
So now, probabilties can be a dictionary of counterfactual variables and values:
Prob = {Y @ x : -y, Z @ d : z, D : -d}
Prob[Y@x]
This could be represented as a constructor like this:
Pr[Y(x)== y, Z(d) == z, D == -d]