Abstract

AbstractWe present an extension of Logic Programming (under stable models semantics) that, not only allows concluding whether a true atom is a cause of another atom, but alsoderiving new conclusionsfrom these causal-effect relations. This is expressive enough to capture informal rules like “if some agent's actionshave beennecessaryto cause an eventEthen conclude atomcaused(,E),” something that, to the best of our knowledge, had not been formalised in the literature. To this aim, we start from a first attempt that proposed extending the syntax of logic programs with so-calledcausal literals. These causal literals are expressions that can be used in rule bodies and allow inspecting the derivation of some atomAin the program with respect to some query function ψ. Depending on how these query functions are defined, we can model different types of causal relations such as sufficient, necessary or contributory causes, for instance. The initial approach was specifically focused on monotonic query functions. This was enough to cover sufficient cause-effect relations but, unfortunately, necessary and contributory are essentiallynon-monotonic. In this work, we define a semantics for non-monotonic causal literals showing that, not only extends the stable model semantics for normal logic programs, but also preserves many of its usual desirable properties for the extended syntax. Using this new semantics, we provide precise definitions ofnecessaryandcontributorycausal relations and briefly explain their behaviour on a pair of typical examples from the Knowledge Representation literature.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call