Generating Causally Compliant Counterfactual Explanations using ASP