Useful Counterfactuals

Counterfactual conditional sentences can be useful in artificial intelligence as they are in human affairs. In particular, they allow reasoners to learn from experiences that they did not quite have. Our tools for making inferences from counterfactuals permit inferring sentences that are not themselves counterfactual. This is what makes them useful. A simple class of useful counterfactuals involves a change of one component of a point in a space provided with a cartesian product structure. We call these cartesian counterfactuals. Cartesian counterfactuals can be modeled by assignment and contents functions as in program semantics. We also consider the more general tree-structured counterfactuals.