causal reasoning